Добрый день! подскажите как лучше всего реализовать программно меню на ЖКИ Мне надо меню с управлением от 3х кнопок
1 - <<< (porte 0)
2 - ok/menu (porte 1)
3 - >>> (porte 2)
алгоритм такой:
Выходит надпись
Code
lcdout $FE,1, " Сhoose a mode. "
LCDOUT $FE,192,"-------ok-------"
[/code] и дальше идёт цикл на проверку кнопки "ок"
когда кнопка будет нажата будет переход в меню.
в меню 4 пункта :
Генератор
Code
LCDOUT $FE, 1, " Generator. "
LCDOUT $FE,192, "<<<----ok---->>>"
Автоматика
Code
LCDOUT $FE, 1, " Auto "
LCDOUT $FE,192, "<<<----ok---->>>"
Свет
Code
LCDOUT $FE, 1, " Light "
LCDOUT $FE,192, "<<<----ok---->>>"
выключение.
Code
LCDOUT $FE, 1, " Shutdown "
LCDOUT $FE,192, "<<<----ok---->>>"
переход между этими пунктами выполняется кнопками <<< и >>>, подтверждение выбранного пункта кнопка ок.
после подтверждения любого из выбраных пунктов меню на дисплей выводятся окна в соответствие с выбором.
Code
LCDOUT $FE, 1, " Generator. "
LCDOUT $FE,192, "------menu------"
Code
LCDOUT $FE, 1, " Auto "
LCDOUT $FE,192, "------menu------"
Code
LCDOUT $FE, 1, " Light "
LCDOUT $FE,192, "------menu------"
Code
LCDOUT $FE, 1, " Shutdown "
LCDOUT $FE,192, "------menu------"
ну и разумеется как вы уже догадались при нажатие кнопки menu должно происходить возвращение в меню с выбором режима.
Вот я пытался делать наброски.... но работает почему то криво =(( и по этой причине не стал доделовать до конца дабы не запутаться ещё больше....
Подскажите хоть как надо вообще это правильно реализовывать.. может у меня подход не правильный...
Code
lcdout $FE,1, " Сhoose a mode. "
LCDOUT $FE,192, "-------ok-------"
start:
if porte.1 = 0 then
LCDOUT $FE, 1
pause 400
goto menu
endif
goto start
menu:
LCDOUT $FE, 1, " Generator. "
LCDOUT $FE,192, "<<-----ok----->>"
if tmp1 = 1 then tmp1 = 2
if tmp1 = 2 then menu0
goto menu0
menu0:
if tmp1 = 1 then goto generatormenu
if porte.1 = 0 then
LCDOUT $FE, 1, " Generator. "
LCDOUT $FE,192, "------menu------"
pause 400
goto generatorok
goto begin
endif
goto menu0
generatormenu:
if porte.1 = 0 then
pause 100
goto menu
endif
goto generatormenu
generatorok:
portd.2 = 1
tmp1 = 1
goto menu0
[/code]Добавлено (20.07.2010, 00.22.16)
---------------------------------------------
Ребята такое ощущение что до меня это ни кто не пробывал реализовывать)))
я не прошу за меня написать, просто объясните основные тонкости которых я пока ещё не знаю
Просто я реально забросил на данном этапе прогу, т.к. не хочу сделать тёмный лес и километровый листинг.....