Реализация меню на switch конструкции. Практический пример
Макет с микроконтроллером ATmega8535 со всей обвязкой, с присоединенным экранчиком, четырьмя кнопками (Up, Down, Enter, Cancel) и двумя светодиодами. Схему можно посмотреть здесь.
Кнопки имеют следующие функции:
Up – переместиться вверх по меню
Down – переместиться вниз по меню
Enter — войти в пункт меню/ выполнить действие
Cancel – выйти из пункта меню
Структура меню имеет следующий вид.
В первом уровне осуществляется выбор светодиода, во втором выбор действия над ним. Каждый пункт меню имеет свой номер. Я сначала пронумеровал пункты первого уровня, затем второго – это не принципиально, но так удобнее расписывать дальнейший алгоритм.
В таблице ниже расписаны переходы и действия, выполняемые при нажатии кнопок в конкретных пунктах меню.
Каждая строка таблицы представляет собой одну ветвь switch конструкции.
Проект состоит из следующий файлов.
menu1.asm – главный файл программы, к нему подключаются все остальные.
lcd.asm – содержит библиотеку подпрограмм для вывода на жки
lcd_user.asm – содержит подпрограммы вывода строк меню на жки
menu.asm – содержит макрос case и обработчики всех четырех кнопок
buttons.asm – инициализация и опрос кнопок
timers.asm – содержит подпрограмму инициализации и обработчик прерывания
Логика работы программы проста как три копейки. В начале программы располагается таблица векторов прерываний, а за ней, после метки Reset, секция инициализации. Здесь мы инициализируем все, что нам потребуется для работы — стек, порты ввода/вывода, переменные в ОЗУ, жк экран, таймер Т0.
Далее идет цикл Main в котором микроконтроллер без конца опрашивает кнопочный буфер. По сигналу прерывания таймера Т0 запускается подпрограмма DebriefButtons, которая осуществляет опрос кнопок. Внутри подпрограммы организована защита от дребезга. Если какая-то из кнопок будет нажата в течение 10-ти прерываний – ее номер помещается в буфер.
В цикле Main расположен код диспетчера – он запускается, только если кнопочный буфер содержит номер одной из 4-ех кнопок. Диспетчер вызывает для каждой кнопки соответствующую подпрограмму-обработчик. Обработчики кнопок описаны в файле menu.asm и логику их работы мы подробно рассматривали в предыдущей статье.
Вот собственно и все. По тексту программы расставлены дополнительные комментарии, надеюсь, разберетесь.
Преимущества данного метода:
- простота реализации
- наглядность
- возможность расширения
Недостатки:
- большой объем кода
- медленная скорость выполнения
Скорость выполнения ограничена тем, что поиск нужной ветви обработчика осуществляется последовательным перебором. Можно прикинуть, сколько времени будет занимать обход всего обработчика, если в меню будет 100 пунктов.
cpi — 1 такт
brne — 1 такт без перехода и 2 такта с переходом
Итого – 300 тактов. При частоте микроконтроллера 16МГц – 300 тактов это – 18,75 мкс. Много это или мало? Смотря, для какого приложения. Как мне кажется — программа меню быстрой реакции не требует, потому что ввод данных пользователем и вывод на экран осуществляется довольно медленно.
И напоследок
- Пунктам меню лучше давать символические имена. Это более наглядно.
- Вместо одной подпрограммы в ветви switch`а я бы рекомендовал использовать две. Одна для работы с экраном, а вторая для каких-нибудь дополнительных действий.
Схему можно посмотреть здесь. Файлы проекта здесь.
{jcomments off}
|
|
|
Как получить доступ к меню настроек Denon?
Операции меню
- Нажмите MAIN на пульте дистанционного управления, чтобы установить рабочую зону на MAIN ZONE. Кнопка ГЛАВНАЯ горит.
- Нажмите НАСТРОЙКА. Меню отображается на экране телевизора.
- Нажмите ENTER, чтобы ввести настройку. Чтобы вернуться к предыдущему пункту, нажмите НАЗАД. Выйдя из меню, нажмите SETUP, пока отображается меню.
Что такое меню Denon Smart?
Эту функцию можно использовать для настройки параметров данного аппарата, выбора источника входного сигнала и установки станций тюнера и Интернет-радио с помощью пульта дистанционного управления телевизора . Включите функцию управления HDMI данного устройства и телевизора. соединять.
Как мне управлять ресивером Denon?
Приложение Denon Remote Control для A/V-ресиверов и музыкальных систем
Как настроить быстрый выбор Denon?
Как настроить кнопки быстрого выбора?
- Используйте ручку выбора источника для выбора любого источника входного сигнала.
- Нажмите и удерживайте одну из кнопок быстрого выбора в течение двух секунд. Выбранный источник будет сохранен в папке быстрого выбора.
Содержание страницы
1
Как сбросить настройки ресивера Denon?
Как сбросить настройки ресивера DENON A/V
Как подключить ресивер Denon к телевизору?
Как получить звук ТВ через AV-ресивер Denon с (ARC …
Как запрограммировать пульт Denon на телевизор?
Нажмите и удерживайте кнопку источника входного сигнала, для которого вы хотите зарегистрировать предустановленный код, и SETUP до тех пор, пока индикаторы DEV, TV и AVR не начнут мигать зеленым цветом Введите номер предустановки (5 цифр), указанный для устройства в таблице предустановленных кодов, с помощью цифровых кнопок (0–9).) на пульте дистанционного управления.
Какое приложение лучше всего подходит для ресивера Denon?
DeRemote — Управляйте вашим Denon или Marantz. DeRemote — это приложение для iPhone/iPad для удаленного управления ресивером Denon, подключенным к локальной сети. Он предназначен для повседневного использования и позволяет управлять питанием, громкостью, выбором источника, настройками радио, источниками USB/Интернета и режимом объемного звучания.
Что такое быстрый выбор Denon?
Такие настройки, как источник входного сигнала, уровень громкости и режим звука, можно зарегистрировать для кнопок БЫСТРЫЙ ВЫБОР 1–4. Вы можете просто нажать одну из зарегистрированных кнопок БЫСТРОГО ВЫБОРА при последующем воспроизведении до перейти к группе сохраненных настроек в пакете .
Почему мой ресивер Denon мигает красным?
Красное мигание вообще означает режим «защиты» . Это случай, когда обнаружена проблема, и устройство выключается, чтобы предотвратить дальнейшее повреждение ресивера или динамиков.
Как обновить Denon AVR?
Если AVR необходимо обновить, следуйте инструкциям в меню… Чтобы узнать, установлена ли на вашем AVR последняя версия прошивки:
- Включите AVR.
- Нажмите кнопку «Настройка» на пульте дистанционного управления, чтобы получить доступ к меню настройки.
- Выберите «Общие» в меню.
- Затем выберите «Прошивка».
- Выберите «Проверить наличие обновлений» в меню «Прошивка».
Как сбросить настройки Denon AVR 391?
НАЗАД ИНФОРМАЦИЯ ПИТАНИЕ При выключенном питании нажмите и удерживайте кнопки, пока не отобразится «ИНИЦИАЛИЗИРОВАНО» . (Настройки установки установщика не инициализируются.) TUNER PRESET CH- TUNER PRESET CH+ POWER При выключенном питании нажимайте и удерживайте кнопки, пока не отобразится надпись «INITIALIZED».
Как подключить ресивер Denon к телевизору без HDMI?
Как подключить телевизор к ресиверу без HDMI? Вы можете использовать любые аудиокабели RCA, композитный видеокабель, компонентный видеокабель RCA с 5 кабелями или преобразователь HDMI, соответствующий имеющемуся у вас варианту ввода .
Как подключить ресивер к телевизору?
Как подключить ресивер к телевизору?
- Подключите кабель HDMI к портам HDMI с маркировкой ARC или порту, указанному в руководстве, который поддерживает ARC.
- Установите для динамиков аудиосистему. Приведенные ниже шаги являются примером для Android TV или Google TV.
- Включите параметр «Контроль по HDMI» как на телевизоре, так и на ресивере или системе домашнего кинотеатра.
Почему HDMI ARC не работает?
Очистите кэш и удалите данные на устройстве Android TV . Выполните сброс питания на телевизоре и аудиосистеме: выключите телевизор и аудиосистему. Отсоедините шнуры питания (сетевой шнур) и кабель HDMI от телевизора и аудиосистемы.
Является ли пульт Denon универсальным?
Описание товара
Недорогой и хороший универсальный пульт .
Какой код универсального пульта?
4 digit codes for GE Universal remote controls (DVD Players)
Brand | 4 Digit Code |
---|---|
PACIFIC | 0446 |
PHILIPS | 0398 0408 0423 0755 0979 0981 0980 0456 0458 0969 |
PHILIPS-MAGNAVOX | 0398 0408 0423 0979 0980 |
PIONEER | 0403 0404 0976 0977 0968 0909 1084 |
How do I control my Denon receiver without a remote?
Вы можете использовать «Denon Remote control app» для сетевых приемников Denon, если ваш телефон/планшет и ресивер подключены к одному и тому же WLAN-маршрутизатору . Загрузите приложение Denon на свой смартфон или планшет и используйте его вместо пульта дистанционного управления. Примечание. Модели без сетевого интерфейса не поддерживаются.
Есть ли приложение Denon?
Встречайте версию 3 приложения Denon Remote App ! Это переработанное приложение для iPhone и iPad предоставит вам беспрецедентный уровень управления и контроля над вашими сетевыми устройствами серии Denon ’11/’12/’13/X и новым A/V-ресивером или музыкальной системой 2014 года.
Что такое приложение Denon?
Встречайте приложение Denon Remote для Android! Это новое приложение предоставит вам беспрецедентный уровень управления и контроля над вашим сетевым A/V-ресивером Denon или музыкальными системами, модели 2012 года или более поздние . Управляйте основными функциями вашего продукта Denon с помощью выбора питания, громкости, входа и режима объемного звучания.
Как добавить ресивер Denon в приложение?
Новое приложение Denon Remote 2016
Нам Сан-Привет — https://finddiffer.
Привет, меня зовут Нам Сан-Привет. Мое имя означает: «Один с радостным поведением». Я корейский студент и автор FindDiffer.com. Я провожу все свое время либо пишу, либо учусь. Я люблю узнавать что-то новое, и думаю, именно поэтому мне так нравится писать — это способ узнать больше об окружающем мире.
{{ message }}
ардуино / ArduinoCore-avr Общественный
- Уведомления
- Вилка 924
- Звезда 891