Клавиатура одна из необходимейших периферийных устройств для ввода информации в приложениях и проектах на базе микроконтроллеров. Клавиатура состоит из блока нескольких кнопок, объединенных конструктивно, логически связанных между собой по матричной схеме.. Можно использовать стандартную матрицу кнопок. Их количество определяется числом строк и столбцов линий сканирования. В этой схеме выводы Kn программируется как входы, а Тn как выходы. При сканировании на одну из линий Т поочередно подается лог 0 и проверяется состояние линий К. Если одна из линий К имеет уровень лог 0, то контроллер считает эту кнопку замкнутой. Для защиты выходов от пробоя при нажатых нескольких кнопках стоят диоды VDn. Иногда, для предотвращения ложных срабатываний, можно установить конденсаторы Cn. При использовании резиновых кнопок в клавиатуре с микроконтроллером, на диодах, защищающих сканирующие выходы, падает 0,7 вольт. Нажатая клавиша тоже имеет некоторое сопротивление. В результате, иногда, на входах не хватает напряжения для распознавания лог 0. В этом случае вместо диодов можно поставить резисторы 150 - 200 Ом.
Вот еще пример подключения клавиатуры с использованием меньшим числом портов микроконтроллера. Для стандартного включения матрицы 4*3 необходимо 7 портов, а в этом примере, за счет более сложной программной обработки понадобится всего 4. При опросе поочередно на одной из четырех линий устанавливают лог 0, а другие программируют как входы. При этом, они должны быть подтянуты к высокому уровню. В этом примере подтяжка осуществляется внутренними резисторами. По состоянию входов вычисляется нажатая кнопка. В схеме используются стандартные диоды (например импортные 1N4148) |