Gente, consulta estoy desarrolando una alarma, algo simple con un 16F84a, la cosa es la siguiente, uso el proteus 6 para simular el circuito, todo bien, le doy al primer pulsador (que es de armar/desarmar alarma), y el led 1 parpada en estado de armada, despues, preciono el pulsador 2, que simula el pulsador de cualquier puerta del auto, y perfecto preden, ahora bien mi problema radica en desarmarla, por que le doy al primer pulsador y se desarma, pero no se vuelta a armar otra ves que puede ser? aca les dejo el ASM que estoy asiendo...
LIST p=16f84A
port_a equ 0x05
port_b equ 0x06
trisb equ 0x06
trisa equ 0x05
estado equ 0x03
banco equ 5
retar equ 0x11
org 0
BSF estado,banco
MOVLW B'11111'
MOVWF trisa
MOVLW B'00000000'
MOVWF trisb
BCF estado,banco
goto inicio
inicio clrw
clrf port_a
clrf port_b
btfsc port_a,0
call armar
goto inicio
armar clrw
movwf port_b
btfsc port_a,0
call desarmar
btfsc port_a,1
call sonar
movlw b'10000000'
movwf port_b
goto armar
desarmar movlw b'000000000'
movwf port_b
clrf port_a
clrw
goto incio
sonar movlw b'01000000'
movwf port_b
btfsc port_a,0
call desarmar
clrw
movwf port_b
goto sonar
end
Muchas gracias a todos por la ayuda!!!
LIST p=16f84A
port_a equ 0x05
port_b equ 0x06
trisb equ 0x06
trisa equ 0x05
estado equ 0x03
banco equ 5
retar equ 0x11
org 0
BSF estado,banco
MOVLW B'11111'
MOVWF trisa
MOVLW B'00000000'
MOVWF trisb
BCF estado,banco
goto inicio
inicio clrw
clrf port_a
clrf port_b
btfsc port_a,0
call armar
goto inicio
armar clrw
movwf port_b
btfsc port_a,0
call desarmar
btfsc port_a,1
call sonar
movlw b'10000000'
movwf port_b
goto armar
desarmar movlw b'000000000'
movwf port_b
clrf port_a
clrw
goto incio
sonar movlw b'01000000'
movwf port_b
btfsc port_a,0
call desarmar
clrw
movwf port_b
goto sonar
end
Muchas gracias a todos por la ayuda!!!