__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
CBLOCK 0x00C
ENDC
ORG 0
Inicio
bsf STATUS, RP0
clrf TRISB
movlw b'00011111'
movwf TRISA
bcf STATUS,RP0
Principal
bcf PORTB,1
btfss PORTA,0
goto Tiempo
goto Principal
Tiempo
bsf PORTB,1
call Retardo_20s
call Retardo_20s
call Retardo_20s
bcf PORTB,1
goto Espera
Espera:
btfss PORTA,0
goto Principal
goto Espera
INCLUDE <RETARDOS.INC>
END
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
CBLOCK 0x0C
ENDC
#DEFINE EntradaRB7 PORTB,7
#DEFINE EntradaRB6 PORTB,6
#DEFINE SalidaRelay PORTB,2
ORG 0
goto Inicio
ORG 4
goto ServicioInterrupcion
Inicio
bsf STATUS,RP0
bsf EntradaRB7
bsf EntradaRB6
bcf SalidaRelay
bcf OPTION_REG,NOT_RBPU
bcf STATUS,RP0
movlw b'10001000'
movwf INTCON
Principal
sleep
goto Principal
ServicioInterrupcion
call Retardo_20ms
btfss EntradaRB7
call ActivaRelay
btfss EntradaRB6
call DesactivaRelay
EsperaDejePulsar
bcf INTCON,RBIF
retfie
ActivaRelay
bsf SalidaRelay
call Retardo_20s
bcf SalidaRelay
return
DesactivaRelay
bcf SalidaRelay
return
INCLUDE <RETARDOS.INC>
END