Saludos.
Ya logre hacer algo del menu, en si, hasta ahí funciona a la perfección, lo que no me doy cuenta es cómo hacer para la tecla "ok", se que tengo que manejar la variable "puntero", que ese valor va a tener que mandarse cada vez que se presione "ok", peroo....., no se cómo hacer eso.
Bueno, logre controlar los extremos del menu, pero solamente para 4 opciones, ya que tengo problemas cuando quiero 7 u 8 opciones, osea:
1 opcion
2 opcion
3 opcion
4 opcion
hasta ahi muestra bien, la flecha "->" se mueve bien, pero, cuando quiero mostrar
5 opcion
6 opcion
7 opcion
8 opcion
puess......., eso ya no se como hacerlo, le puse otra funcion que me dibuje todo eso, perooo nada.
El código es este:
#include <16F877A.h>
#device adc = 10
#FUSES XT, NOWDT, NOPROTECT, NOPUT, NOBROWNOUT
#use delay(clock=4000000)
#use fast_io(A)
#use fast_io(B)
#use fast_io(C)
#use fast_io(D)
#bit enter = 6.0
#bit arriba = 8.6
#bit abajo = 8.7
#include <LCD4x20.C>
void vDibujaPuntero(int puntero);
void vDibujaPuntero2(int puntero);
#zero_ram
void main()
{
int puntero = 0;
lcd_init();
while (true)
{
if (abajo == 1)
{
delay_ms(300);
puntero++;
if (puntero == 5)
{
puntero = 1;
}
vDibujaPuntero(puntero);
}
if (arriba == 1)
{
delay_ms(300);
puntero--;
if (puntero == 0)
{
puntero = 4;
}
vDibujaPuntero(puntero);
}
}
}
void vDibujaPuntero (int puntero)
{
lcd_putc("\f");
lcd_gotoxy(3,1);
lcd_putc("1 opcion uno");
lcd_gotoxy(3,2);
lcd_putc("2 opcion dos");
lcd_gotoxy(3,3);
lcd_putc("3 opcion tres");
lcd_gotoxy(3,4);
lcd_putc("4 opcion cuatro");
lcd_gotoxy(1,puntero);
lcd_putc("->");
}
De todas formas, mando los archivos de simulacion.