Группы клавиш

Все клавиши можно условно разделить на несколько групп:

1.алфавитно-цифровые клавиши;

2.функциональные клавиши;

3.управляющие клавиши;

4. клавиши управления курсором;

5. цифровые клавиши.

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

Функциональные клавиши F1 – F12, размещенные в верхней части клавиатуры, запрограммированы на выполнение определенных действий (функций). Так, очень часто клавиша F1 служит для вызова справки.

Для перемещения курсора служат клавиши управления курсором, на них изображены стрелки, направленные вверх, вниз, влево и вправо. Эти клавиши перемещают курсор на одну позицию в соответствующем направлении. Клавиши PageUp и PageDown позволяют «листать» документ вверх и вниз, а клавиши Home и End переводят курсор в начало и конец строки.

Очень часто используются управляющие (служебные) клавиши. Они не собраны в одну группу, а размещены так, чтобы их было удобно нажимать.

Клавиша Enter (иногда изображается со стрелкой) завершает ввод команды и вызывает ее выполнение. При наборе текста служит для завершения ввода абзаца.

Клавиша Esc расположена в верхнем углу клавиатуры. Обычно служит для отказа от только что выполненного действия.

Клавиши Shift, Ctrl, Alt корректируют действия других клавиш.

Цифровые клавиши – при включенном индикаторе Num Lock удобная клавишная панель с цифрами и знаками арифметических операций. Расположенными, как на калькуляторе. Если индикатор Num Lock выключен, то работает режим управления курсором.

Основой клавиатуры является матица контактов (клавиш). Клавиши могут выполняться в виде:

резистивных датчиков, которые могут быть выполнены с использованием:

-механических контактов;

-пленочных контактов;

-герконовых контактов;

-емкостных датчиков.

Задачу определения факта нажатия клавиши, формирование ее кода (скан-кода) и передачу данных в ПК решает специализированная микро-ЭВМ (контроллер клавиатуры).

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

.

Основными элементами контроллера являются:

Тактовый генератор

Двоичный счетчик

Дешифратор

ПЗУ

селектор

Выходной регистр

Связь клавиатуры с ПК осуществляется последовательным кодом.

клавиатура осуществляет последовательное сканирование состояния клавиш. Как правило, внутри корпуса любой клавиатуры помимо датчиков клавиш расположен микроконтроллер клавиатуры. В качестве микроконтроллеров клавиатуры обычно используются микросхемы 8048, 8049 фирмы Intel со встроенной ROM памятью или совместимые с ними. Например, в компьютерах IBM часто используется процессор Motorola 6805.

Порядок взаимодействия клавиатуры с ПК представлен на следующем рисунке:

Схема взаимодействия клавиатуры с оборудованием ПК

При нажатии клавиши факт нажатия регистрируется микроконтроллером клавиатуры, который формирует идентифицирующий ее скэн-код и передает его на системную плату компьютера по последовательному интерфейсу, по линиям KB-Data и KB-Clock. Каждая клавиша основного поля клавиатуры генерирует два типа скэн-кодов: "код нажатия", когда клавиша нажимается, и "код отпускания (освобождения)", когда клавиша отпускается. Скэн-коды отпускания отличаются от скэн-кодов нажатия. Код отпускания для клавиатур IBM PC на 80h больше кода нажатия. Данные коды приведены в справочной литературе.

Следует отметить, встречаются сведения, что в PC класса AT используется одна и та же цепочка битов для "кодов нажатия" и "кодов отпускания", но "коды отпускания" состоят из двух байтов, первый из которых всегда равен F0h.

Соответствие скэн-кодов клавишам клавиатуры можно узнать с помощью программы ndiags.exe, входящей в пакет Norton Utilities, программы ts.exe (Trouble Shooter). Следует отметить, что в стандартном наборе OC Windows нет программы, индицирующей скэн-коды нажатой клавиши.

