LIST p=16F877A
INCLUDE <P16F877A.INC> ;Librería del PIC16F877A
ORG 0
BSF STATUS,RP0
MOVLW B'00000001'
MOVWF TRISB
BCF STATUS,RP0
CLRF PORTB
INICIO
BTFSS PORTB,0
GOTO INICIO
BSF PORTB,1
BSF PORTB,2
GOTO APAGAR
APAGAR
BTFSC PORTB,0
GOTO APAGAR
MOVLW B'00000000'
MOVWF PORTB
GOTO INICIO
ENDLIST p=16F877A
INCLUDE <P16F877A.INC> ;Librería del PIC16F877A
ORG 0x00
CONT EQU 0x20
CONT2 EQU 0x21
BSF STATUS,RP0
MOVLW B'00000001'
MOVWF TRISB
BCF STATUS,RP0
CLRF PORTB
INICIO
BTFSS PORTB,0
GOTO INICIO
BSF PORTB,1
BSF PORTB,2
CALL DELAY_50MS ; 50ms
LOOP1:
BTFSC PORTB,0 ;Espero que suelte
GOTO LOOP1
APAGAR
BTFSC PORTB,0
GOTO APAGAR
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY_50MS ; 50ms
LOOP22:
BTFSC PORTB,0 ;Espero que suelte
GOTO LOOP2
GOTO INICIO
DELAY_1MS
MOVLW .250
MOVWF CONT
LOOP
NOP
DECFSZ CONT,F
GOTO LOOP
RETURN
DELAY_50MS
MOVLW .50
MOVWF CONT2
LOOP2
CALL DELAY_1MS
DECFSZ CONT2
GOTO LOOP2
RETURN
END