AVR УРОК 37. Модуль LCD 16×2. МЕНЮ. Часть 4

 

 

 

    Урок 37

 

Часть 4

 

Модуль LCD 16×2 .МЕНЮ

 

 

В предыдущей части мы продолжили писать исходный код по реализации меню.

Сегодня, я думаю мы его завершим.

Осталось нам, наконец-то, добавить реакцию на выбор пунктов меню в функции MainMenuProcess

 

case MAIN_MENU_STATE_MM1: //выбор пункта 1

  main_menu_state = MAIN_MENU_STATE_IDLE;

  MainMenuItemProcess(1);

  clearlcd();

  break;

case MAIN_MENU_STATE_MM2: //выбор пункта 2

  main_menu_state = MAIN_MENU_STATE_IDLE;

  MainMenuItemProcess(2);

  clearlcd();

  break;

case MAIN_MENU_STATE_MM3: //выбор пункта 3

  main_menu_state = MAIN_MENU_STATE_IDLE;

  MainMenuItemProcess(3);

  clearlcd();

  break;

case MAIN_MENU_STATE_MM4: //выбор пункта 4

  main_menu_state = MAIN_MENU_STATE_IDLE;

  MainMenuItemProcess(4);

  clearlcd();

  break;

case MAIN_MENU_STATE_MM5: //выбор пункта 5

  main_menu_state = MAIN_MENU_STATE_IDLE;

  MainMenuItemProcess(5);

  clearlcd();

  break;

case MAIN_MENU_STATE_EXIT: //выбор пункта EXIT

  menu_state = MENU_STATE_IDLE;

  return;

  break;

 

 

Соберём проект, проверим результат в протеусе, затем прошьём контроллер и посмотрим результат на живом контроллере и дисплее

 

image001 image002 image003 image004 image005 image006 image007 image008 image009

 

Как мы видим, меню наше работает и нормально откликается. Конечно в видеоверсии, прикрепленной в самом низу страницы, вы всё это сможете гораздо лучше посмотреть.

А в обработку реакций нажатий на кнопки меню в функции  MainMenuItemProcess вы можете писать любой код и вызывать любые функции.

Вот такое вот получилось у нас меню. Я думаю, удачное!

 

Предыдущая часть Программирование МК AVR Следующий урок

 

Исходный код

 

Программатор и дисплей можно приобрести здесь:

Программатор (продавец надёжный) USBASP USBISP 2.0

Дисплей LCD 16×2 с кнопками

 

 

Смотреть ВИДЕОУРОК

 

AVR Модуль LCD 16x2. МЕНЮ

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*