русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Подключение матричной клавиатуры


Дата добавления: 2015-08-14; просмотров: 1819; Нарушение авторских прав


Если требуется большое количество управляющих кнопок, то вам просто может не хватить имеющихся выводов. В этом случае не обойтись без матрицы клавиш. На рис. 1.3 приведена схема подключения клавиатуры из 32 клавиш путем составления из них матрицы.

Напоминаю, что цепи сброса и цепи, связанные с кварцевым резонатором, на этой схеме, как и в большинстве последующих примеров, условно не показаны. Как видно из схемы, для подключения тридцати двух клавиш используется всего лишь 12 выводов. В данном конкретном случае порт Р1 работает как порт ввода. Четыре младшие разряда порта РЗ работают на вывод. Возможен и обратный вариант (Р1 на вывод, РЗ на ввод). Но мы выбрали тот вариант, который наиболее рационален с точки зрения удобства составления программы. Давайте рассмотрим подробнее принцип работы схемы.

В исходном состоянии на выводы РЗ.О...РЗ.З подается сигнал логической единицы. На все выводы порта PI (P1.0...P1.7) также поданы единицы. Но во втором случае единицы поданы для того, чтобы обеспечить возможность работы линий в режиме ввода.

Контроллер периодически опрашивает состояние клавиш путем изменения сигналов на выходах РЗ.О...РЗ.З и считывания сигнала из порта Р1. В случае обнаружения замыкания контактов одной из клавиш, программа выполняет закрепленные за этой клавишей действия. В случае, если при опросе клавиатуры обнаружится несколько одновременно нажатых клавиш, это считается ошибкой и никаких действий не выполняется. Если ни одна клавиша не нажата, никаких действий также не выполняется. Такой алгоритм

используется в большинстве современных клавиатур. Каким же образом осуществляется опрос клавиш? Процедура опроса клавиш поочередно переводит одну из линий Р3.0...РЗ.З в нулевое состояние. Сначала в нулевое состояние переводится линия РЗ.О. Сразу после этого контроллер производит чтение числа из порта Р1. Если ни одна из клавиш не нажата, то все разряды считанного числа будут равны единице (считанное число будет равно 0FFH). Если хотя бы одна из клавиш К1...К8 окажется нажатой, то число, прочитанное из порта Р1, будет отличаться от значения 0FFH. Предположим, что мы нажали клавишу К1. Тогда сигнал логического нуля с выхода РЗ.О поступит на вход Р1.0 и младший разряд считанного числа окажется равным нулю. В этом случае процессор из порта Р1 прочитает 0FEH. Нажатие любых других клавиш этой вертикали (К2...К8) приведет к обнулению других разрядов считываемого числа. В результате для разных комбинаций клавиш мы получим разные коды.



Аналогичным образом микроконтроллер опрашивает остальные вертикали клавиш. То есть, на следующем этапе, процессор выставляет ноль на линию Р3.1, а линию РЗ.О возвращает в единичное состояние. После этого считанное из порта Р1 число будет определять состояние клавиш К9...К16. Затем ноль выставляется на линию Р3.2 и проверяется состояние клавиш К17...К24. И в заключение ноль выставляется на линию РЗ.З и проверяется состояние клавиш К25...К32. Анализируя полученные при этом коды можно вычислить номер нажатой клавиши.

 



<== предыдущая лекция | следующая лекция ==>
Простейшие исполнительные устройства в МПТ | Подключение матричной клавиатуры с использованием дешифратора


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.485 сек.