Primero que nada me presento.
Esta no es la primera vez que utilizo este foro pero si la primera en la parte de Assembler.
Bueno mi pregunta es la siguiente, recién estoy iniciando en controladores pic, por lo que hice un pequeño programa con un lcd con un pic 16F84A, que lo que hace es mediante 2 pulsadores, en mi caso UP y DOWN. Cambiar de pantalla en el lcd.
Hasta aquí todo bien, ahora la diferencia es que hay un tercer pulsador de OK, que lo que hace es activar un led cuando esta en un mensaje y desactivarlo cuando cambias de pagina y le das ok.
Bueno esa seria la consigna mia. Ahora el problema es que _
-Anda todo sobre el tema de cambio de pantalla
-Se prende el led cuando le das ok
-Pero cuando cambias de pagina, se apaga, e aquí el problema debería quedar prendido y apagarse recién cuando le das ok.
Paso mi programa a ver si me pueden ayudar
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
PROCESSOR 16F84A
#INCLUDE <P16F84A.INC>
ORG 0x00
call LCD_inicializa ;Inicializa display
CBLOCK 0x0C
contador55
ENDC
bsf STATUS, RP0 ;Acceso al Banco 1
bcf TRISB, 0 ;Salida para RELE
bcf STATUS, RP0 ;Acceso al banco 0
bcf PORTB, 0 ;COMIENZO APAGADO
Primer_msn
movlw welcome ;llamo el mensaje de bienvenida
call LCD_mensaje ;llamo a la subrutina pa meter el mensaje
call Retardo_1s
call borra_display
stard
movlw mensaje1
call LCD_mensaje
aca
btfss PORTA, 4 ;SE PRESIONO BOTON DE OK
goto ok1 ;ir a ok 1 se es correcto
btfsc PORTA, 3 ;¿Se ha presionado el pulsador? NO
goto aca ;No, genera un bucle
goto manu ;Si, llama a subrutina
manu
movlw mensaje2
call LCD_mensaje
alla
btfss PORTA, 4 ;SE PRESIONO BOTON DE OK
goto ok2 ;ir a ok 1 se es correcto
btfsc
PORTA, 2 ;¿Se ha presionado el pulsador?
goto alla ;No, genera un bucle
goto stard ;Si, llama a subrutina
ok1
bsf PORTB, 0 ; PONE BIT 1 A LA SALIDA
goto aca
ok2
bcf PORTB, 0 ;apaga led
goto alla
;****TABLA DE MENSAJES
mensajes
addwf PCL, F
welcome
DT " WELCOME Santiago 2010", 00h
mensaje1
DT "Work mode <ON> OFF", 00h
mensaje2
DT "Work mode ON <OFF>", 00h
#INCLUDE <LCD4BITS.INC> ;Se incluye la librería de manejo del LCD
#INCLUDE <LCDMENSAJES.INC> ;Se incluye la librería para mensajes
#INCLUDE <RETARDOS.INC> ;SE INCLUYE LA LIBRERIA PARA RETARDOS ESPECIALES