Часть 1. Схема интерфейса клавиатуры
Часть 2. Описание работы схемы, значение и выбор времязадающих компонентов схемы.
Два выхода нашего интерфейса клавиатуры подключаются непосредственно к микроконтроллеру PIC16F628A. Выход одиночного импульса подключается к порту RA2, выход частоты – к порту RA4 (TOCKI) микроконтроллера. С целью демонстрации работоспособности схемы и интерфейса мы используем двухстрочный символьный ЖК индикатор на базе контроллера HD44780, подключенный по 4-битной шине к микроконтроллеру. На индикаторе будет отображаться информация о нажатой кнопке на клавиатуре.
Дополнительно к выходу таймера был подключен светодиод последовательно с резистором 470 Ом для индикации нажатия кнопки (на схеме не указан).
Принципиальная схема подключения клавиатуры и ЖК индикатора к микроконтроллеру
Программное обеспечение микроконтроллера – простая тестовая программа, написанная с использованием компилятора mikroC от компании mikroElektronika. В программе конфигурируется и используется встроенный Таймер 0 микроконтроллера для подсчета импульсов с выхода таймера 555. Программа опрашивает порт RA2 и при определении импульса, Таймер 0 активируется на 100 мс и фиксируется число переполнений.
Блок-схема программы микроконтроллера
Автором были получены отзывы от пользователей относительно этой техники организации клавиатуры. Большинство из пользователей утверждает, что данная техника сложна с точки зрения программирования. Однако, стоит отметить, что микроконтроллер нуждается в программе независимо от того, какой тип клавиатуры используется (будь-то матричная клавиатура или делитель из резисторов). В этой технике, как уже было сказано, ничего сложного нет, не требуется вычисление частоты, необходимо лишь активировать таймер на фиксированный интервал (мы использовали интервал 100 мс и, конечно, длительность нажатия кнопки должна быть соответствующей), когда обнаружено нажатие.
Внешний вид макетной платы интерфейса клавиатуры
Демонстрация работы
Загрузки
Исходный код (mikroC) и hex-файл – скачать