Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Периферия » 2 не фикс. кнопки по кольцу.


2 не фикс. кнопки по кольцу.

Сообщений 1 страница 4 из 4

1

Нужна помощь в виде куска кода. (НЕ СИ, ВАСКОМ!!!) 
Есть 4 под программки А1….А4 выводится инфа на LCD в них, 2 не фикс. кнопки, при нажатии на Кн1 переход на А1 если еще нажать, то на А2 и … по кольцу.
Если нажать сразу 2 Кн1 и Кн2 то выходим в меню.
У кого есть может готовые решения?

0

2

я бы сделал так:
dim i as byte                           ' добавляем счетчик нажатий
if pinx.x = 0 then                     'при условии нажатия кнопки КН1 проверяем, не нажата ли вторая
if pinx.y = 0 then  call menu    ' если нажата - переходим в подпрограмму menu              (хотя, применять вложенные условия не рекоммендуется)
incr i                                       'увеличиваем значение счетчика на 1
if i = 1 then  call a1
if i = 2 then  call a2
if i = 3 then  call a3
if i = 4 then  call a4
end if

a4:
i=0                                           ' сбрасываем счетчик после 4-й подпрограммы
return

что-то типа этого, только не забываем о дребезге! не претендую на оптимальность, я еще только учусь

Отредактировано demonizer (2011-01-11 20:21:06)

0

3

Можно чуть оптимизировать переход на пп:

on i gosub a0, a1, a2, a3

ну и зациклить и поставить waitms 500 где нибудь.

0

4

в зависимости от программы можно сделать и так:

Код:
a1:
if Pind.1=0 then goto menu
do
Debounce Pind.0 , 0 , a2
---
loop
a2:
if Pind.1=0 then goto menu
do
Debounce Pind.0 , 0 , a3
---
loop
a3:
if Pind.1=0 then goto menu
do
Debounce Pind.0 , 0 , a4
---
loop
a4:
if Pind.1=0 then goto menu
do
Debounce Pind.0 , 0 , a1
---
loop

0


Вы здесь » Программирование ATMEL в BASCOM. » Периферия » 2 не фикс. кнопки по кольцу.