В прошлый раз мы научились пользоваться таймером Т0 и заставили микроконтроллер подавать голос. Хоть мы и использовали при этом прерывания, суть программы мало чем отличалась от программы моргающего светодиода. Предлагаю усложнить задачу и заставить микроконтроллер играть мелодию. Попутно познакомимся с массивом и научимся его использовать.
   Микроконтроллер общается с внешним миром посредством портов ввода/вывода. В общем случае он может “воспринимать” только цифровые сигналы – логический ноль или логическую единицу. Например, для микроконтроллера ATmega8535 при напряжении питания 5 В логический ноль – это напряжение от 0 до 1,3 В, а логическая единица – от 1,8 до 5 В. Довольно часто возникает потребность измерять напряжения, которые могут принимать любое значение в диапазоне от 0 до напряжения питания. Для этих целей в составе микроконтроллеров AVR есть аналого-цифровой преобразователь (АЦП).
   При отладке встраиваемых приложений, наиболее сложно отловить ошибки,  проявляющие себя не постоянно, а лишь время от времени. Одна из причин подобных багов: переменные, доступ к которым осуществляется асинхронно. Такие переменные должны быть правильно определены, и иметь соответствующую защиту.

Итак, практический пример реализации меню на switch конструкции. Все нижеизложенное – пояснение к проекту.

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

Страница 18 из 19