DIAGRAMAS DE FLUJO DEL 4TO EXAMEN
INICIO
ConfigurarPuerto A y B
Limpiar Registros en generaly Puerto B
ConfigurarINTCON y OPTION_REG
Declarar Registros detrabajo
RET90MIN
RSI
Salvar entorno
¿SALIRPARADA=0?
SI
NO
DeshabilitarInterrupciones
¿INTF=1?
SI
NOSALIR
Restaurar entorno
SALIR
HabilitarInterrupciones
INTF=0
retfie
M1=OFFM2=OFFM3=OFFM4=OFF
M1=ONM2=ON
M3=OFFM4=OFF
RET90MIN
M1=OFFM2=OFFM3=ONM4=ON
LIST P=16F84AINCLUDE P16F84A.INC
WTEMP EQU 20HSTATEMP EQU 21HPORTBTEMP EQU 22HCONTADOR EQU 23HCONTASEG EQU 24H
ORG 00HGOTO INICIOORG 04HGOTO RSI
;****************************************;***RUTINA DE SERVICIO DE INTERRUPCION***;****************************************RSI BCF INTCON,7
DELAY1S
Borramos elSeñalizador TOIF
¿TOIF=1?
SI
NO
return
Cargamos valor calculadoen el TIMER0
TOIF=0
¿REGAUX=200?
REGAUX=0
SI
NO
REGAUX=REGAUX+1Para este ejemplo, la
duración del desborde delTMR0 fue de 5 ms, con 256
en el predivisor para uncristal HS (20 MHz)
BTFSS INTCON,1 ;INTF=1?GOTO SALIRMOVWF WTEMP ;SALVAR ENTORNOMOVF STATUS,0MOVWF STATEMPMOVF PORTB,0MOVWF PORTBTEMPBCF PORTB,1 ;TODOS LOS MOTORES APAGADOSBCF PORTB,2BCF PORTB,3BCF PORTB,4
SALPAR BTFSC PORTA,0 ;¿SE PULSÓ SALIR DE PARADA?GOTO SALPARMOVF STATEMP,0 ;RESTAURAMOS EL ENTORNOMOVWF STATUSMOVF PORTBTEMP,0MOVWF PORTBMOVF WTEMP,0BCF INTCON,1
SALIR BSF INTCON,7RETFIE
;************************;***PROGRAMA PRINCIPAL***;************************INICIO BSF STATUS,5
BSF TRISA,0MOVLW 01HMOVWF TRISBMOVLW B'11000111'MOVWF OPTION_REGMOVLW B'10010000'MOVWF INTCONBCF STATUS,5CLRF PORTB ;TODOS MOTORES APAGADOS
EMPEZAR BSF PORTB,1 ;M1=ONBSF PORTB,2 ;M2=ONBCF PORTB,3 ;M1=OFFBCF PORTB,4 ;M2=OFFCALL DEMORABCF PORTB,1 ;M1=OFFBCF PORTB,2 ;M2=OFFBSF PORTB,3 ;M1=ONBSF PORTB,4 ;M2=ONCALL DEMORAGOTO EMPEZAR
;ESTA RUTINA FUE CAMBIADA A UNA DE 20 SEGUNDOS PARA LA SIMULACIÓNDEMORA CLRF CONTADOR
CLRF CONTASEG
CICLO MOVLW .61MOVWF TMR0BCF INTCON,2 ;Borramos el señalizador
ESPERA BTFSS INTCON,2 ;Se desbordó el TMR0?GOTO ESPERAMOVLW .100SUBWF CONTADOR,0BTFSS STATUS,2 ;CONTADOR=100?GOTO SUBEMOVLW .20 ;SE SIMULÓ CON 20 SEGUNDOS PARA NO ESPERAR TANTOSUBWF CONTASEG,0BTFSC STATUS,2 ;HAN PASADO 90 SEGUNDOS?RETURNINCF CONTASEG,1CLRF CONTADORGOTO CICLO
SUBE INCF CONTADOR,1GOTO CICLOEND
Top Related