Hola amigos, solo deseo saber si alguien puede ayudarme con un pequeño proyecto, tengo un panel de alarma conectado para que envie datos de actividad, es simple, pero deseo controlar la activación y desactivación del panel via remota, osea como es solo para proyecto, solo deseo enviarle un dato y que el panel se desactive y permanezca asi hasta que lo vuelva a activar, tengo una idea que la he practicado pero no me funciona ya que le envio un pulso y se vuelve a activar...pls help
;------------------------------------------------
; ESTADO ALARMA
;------------------------------------------------
ACTIV_DESAC
bsf STATUS,RP0 ; Banco-1
movlw .25
movwf SPBRG ; Vtx = 9600bps
movlw B'00100100'
movwf TXSTA ; Tx = 8 bits / TX-ON / BRGH=1
bcf STATUS,RP0 ; Banco-0
bsf RCSTA,SPEN ; SPEN=1
btfsc PORTD,0 ; compruebo si RD0 está activado
goto DESACTIVA ; salto incondicional a la etiqueta “DESACTIVA”
btfss PORTA,1 ; compruebo si RD0 esta desactivado
goto ACTIVA
;-------------------------------------------------
ACTIVA
movlw 'A'
call TX_DATO
movlw 'C'
call TX_DATO
movlw 'T'
call TX_DATO
movlw 'I'
call TX_DATO
movlw 'V'
call TX_DATO
movlw 'A'
call TX_DATO
movlw 'D'
call TX_DATO
movlw 'A'
call TX_DATO
return
;-------------------------------------------------
DESACTIVA
movlw 'A'
call TX_DATO
movlw 'L'
call TX_DATO
movlw 'R'
call TX_DATO
movlw 'M'
call TX_DATO
movlw '-'
call TX_DATO
movlw 'O'
call TX_DATO
movlw 'F'
call TX_DATO
movlw 'F'
call TX_DATO
goto infinito120
;--------------------------------------------------
infinito120
bsf STATUS,RP0
movlw B'00000001'
movwf TRISD
clrf TRISA
bcf STATUS,RP0
infinito
movf PORTD,0
movwf PORTA
goto infinito
return
;-----------------------------------------------
TX_DATO
bsf STATUS,RP0 ; Banco-1
btfss TXSTA,TRMT ; ¿Buffer vacio?
goto $-1 ; .NO
bcf STATUS,RP0 ; Banco-0
movwf TXREG ; Inicia Tx
clrf TXREG
return