Examen 4 intensivo micro

4

Click here to load reader

Transcript of Examen 4 intensivo micro

Page 1: Examen 4 intensivo micro

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

Page 2: Examen 4 intensivo micro

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)

Page 3: Examen 4 intensivo micro

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

Page 4: Examen 4 intensivo micro

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