hola tengo el siguiente codigo que estoy armando es solo para pruebas de aprendisage el proposito en general es aprender a crear menus y mostrar en lcd .
En micodigo tengo el problema que cuando preciono el boton para leer temperatura la muestra por pantalla pero cuando preciono el boton de salir no sale sequeda mostrando temperatura ,los dos primeros menus solo son mensages en pantalla y notiene problemas para salir al mantener precionado el boton de salida.
les agrego el codigo y la simulacion en un .rar
grasias por la colaboracion
codigo:
#include <16F877A.h>
#device adc=10
#FUSES NOWDT, XT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT, RESERVED
#use delay(clock=4000000)
#use fast_io(a)
//LIBRERIAS
#include <kbd2.c>
#include <LCD.C>
//VARIABLES
float tem,temp=0;
void main(void)
{//LLAVE DE APERTURA MAIN
programa:
lcd_init();
while(1)
{//LLAVE DE APERTURA DEL WHILE DE INICIO
if(input(pin_a1)==1)//INTERRUCION EXTERNA BOTON A1
{//LLAVE DE APERTURA BOTON A1
menu1:
lcd_putc("\fPRIMER \nMENU");
delay_ms(1000);
lcd_putc("\f");
if(input(pin_a5)==1)//INTERRUPCION EXTERNA DE SALIDA BOTON A5
{//LLAVE DE APERTURA DE BOTON A5 DE SALIDA
break;//SALE AL RESIBIR INTERRUPCION POR EL BOTON A5
}//LLAVE DE CIERRE DE BOTON A5 DE SALIDA
goto menu1;//SALTO AL MENSAGE DE INICIO
}//LLAVE DE CIERRE BOTON A1
if(input(pin_a2)==1)//INTERRUCION EXTERNA BOTON A2
{//LLAVE DE APERTURA BOTON A2
menu2:
lcd_putc("\fSEGUNDO\nMENU");
delay_ms(1000);
lcd_putc("\f");
if(input(pin_a5)==1)//INTERRUPCION EXTERNA DE SALIDA BOTON A5
{//LLAVE DE APERTURA DE BOTON A5 DE SALIDA
break;//SALE AL RESIBIR INTERRUPCION POR EL BOTON A5
}//LLAVE DE CIERRE DE BOTON A5 DE SALIDA
goto menu2;//SALTO AL MENSAGE DE INICIO
}//LLAVE DE CIERRE BOTON A2
if(input(pin_a3)==1)//INTERRUCION EXTERNA BOTON A3
{//LLAVE DE APERTURA BOTON A3
menu3:
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_DIV_2);
set_adc_channel(0);
tem=read_adc();
temp=tem*0.48875;
printf(lcd_putc,"\fTEMPERATURA\nTEMP:%f",temp);
delay_ms(1000);
lcd_putc("\f");
if(input(pin_a5)==1)//INTERRUPCION EXTERNA DE SALIDA BOTON A5
{//LLAVE DE APERTURA DE BOTON A5 DE SALIDA
break;//SALE AL RESIBIR INTERRUPCION POR EL BOTON A5
}//LLAVE DE CIERRE DE BOTON A5 DE SALIDA
goto menu3;//SALTO AL MENSAGE DE INICIO
}//LLAVE DE CIERRE BOTON A3
}//LLAVE DE CIERRE DEL WHILE DE INICIO
goto programa;
}//LLAVE CIERRE DE MAIN