Que tal, estoy haciendo un programa el cual muestre un mensaje de Activado en la primera fila del LCD cuando detecta un 1 en el BT1 que es el E0, y mientras en la segunda fila muestre una cuenta regresiva de 30 seg. El problema es que nose como hacer para que cuando oprima la tecla '*' de un teclado matricial 3x4 esta se interrumpa y me aparesca un mensaje en LCD de Descativado. Espero y me puedan ayudar dejo el codigo que he realizado.
Código:
#include <16F887.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#use delay(clock=4M)
#define use_portb_lcd TRUE
#include <lcd.c>
#include <kbd.c>
#use fast_io(C)
#use fast_io(E)
#byte portc = 0x07
#byte porte = 0x09
#bit BT1 = 0x09.0
int a=1,d=29;
char k;
void inicializar(void)
{
setup_adc_ports(NO_ANALOGS);
set_tris_e(0b11111111);
lcd_init();
kbd_init();
}
void main(void)
{
inicializar();
for(;;)
{
if(BT1==1)
{
lcd_gotoxy(1,1);
printf(lcd_putc,"ACTIVADO");
do
{
output_C(0x1);
delay_ms(500);
output_C(0x0);
delay_ms(500);
lcd_gotoxy(1,2);
printf(lcd_putc,"Tiempo Desc: %d\r",d);
a++;
d--;
}
while(a<=30);
}
}
}
Última edición por un moderador: