buenas soy totalmente nuevo en este foro y en el tema de los microcontroladores soy programador pero siempre quise incurcionar en este tema, despues de haber leido material y visto algunos videotutoriales me puse a programar un pequeñisimo proyecto para practicar, la cuestion es que quiero ensender un led por el rb1 a trabez de un pulsador desde el rb0 osea presiono una vez el pulsador y el led tendria que ensenderse, lo suelto y lo vulvo a presionar y tendria que apagarse. pero la cuestion es que lo simulo con el proteus cuando presiono el pulsador el led se enciendo pero cuando lo vuelvo a presionar no se apaga, a continuación le paso el codigo, estoy seguro de que debe haber una forma mas facil de hacer esto pero me gustaria saber en que estoy fallando en este codigo. agradeceria cualquier ayuda.
LIST p=16F84A
#include<p16f84a.inc>
RADIX HEX
ORG 0
GOTO INICIO
ORG 5
INICIO BSF STATUS, RP0
MOVLW B'00000001'
MOVWF TRISB
BCF STATUS, RP0
CLRF PORTB
ANTPULSADOR BTFSS PORTB, 0 ; COMPRUEBA SI EL BOTON SE PRESIONO
GOTO LED_ON_OFF ; SI SE PRESIONO SE VA A LED_ON_OFF
GOTO ANTPULSADOR ; SI NO VUELVE A ANTPULSADOR
LED_ON_OFF BTFSS PORTB, 1 ; COMPRUEVA SI EL LED YA ESTA PRENDIDO
GOTO LED_ON ; SI ESTA APAGADO SE VA A LED_ON
GOTO LED_OFF ; SI ESTA PRENDIDO SE VA A LED_OFF
LED_OFF BCF PORTB, 1 ; APAGA EL LED
GOTO CONTINUAR ; VA A CONTINUAR
LED_ON BSF PORTB, 1 ; ENCIENDE EL LED
GOTO CONTINUAR ; VA A CONTINUAR
CONTINUAR BTFSS PORTB, 0 ; COMPRUEVA SI EL BOTON SIGUE APRETADO
GOTO CONTINUAR ; VUELVEA A CONTINUAR HASTA QUE EL BOTON SE SUELTE
GOTO ANTPULSADOR ; SI EL BOTON SE SOLTO EMPIEZA TODO DE VUELTA.
END