цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Как с помощью одного вывода микроконтроллера взаимодействовать с матричной клавиатурой 4x4

Как с помощью одного вывода микроконтроллера взаимодействовать с матричной клавиатурой 4x4

Автор: Mike(admin) от 21-03-2018, 08:55

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


Матричная клавиатура

Зачастую наибольшее количество линий микроконтроллера «сжирает» матричная клавиатура. Для решения этой проблемы имеется проект, который предусматривает альтернативный способ подключения матричной клавиатуры 4×4 к микроконтроллеру. В данном случае использовался микроконтроллер AVR ATmega32.


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


Схема подключения микроконтроллера, клавиатуры и жидкокристаллического дисплея (LCD) показана на рисунке ниже. Сердцем проекта является микроконтроллер ATmega32 (IC2), за которым следуют понижающий трансформатор X1, 16 кнопочных контактов (S1-S16), 16 резисторов (R1-R16), 5V-регулятор 7805 (IC1), ЖК-дисплей (LCD1) и несколько других дискретных компонентов.


Схема подключения микроконтроллера, клавиатуры и жидкокристаллического дисплея

Чтобы определить, какая клавиша нажата пользователем, здесь используется концепция делителя напряжения. Так, резистор R19 (1 КОм) подключается через источник питания 5 В схемы. Как только нажат кнопочный выключатель, эта комбинация переключателя и резистора замыкает цепь и формирует схему делителя напряжения вместе с резистором R19. На линии 39 (PA1), то есть входе АЦП (ADC1) микроконтроллера, формируется переменное напряжение, значение которого можно вычислить по приведенной ниже формуле:


Формула делителя напряжения

В правой части этого уравнения известны все значения, входное напряжение имеет постоянное значение 5 В, Ri – значение резистора, соединенного последовательно с нажатой кнопкой, а R19 – 1 КОм.


Для полноты картины приведем также схему источника питания.


Схема источника питания

Вторичный трансформатор (X1) используется для понижения напряжения сети 230 В до напряжения питания 9 В. Усиленное напряжение дополнительно выпрямляется модулем мостового выпрямителя (BR1) и пропускается через два фильтрующих конденсатора: C1 и C2. Затем оно регулируется с помощью стабилизатора 7805. Наличие регулируемого напряжения питания подтверждается свечением светодиодного индикатора LED1.


Исходный код проекта написан на языке C, и нам нужны два инструментария: AVR Studio 4 и WinAVR для работы с микроконтроллером Atmel AVR. Архив проекта с исходным кодом можно скачать здесь.




Теги: клавиатура




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий