Здавалка
Главная | Обратная связь

Принципы работы клавиатуры



В настоящее время большинство клавиатур выполнено в виде отдельного устройства, подключаемого к компьютеру с помощью одного из разъемов, чаще всего PS/2 или USB. Существуют два микроконтроллера, обеспечивающие процесс обработки клавиатурного ввода: один — на материнской плате ПК, второй — в самой клавиатуре. Таким образом, клавиатура персонального компьютера сама по себе является компьютерной системой. Она построена на основе микроконтроллера 8042, который постоянно сканирует нажатия клавиш на клавиатуре — независимо от активности на центральном процессоре x86.

За каждой клавишей клавиатуры закреплен определенный номер, однозначно связанный с распайкой клавиатурной матрицы и не зависящий напрямую от обозначений, нанесенных на поверхность клавиш. Этот номер называется скан-кодом (название подчеркивает тот факт, что компьютер сканирует клавиатуру для поиска нажатой клавиши). Скан-код — это случайное значение, выбранное IBM еще тогда, когда она создавала первую клавиатуру для ПК. Скан-код не соответствует ASCII-коду клавиши, одной и той же клавише могут соответствовать несколько значений ASCII-кода.

На самом деле клавиатура генерирует два скан-кода для каждой клавиши — когда пользователь нажимает клавишу и когда отпускает. Наличие двух скан-кодов важно, так как некоторые клавиши имеют смысл только тогда, когда они нажаты (Shift, Control, Alt).


Упрощенная схема клавиатуры

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

Второй микроконтроллер получает скан-код, производит преобразование скан-кода, делает его доступным на порту ввода-вывода 60h и затем генерирует аппаратное прерывание центрального процессора. После этого процедура обработки прерывания может получить скан-код из указанного порта ввода-вывода.

Следует отметить, что клавиатура содержит внутренний 16-байтовый буфер, через который она осуществляет обмен данными с компьютером.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.