Re: El programa que he pensado es este:
ORG 0
Inicio bsf STATUS,RP0
clrf TRISB
movlw b"00011111"
movf TRISA
bcf STATUS,RP0
Principal movf PORTA,W
xorwf PORTB,W
btfsc W,0
goto salida1
goto salida0
salida1 movlw b"00000001"
call retardo_2seg
movwf PORTB
goto Principal
salida0 movlw b"00000000"
movf PORTB
goto Principal
INCLUDE <RETARDOS.INC>
END