Клавиатурная матрица 3х4. Подключаем к КР1878ВЕ1


Здесь используется опрос клавиатуры "змейкой", то есть подается логический 0 на строку клавиатуры и проверяются по очереди состояния линий ввода микроконтроллера подключенных к столбцам клавиатуры, если логический 0 не обнаружен ни на одном столбце, то переходят к проверке следующей строки клавиатуры. Как только обнаружено нажатие кнопки, по смещению (счетчику) key_code в таблице sym_set находится код нажатой кнопки. Таблица используется для настройки программы на конкретный вид клавиатуры (размещение на ней кнопок).

Защита от автоповтора (при длительном удержании кнопки) и от дребезга, реализована на основе стека нажатых кнопок (при прощлых опросах клавиатуры) key1, key2 и key_code. Если при опросе клавиатуры нажатие кнопки не обнаружено, то код кнопки key_code=12. При каждом опросе клавиатуры, перед выходом из подпрограммы keyboard, проводится процедура key1=key2, key2=key_code. Кнопка считается нажатой, если key1=12 и key2 не=12 и key2=key_code.

Существует так же матричный метод опроса клавиатуры, его алгоритм описан в документе AVR240: 4x4 Keypad-Wake up on Keypress на сайте . Описанный выше алгоритм при большем времени выполнения по сравнению с матричным опросом требует меньшего количества команд на реализацию и работает при фиксированной конфигурации порта: младшая тетрада порта - выход, старшая - вход.

На схеме не показана схема сброса (обычная интегрирующая цепочка см. описание МК) и питание микроконтроллера.
keyboard.mic - сама программа (в кодировке win-txt)
Схема электрическая:
 
Алгоритм работы:
 


От редакции (Sanchos):

Если это использовать в том виде в котором нарисовано, то никаких проблем не будет.

Если вы не уверены в том, что не будут нажаты одновременно две и более кнопок или если этот же порт используется ещё и для индикации то в каждую линию матрици нужно припаять резюк сопротивлением 220 - 510 ом (они ограничат сквозные токи).

Не опрашивайте кнопки слишком часто - появляется неустойчивость к дребезгу контактов.


Источник: sanchos-iz.narod.ru


Клавиатурная матрица 3х4. Подключаем к КР1878ВЕ1






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.