Авторизация


...

Кто на сайте?

Сейчас 119 гостей и ни одного зарегистрированного пользователя на сайте

Статистика

-Посетители : 25302
-Материалы : 210

Пользователь сайта продает...

  MB913 C-01

Пользователь сайта покупает...

Обработка клавиатуры в прерывании

Автор: Александр Милевский Просмотров: 2666

 


Схема такая же, как и в предыдущей статье на 4 кнопки.

 

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

Предлагаемая клавиатура работает по своему основному назначению, определяет нажатую кнопку, подтверждает нажатие звуковым сигналом, частотой 0,5КГц, определяет длительное нажатие кнопки, включает задержку, и, после её завершения,  выставляет флаг этого состояния. По логике основной программы, когда необходимо, следует опросить этот флаг  и выполнить задуманное действие. Например, при вводе цифр ускорить ввод и т.д.   
 
      Программа  разбита на две функциональные части.
- опроса кнопок, анализа их состояния
- обработчика прерываний  
В обработчике прерываний формируется меандр 0,5КГц на выводе порта ( если разрешено) и идет счет антидребезговой задержки нажатой кнопки.
Прерывания происходят через 1 мс от  таймераTMR0.
Используется пять регистров памяти данных. Их количество постоянно и не зависит от  количества кнопок.
  Определение длительного нажатия кнопки происходит по сравнению регистра получившего предыдущий код кнопки с текущим кодом нажатой кнопки.
 Задержка длительного нажатия, после которого выставляется флаг этого состояния,  привязан только к количеству подтвержденного нажатия кнопки.
Т.е. если программа определила, что нажата кнопка S1, а при следующем опросе опять S1 ( c учетом антидребезговой задержки 40мс и времени между опросами клавиатуры в основной программе ), то включается программный счетчик, который при подтверждении 10 таких совпадений установит флаг длительного нажатия.
 Программа обработки клавиатуры очень проста, не содержит никаких программных трюков и работает надежно.
 Включение звука можно выполнить также  при других условиях  и на другое время. Так же легко звук отключить, когда это необходимо. Например, при вводе цифр происходит ускоренный перебор, совершенно не нужно непрерывного писка при удержании кнопки.
Текст программы с комментариями  можно скачать

Ссылка для скачивания доступна только авторизованным пользователям сайта !

Случайные статьи....

Prev Next

Программирование c нуля в AVRStudio 5 (ч.1)

04-02-2012 Радик

Программирование c нуля в AVRStudio 5 (ч.1)

Каждый человек, который только начинает осваивать программирование микроконтроллеров, да и вообще программирование, упирается сразу в несколько вопросов:1.Какой микроконтроллер выбрать для максимально быстрого освоения?2.Какой основной инструмент (программу) использовать для начала работы?3.Какие аппаратные средства доступны для начала программирования?4.Какую литературу использовать?  

Создание компонентов электронных схем в САПР EAGLE.

07-06-2014 Иван Шевченко (R1ZK)

Создание компонентов электронных схем в САПР EAGLE.

   В интернете существует масса описаний создания компонентов электронных схем путём рисования вручную графического обозначения компонента и создания его посадочного места. К примеру: http://easyelectronics.ru/rabota-v-eagle-cad-chast-2.html и http://chipenable.ru/index.php/iar-embedded-workbench/item/190-eagle-cad-sozdanie-komponenta-ch2.html  Скажу честно – довольно утомительный процесс.    

Конфигурирование МК 18 серии.

03-08-2011 Super User

Для правильной работы приложения, необходимо настроить (сконфигурировать) микроконтроллер под свои задачи, разрешив или запретив определенные режимы работы, выбрать режим тактового генератора и т.д.. Делается это при помощи битов конфигурации микроконтроллера.

Видеоадаптер на PIC18F46K20

04-03-2011 Николай Викторов

Видеоадаптер на PIC18F46K20

  При разработке радиолюбительских устройств на микроконтроллерах (далее просто МК) иногда возникает необходимость в отображении информации на экране телевизора (монитора) .Какого либо стандартного устройства отвечающего по технических характеристикам найти не удалось, по этому возникла идея  создания  устройства , которое будет...


Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru