Examen 4 intensivo micro

1,819 views
1,755 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,819
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
153
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Examen 4 intensivo micro

  1. 1. DIAGRAMAS DE FLUJO DEL 4TO EXAMEN INICIO RSI Declarar Registros de Deshabilitar trabajo Interrupciones Configurar Salvar entorno INTCON y OPTION_REG Configurar NO Puerto A y B ¿INTF=1? SALIR SI Limpiar Registros en general y Puerto B M1=OFF M2=OFF M3=OFF M4=OFF M1=ON M2=ON M3=OFF M4=OFF NO ¿SALIRPARADA =0? RET90MIN SI Restaurar entorno M1=OFF M2=OFF M3=ON INTF=0 M4=ON SALIR Habilitar RET90MIN Interrupciones retfie
  2. 2. DELAY1S REGAUX=0 Cargamos valor calculado en el TIMER0 Borramos el Señalizador TOIF NO ¿TOIF=1? REGAUX=REGAUX+1 SI Para este ejemplo, la TOIF=0 duración del desborde del TMR0 fue de 5 ms, con 256 en el predivisor para un cristal HS (20 MHz) NO ¿REGAUX= 200? SI return LIST P=16F84A INCLUDE P16F84A.INC WTEMP EQU 20H STATEMP EQU 21H PORTBTEMP EQU 22H CONTADOR EQU 23H CONTASEG EQU 24H ORG 00H GOTO INICIO ORG 04H GOTO RSI ;**************************************** ;***RUTINA DE SERVICIO DE INTERRUPCION*** ;**************************************** RSI BCF INTCON,7
  3. 3. BTFSS INTCON,1 ;INTF=1? GOTO SALIR MOVWF WTEMP ;SALVAR ENTORNO MOVF STATUS,0 MOVWF STATEMP MOVF PORTB,0 MOVWF PORTBTEMP BCF PORTB,1 ;TODOS LOS MOTORES APAGADOS BCF PORTB,2 BCF PORTB,3 BCF PORTB,4 SALPAR BTFSC PORTA,0 ;¿SE PULSÓ SALIR DE PARADA? GOTO SALPAR MOVF STATEMP,0 ;RESTAURAMOS EL ENTORNO MOVWF STATUS MOVF PORTBTEMP,0 MOVWF PORTB MOVF WTEMP,0 BCF INTCON,1 SALIR BSF INTCON,7 RETFIE ;************************ ;***PROGRAMA PRINCIPAL*** ;************************ INICIO BSF STATUS,5 BSF TRISA,0 MOVLW 01H MOVWF TRISB MOVLW B'11000111' MOVWF OPTION_REG MOVLW B'10010000' MOVWF INTCON BCF STATUS,5 CLRF PORTB ;TODOS MOTORES APAGADOS EMPEZAR BSF PORTB,1 ;M1=ON BSF PORTB,2 ;M2=ON BCF PORTB,3 ;M1=OFF BCF PORTB,4 ;M2=OFF CALL DEMORA BCF PORTB,1 ;M1=OFF BCF PORTB,2 ;M2=OFF BSF PORTB,3 ;M1=ON BSF PORTB,4 ;M2=ON CALL DEMORA GOTO EMPEZAR ;ESTA RUTINA FUE CAMBIADA A UNA DE 20 SEGUNDOS PARA LA SIMULACIÓN DEMORA CLRF CONTADOR CLRF CONTASEG
  4. 4. CICLO MOVLW .61 MOVWF TMR0 BCF INTCON,2 ;Borramos el señalizador ESPERA BTFSS INTCON,2 ;Se desbordó el TMR0? GOTO ESPERA MOVLW .100 SUBWF CONTADOR,0 BTFSS STATUS,2 ;CONTADOR=100? GOTO SUBE MOVLW .20 ;SE SIMULÓ CON 20 SEGUNDOS PARA NO ESPERAR TANTO SUBWF CONTASEG,0 BTFSC STATUS,2 ;HAN PASADO 90 SEGUNDOS? RETURN INCF CONTASEG,1 CLRF CONTADOR GOTO CICLO SUBE INCF CONTADOR,1 GOTO CICLO END

×