Для получения скэн-кодов нажатой клавиши можно использовать встроенную программу KeyPress. Микроконтроллер клавиатуры способен определять факты нажатия и отпускания клавиш, при этом можно нажимать очередную клавишу, удерживая несколько ранее нажатых. Кроме того, микроконтроллер клавиатуры управляет индикаторами клавиатуры, осуществляет внутреннюю диагностику. Процесс самоконтроля отображается однократным миганием индикаторов Num Lock, Caps Lock, Stroll Lock клавиатуры AT, PS/2 во время выполнения программы Post. Таким образом неисправность клавиатуры выявляется уже на стадии загрузки PC. В клавиатурах PC/XT при ошибке микроконтроллер информирует компьютер. На системной плате компьютеров IBM PC XT для подключения клавиатуры использовалась микросхема программируемого периферийного интерфейса PPI (Programmable Peripheral Interface) 8255. С компьютеров типа IBM PC AT стала применяться микросхема универсального периферийного интерфейса UPI (Universal Peripheral Interface) 8042, называемая в литературе контроллером клавиатуры. Эта микросхема имеет встроенные 2 Кбайт ROM и 128 байт RAM-памяти. Некоторые производители системных плат в качестве контроллера универсального периферийного интерфейса (контроллера клавиатуры) используют микросхемы 8041, 8741, 8242.

Когда скэн-код поступает в контроллер универсального периферийного интерфейса (контроллер клавиатуры), то инициализируется аппаратное прерывание IRQ1 (Interrupt Requests) и выполняется процедура обработки прерывания. Отметим, что более высокий приоритет имеет только IRQ0 присвоенный прерыванию от таймера. Процессор системной платы прекращает работу выполняемого программного обеспечения, отмечает место, в котором остановилось выполнение программы, и выполняет процедуру обработки прерывания клавиатуры. Данное прерывание обслуживается специальной программой, обработчиком прерывания клавиатуры, входящей в BIOS. Эта программа может быть вызвана также через программное прерывание INT9.

Процедура обработки прерывания включает в себя такие операции, как считывание скэн-кода из порта контроллера универсального периферийного интерфейса 8042 по адресу 60h, слежение за состоянием служебных клавиш (Shift, Alt, Ctrl, Caps Lock, преобразование скэн-кода в расширенный код ASCII, детектирование специальных комбинаций клавиш (Ctrl-Alt-Del, Ctrl-Break и т.д.), передача преобразованного кода в буфер клавиатуры, область в оперативной памяти RAM с начальным адресом памяти - 41eh. Таким образом, при поступлении скэн-кода от клавиш (Alt, Ctrl) или (Shift, Caps Lock) изменение статуса записывается в буфер клавиатуры, находящийся в оперативной памяти RAM.

Клавиши управления курсором подключают обработчик прерываний клавиатуры. Во всех остальных случаях скэн-код преобразуется в ASCII-код символа. При этом программа-обработчик прерывания сначала определяет установки клавиш и переключателей, чтобы правильно сформировать код введенного символа (L или l). Затем код помещается в буфер клавиатуры, способный запомнить до 15 вводимых символов, пока подсистема вывода на монитор не может их обработать. Буфер организован по принципу FIFO (первый вошел- первый вышел). При удержании клавиш в нажатом состоянии через некоторое время начинается автоповтор считывания скэн-кода этой клавиши. Задержка автоповтора (Typematic Delay) и скорость автоповтора (Typematic Rate) для клавиатур AT задается командами, посылаемыми в контроллер 8042 из операционной системы. В MS-DOS имеется команда Mode, которая позволяет задать конфигурацию системного интерфейса. Введенные значения остаются в памяти до тех пор, пока они не будут заменены новой командой Mode или пока не произойдет перезапуск операционной системы. Одна из возможностей команды Mode- установка режима клавиатуры по скорости обмена. Для установки режима клавиатуры необходимо набрать в командной строке: mode con: rate=W delay=V, где W - частота повторения символов в секунду, V - время, необходимое для срабатывания повтора при ударении клавиши.

Возможные значения W устанавливаются от 1 до 32. По умолчанию значение параметра равно 20 символам в секунду. Возможные значения V устанавливаются от 1 до 4, где каждая 1 соответствует 0,25 секунды.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: