Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 27.07.2018, 23:45  
Aliaksandr1997
Прохожий
 
Регистрация: 26.07.2018
Сообщений: 8
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
Aliaksandr1997 на пути к лучшему
По умолчанию Re: Простое меню для LCD дисплея (2004)

Сообщение от МВА Посмотреть сообщение
А что за кнопки? Клава сканируется или кнопка подключенная к входу МК?
Кнопки обыкновенные тактовые, всего 6, подключены к порту В микроконтроллера Atmega328p через внутреннюю подтяжку
[HTML]DDRB = 0x00; // назначить пины кнопок на вход
PORTB = 0b00111111; // подключить внутренние подтягивающие pull-up резисторы[/HTML]

Сообщение от МВА Посмотреть сообщение
Но, если меню должно работать параллельно с программой, то тогда лучше использовать переменную статуса меню.
Это в моем случае, параллельно снимается температура с термопар и рассчитывается мощность подаваемая на нагреватели. Но вообще несовсем так. Эти функции вызываются когда находишься в конкретных пункте меню, допустим в главном пункте меню эти функции не нужны

Сообщение от МВА Посмотреть сообщение
ЗЫ. Я набросал алгоритм для меню работающем в своем цикле. Но, если меню должно работать параллельно с программой, то тогда лучше использовать переменную статуса меню. Где каждому пункту соответствует свой бит. И, при помощи масок легко управлять входом и выходом из любого пункта меню, подменю, под-под-...меню. А сами маски оформить в виде макросов и не будет никакой головоломки.
За совет спасибо, учту
Реклама:

Последний раз редактировалось Aliaksandr1997; 27.07.2018 в 23:52.
Aliaksandr1997 вне форума  
Непрочитано 28.07.2018, 00:23  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,163
Сказали Спасибо 3,855 раз(а) в 2,926 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Простое меню для LCD дисплея (2004)

Собственно сделать массив short int с длиной максимального числа уровней меню плюс 1 и хранить в [0] текущий уровень, а в остальных ячейках номер выбранного элемента уровня. [0] инкрементируется при переходе по меню на подуровни и декрементируется при возврате.
Получаются нормальные переходы по меню вперёд назад.
Для выхода из любого места в основное меню в [0] записывается 0.
Значение в [0] можно использовать как индекс текущего номера элемента меню для switch
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 28.07.2018 в 00:25.
mike-y-k вне форума  
Непрочитано 28.07.2018, 05:51  
serg-abinsk
Частый гость
 
Регистрация: 05.08.2006
Адрес: Абинск, Краснодарский край
Сообщений: 26
Сказал спасибо: 65
Сказали Спасибо 52 раз(а) в 16 сообщении(ях)
serg-abinsk на пути к лучшему
По умолчанию Re: Простое меню для LCD дисплея (2004)

Работающую программу покажите пожалуйста.
serg-abinsk вне форума  
Непрочитано 28.07.2018, 18:58  
Aliaksandr1997
Прохожий
 
Регистрация: 26.07.2018
Сообщений: 8
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
Aliaksandr1997 на пути к лучшему
По умолчанию Re: Простое меню для LCD дисплея (2004)

serg-abinsk, надеюсь вы мне. Программа написана в среде ардуино, я еще не переделывал, не было времени. Хотя идею понял.
Вложения:
Тип файла: rar BGARework_v7.rar (15.6 Кб, 0 просмотров)
Aliaksandr1997 вне форума  
Сказали "Спасибо" Aliaksandr1997
serg-abinsk (30.07.2018)
Непрочитано 28.07.2018, 21:22  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Простое меню для LCD дисплея (2004)

стоит только правильно спросить...
древовидное меню avr
меню LCD на C
jump вне форума  
Эти 2 пользователя(ей) сказали Спасибо jump за это сообщение:
Aliaksandr1997 (29.07.2018), mike-y-k (28.07.2018)
Непрочитано 29.07.2018, 20:09  
Aliaksandr1997
Прохожий
 
Регистрация: 26.07.2018
Сообщений: 8
Сказал спасибо: 3
Сказали Спасибо 1 раз в 1 сообщении
Aliaksandr1997 на пути к лучшему
По умолчанию Re: Простое меню для LCD дисплея (2004)

Доброго времени суток, набросал свой код для опроса 4-х кнопок на основе кода найденного в сети. Вечером проверю в симуляторе
Вложения:
Тип файла: txt project2.txt (7.5 Кб, 0 просмотров)

Последний раз редактировалось Aliaksandr1997; 29.07.2018 в 20:15.
Aliaksandr1997 вне форума  
Непрочитано 29.07.2018, 21:33  
dgrishin
Почётный гражданин KAZUS.RU
 
Регистрация: 12.02.2013
Сообщений: 1,019
Сказал спасибо: 43
Сказали Спасибо 272 раз(а) в 213 сообщении(ях)
dgrishin на пути к лучшему
По умолчанию Re: Простое меню для LCD дисплея (2004)

Сообщение от Aliaksandr1997 Посмотреть сообщение
Вечером проверю в симуляторе
Симулятор не позволит учесть дребезг контактов в реальных кнопках - потом возможно придётся допиливать (а то и переделывать) код для реального железа.
dgrishin вне форума  
Непрочитано 29.07.2018, 22:22  
DmitriyVDN
Гражданин KAZUS.RU
 
Регистрация: 10.06.2010
Сообщений: 598
Сказал спасибо: 222
Сказали Спасибо 234 раз(а) в 154 сообщении(ях)
DmitriyVDN на пути к лучшему
По умолчанию Re: Простое меню для LCD дисплея (2004)

Сообщение от dgrishin Посмотреть сообщение
Симулятор не позволит учесть дребезг контактов в реальных кнопках
все он позволяет.
DmitriyVDN вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
pic16f628a+lcd1601 vavilon79 Песочница (вопросы новичков) 15 20.11.2017 15:27
PIC16F876a+Nokia 5110 LCD+PICKit2 AndGrig PIC 31 02.11.2016 09:18
Подключение LCD дисплея utyfwdfkb Информация по радиокомпонентам 8 31.10.2009 01:34
Не могу разобраться с LCD init_sub Информация по радиокомпонентам 6 02.04.2004 04:40


Часовой пояс GMT +4, время: 12:03.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot