Hola,
Ya he recibido ayuda de Pocher, al cual estoy muy agradecido. Del programa rectificado que me mandaste, tube que hacer algún cambio, ya que no me mostraba nada por pantalla. Po ejemplo, lcd_init tube que ponerlo dentro de cada "case", ya que sino no me hacia caso.
Él programa ahora si que me muestra los mensajes tal y como yo quiero, lo que pasa es que se me queda enganchado. Cada vez que yo comienzo el programa, acciono una e las entradas y me muestra el mensaje y tras el tiempo estipulado me borra la pantalla, tal y como es mi intención. El problema es que cuando yo cambio la combinación de entrada, debería mostrarme el mensaje nuevo, y ya no me hace caso. Tengo que hacerle un reset al pic para que me muestre el siguiente mensaje. El programa es el siguiente:
#include <16f84.h>
#use delay(clock=4000000)
#include <lcd.c>
#use fast_io(A)
#use fast_io(B)
#byte port_a=5
#byte port_b=6
main()
{
set_tris_A(0xFF);
set_tris_B(0x00);
while(1)
{
switch (port_a)
{
case 0x00: lcd_init();
port_b=0x00;
break;
case 0x01: lcd_init();
lcd_putc("alarma"
;
lcd_gotoxy(2,2);
lcd_putc("activada"
;
delay_ms(1000);
port_b=0x01;
lcd_putc("f"
;
break;
case 0x02: lcd_init();
lcd_putc("alarma"
;
lcd_gotoxy(2,2);
lcd_putc("desactivada"
;
delay_ms(1000);
port_b=0x02;
lcd_putc("f"
;
break;
}
}
}
Necesito contestación urgente, tengo este fin de semana para terminar esto, meterlo en el pic, y terminar esta parte de mi proyecto, el cual he de presentar terminado y con su memoria correspondiente para el viernes.
Gracias a todos por anticipado, especialmente a "mi profe", Pocher. Un saludo.