Принципы работы клавиатуры
При вводе информации с клавиатуры каждый введенный символ преобразуется в соответствующий двоичный код, который передается в компьютер для последующей его обработки. При выводе информации осуществляется обратное преобразование, и двоичный код преобразуется во внешнее его представление.
Для кодирования символов в ЭВМ используется специальная таблица кодов ASCII (American Standart Code for Information Interchange – американский стандарт кодов для обмена информацией), применяемая на большинстве компьютеров. Таблица кодировки обеспечивает взаимное соответствие изображений символов на экране с их числовыми кодами, и ставит в соответствие каждому символу семиразрядный двоичный код.
В ASCII-кодировке представлены 128 символов, которые делятся на две группы:
1. символы пишущей машинки, т.е. прописные и строчные латинские буквы, цифры, и специальные знаки;
2. управляющие символы, используемые для передачи команд в коммуникационных программах.
Семи разрядов ASCII-кода совершенно недостаточно для представления символов языков с алфавитом, отличным от латинского. Поэтому в большинстве стран используются свои собственные версии кодировок, основанные на ASCII.
При нажатии клавиши клавиатура посылает процессору сигнал прерывания, что заставляет процессор приостановить свою работу и переключиться на программу обработки прерывания клавиатуры.
При этом клавиатура в своей собственной специальной памяти (буфере) запоминает, какая клавиша была нажата. После передачи кода нажатой клавиши процессору эта информация из буфера клавиатуры исчезает.
Буфер клавиатуры рассчитан на хранение до 20 кодов нажатых клавиш и логически организован в виде циклического списка-очереди. Код только что нажатой клавиши размещается в конце списка, если он не пуст. Если на момент запроса буфер пуст, то программа переходит в состояния ожидания ввода реального символа. Наличие буфера позволяет нажимать клавиши на клавиатуре с упреждением (заранее), что ускоряет работу на ЭВМ.
Каждой клавише на клавиатуре соответствует семиразрядный код сканирования – скэн-код. Перечень этих кодов для 83-клавишной клавиатуры приведен в таблице.
Коды сканирования усовершенствованной 101-клавишной клавиатуры полностью совместимы с кодами 83-клавишной клавиатуры, а дополнительные клавиши кодируются оставшимися числами семиразрядного кода.
Кроме нажатия клавиатура отмечает также и отпускание каждой клавиши, посылая процессору свой сигнал прерывания с соответствующим кодом. При нажатии клавиши клавиатура генерирует однобайтный код нажатия, а при отпускании – также однобайтный код отпускания. Код нажатия клавиши совпадает с кодом сканирования. Код отпускания отличается от соответствующего кода нажатия тем, что он больше его на 128.
Таким образом, компьютер всегда “знает“, нажата ли клавиша или она уже отпущена. Это свойство используется при переходе на другой регистр. Кроме того, если клавиша нажата дольше определенного времени, (обычно около половины секунды), то клавиатура генерирует повторные коды нажатия этой клавиши.
Дата добавления: 2015-07-24; просмотров: 770;