Кодирующая клавиатура



Предыдущая | Следующая

Кодирующая клавиатура
Типичная кодирующая клавиатура для персональных компьютеров имеет пять соединений на выходном разъеме (рис. 12.8). Два из них отведены для питания +5 В и земли, а остальные три образуют интерфейс между клавиатурой и системной платой. В клавиатуре IBM PC применяется специализированный 8-битовый процессор 8048, имеющий внутреннее ПЗУ емкостью 2 Кбайт. В ПЗУ хранится специальный символьный код, называемый скан-кодом.
Процессор осуществляет так называемое сканирование (опрос всех элементов поочередно, одного за другим) строк матрицы клавиатуры. Каждая клавиша физически подключена к пересечению строки и столбца. Всего таких пересечений 96. При нажатии клавиши одно из этих пересечений замыкается.

Процессор 8048 всегда сканирует строки в поиске нажатой клавиши, выводя высокий уровень на каждый из столбцов. Сканирование матрицы осуществляется каждые 5 мс, что быстрее работы самой быстрой машинистки в мире. Процессор 8048 воспринимает Н-уровень от строки при отсутствии в ней нажатой клавиши. Эти уровни сохраняются в специальном буферном регистре сканирования.
Когда нажимаем клавишу и пересечение закорачивается, Н-уровень сменяется L-уровнем. Процессор 8048 знает, какой столбец сканируется в данный момент времени. Он также воспринимает L-уровень от строки, которая закорочена. Знание столбца и строки позволяет определить закороченное пересечение. Процессор 8048 сразу же обращается во внутреннее ПЗУ и формирует скан-код для пересечения. Затем он выводит биты скан-кода на интерфейсный разъем клавиатуры. Данные передаются на системную плату в процессор 8088, который проводит дальнейшую обработку.
Если заглянуть внутрь клавиатуры, вы увидите печатную плату с матрицей и электронные компоненты в виде микросхем и дискретных элементов. Схема клавиатуры довольно проста.
На рис. 12.8 показана логическая схема клавиатуры. Процессор 8048 имеет внутренний генератор синхронизации и внешний кварц. Кварц подключен к контактам XI и Х2. К этим контактам подключено также несколько миниатюрных конденсаторов. Сигнал синхронизации управляет процессором и подается также в системный блок. Синхронизация клавиатуры и системного блока требуется в связи с тем, что они, по существу, являются автономными устройствами.
Матрица имеет 12 строк, обозначенных X, и восемь столбцов, обозначенных Y. На строки через резисторы подается напряжение +5 В. Столбцы через инвертирующие усилители подключены к буферному регистру. Процессор 8048 непрерывно сканирует строки. При отсутствии нажатой клавиши столбцы подают в буферный регистр Н-уровень напряжения. До тех пор пока регистр считывает только Н-уровни, из клавиатуры ничего не выводится.
Когда нажимают клавишу, на соответствующем выходе Н-уровень сменяется L-уровнем и содержимое буферного регистра изменяется. Процессор 8048 знает, какую строку он сканировал в данный момент времени, и локализует пересечение. После этого процессор обращается к внутреннему ПЗУ и формирует биты, соответствующие нажатой клавише. Эти биты в последовательной форме передаются в системную плату.
Отметим, что линии выходных данных и синхронизации имеют инверторы, которые инвертируют выход и усиливают его для подачи во входные схемы системной платы.
Третья линия называется *BUSY (занят), и по ней подается сигнал от системной платы в клавиатуру. Она также имеет инвертор. Сигнал *BUSY позволяет процессору 8048 узнать, когда можно выводить данные и когда этого делать нельзя, так как системная плата занята и не может принять данные. При Н-уровне сигнала *BUSY данные можно передавать, а L-уровень препятствует передаче.
На схеме показаны контакты заземления, питания 4-5 В и сброса. Кодирующая клавиатура оказывается довольно простой схемой. Единственным сложным элементом внутри нее является процессор 8048.

 

 Поиск и устранение неисправностей в персональных компьютерах