Авторизация


...

Кто на сайте?

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

Статистика

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

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

  DUB-E100

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

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

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

 


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

 

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

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

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

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

Prev Next

Алгоритм работы с плавающей запятой. Часть первая

11-02-2012 Александр Милевский

Алгоритм работы с плавающей запятой. Часть первая

1.Общие понятия Сразу хочу объяснить, а зачем все это нужно? Прежде всего точность вычислений, а она порой, ой как нужна. Различают две формы представления двоичных чисел: «с фиксированной запятой» и «с плавающей запятой». С фиксированной запятой, надеюсь, эту форму уже многие знают, но...

Зарядное устройство для гелевых аккумуляторов.

10-09-2014 Николай Викторов

Зарядное устройство для  гелевых аккумуляторов.

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

Спидометр-одометр + вольтметр

01-10-2011 Super User

Спидометр-одометр + вольтметр

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

Регулятор оборотов вентилятора.

03-02-2012 Sergey Roslik

Регулятор оборотов вентилятора.

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


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

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