Как работает клавиатура?

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

Под клавишами клавиатуры находится набор электросхем. Это и есть клавиатурная матрица. Чип консоли имеет входной и выходной порты. Горизонтальные матричные линии X(0…4) подключены к входному порту, а вертикальные Y(0…5) — к выходному. Кроме того,  все горизонтальные линии включены в источник питания +5В через резисторы.

Все клавиши клавиатуры у ноутбука находятся на пересечении линий матрицы, и цепь под каждой кнопкой разомкнута (логическая единица). Когда происходит нажатие клавиши, она надавливает на переключатель, и горизонтальная и вертикальная линии, соответствующие нажатой кнопке, замыкаются. Клавиатурный процессор по очереди устанавливает на каждой из вертикальных линий логический ноль и  постоянно сканирует состояние горизонтальных линий матрицы. Пока кнопки не нажаты,  значение напряжения на каждой горизонтальной линии соответствует логической единице.  Как только зафиксировано механическое нажатие, цепь замыкается. Когда процессор «дойдет» до нужной вертикальной линии и установит на ней значение логического нуля, то уровень напряжения на горизонтальной линии также станет соответствовать логическому нулю.

Когда устройство обнаруживает, что цепь замкнулась, оно фиксирует нажатую  клавишу и пересылает компьютеру номер прерывания и номер клавиши в матрице. То же самое происходит, если нажатую кнопку отпустить. Номера клавиш — скан-коды —  находятся в таблице кодов символов и хранятся в постоянной памяти процессора. Таблица задана в схеме клавиатурной матрицы и не связана с обозначениями на поверхности кнопки.

Программа распознавания использует ASCII-коды, а не скан-коды, т.к. одной и той же клавише может соответствовать несколько значений, когда она, например, нажата вместе с другими кнопками.

Преобразование из скан-кода в ASCII-код выполняется программно с помощью  модулей BIOS. Для использования кириллицы существуют специальные драйвера, входящие в состав операционных систем.

GD Star Rating
loading...
Рейтинг: 10.0 из 10 (2 голоса)

Оставить коментарий

©2011 softocop.ru, created by Kovnir Vladislav.
Softocop