Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ_1.doc
Скачиваний:
8
Добавлен:
23.09.2019
Размер:
1.09 Mб
Скачать

5.2.1. Массивы клавишей, кнопок и индикаторов

Исторически сложились три основных типа клавиатур: ХТ, АТ и расширенная (Enhanced)2. Они различаются числом присутствующих клавишей и индикаторов и их распределением на поверхности клавиатуры.

Изначально клавиатура ХТ имела 83 клавиши без светодионых индикаторов. Впоследствии в клавиатуру ввели индикаторы NumLock и CapsLock. Состояние индикаторов не всегда было синхронизировано с данными о клавиатуре, хранящимися в ОЗУ и использующимися драйверами клавиатуры. Клавиши распределены по четырём подмножествам: символьные клавиши (цифры, буквы, знаки препинания и т.д.), дополнительная клавиатура (ввод цифр и десятичной запятой в режиме NumLock или управление курсором), функциональные F1 – F10 и модифицирующие Shift, Ctrl, Alt.Клавиатура АТ в классическом варианте является клавиатурой ХТ, в которую добавлены клавиша SysReg и индикатор ScrollLock. Все три индикатора управляются программно.

Расширенная клавиатура может иметь 101, 102, 104, 105 и 122 клавиши. Клавиши и кнопки организованы в следующие группы:

  • основная клавиатура, содержащая символьные клавиши и клавиши-модификаторы;

  • функциональная клавиатура;

  • цифровая клавиатура при включённом индикаторе NumLock, она же используется как клавиатура управления курсором при выключенном индикаторе NumLock;

  • выделенные клавиши управления курсором и экраном, дублирующие эти функции цифровой клавиатуры;

  • клавиши управления питанием;

  • клавиши-кнопки быстрого доступа к приложениям.

Клавиатуры ХТ и АТ совместимы по электрическому интерфейсу, но несовместимы по логическому. Для подключения клавиатуры к системной плате применяются разъёмы DIN, mini-Din (для клавиатур PS/2), USB и даже радиопорт.

5.2.2. Скан-коды клавиатуры

При нажатии и отпускании клавишей в компьютер передаются коды клавишей, которые называются скан-кодами и идентифицируют расположение клавиши на клавиатуре. Некоторые клавиши передают цепочки кодов, начинающиеся префиксами (приставками) Е0 или Е1. При отпускании клавиши посылается сообщение о факте отпускания клавиши, а не нажатия. Современные клавиатуры работают в одном из следующих наборов скан-кодов: Set#1 и Set#2.

Набор Set#1 соответствует клавиатурам ХТ и АТ-84 и предусматривает передачу, как правило, однобайтных скан-кодов. При отпускании клавиши её скан-код складывается с числом 80h, что равносильно инвертированию 7 бита. При отпускании клавишей, передающих цепочки скан-кодов префиксы не меняются, а инвертируются седьмые биты кодов, входящих в цепочку. Расширенные скан-коды передаются в порядке обратном порядку передачи скан-кодов при нажатии клавиши. Запрещены скан-коды 00h, 60h, 61h, 5Ah, 6Eh и большие, чем 79h.

Набор Set#2 применяется в расширенных клавиатурах и предусматривает передачу двух байтов. Первый байт содержит признак нажатия/отпускания, второй – не модифицированный скан-код клавиши. При отпускании клавиши в первый байт записывается F0. При нажатии и отпускании клавишей, генерирующих префикс и расширенный код, после префикса передаётся признак нажатия/отпускания клавиши. Если клавиша генерирует цепочку пар кодов при нажатии, то при отпускании клавиши каждая пара кодов заменяется тройкой кодов, передающихся в порядке обратном относительно порядка передачи кодов при нажатии клавиши.

Контроллер интерфейса клавиатуры по умолчанию осуществляет преобразование принятых скан-кодов в коды набора Set#0 в целях обеспечения совместимости клавиатур. При желании преобразование можно отменить.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]