Методические указания по лабораторным работам по курсу «Аппаратные средства компьютерных систем», страница 36

В табл. 5.3 приведены разряды байта команды контроллера 8042. Установка разряда 5 позволяет запрограммировать клавиатуру на поддержку интерфейса IBM PC. В этом режиме контроллер не конвертирует коды сканирования и не контролирует паритет. Разряд 6 задает режим совместимости с IBM PC. В этом режиме двухбайтовые после­довательности кодов сканирования, полученных от клавиатуры, преобразуются в однобайтовый формат IBM PC.

Контроллер 8042 включает в себя три порта для непосредственного подключения аппаратуры, назначение разрядов которых показано в табл. 5.4:

—  8-разрядный выходной порт для управления системными функциями и обмена с клавиатурой (порт 2);

—  8-разрядный входной порт чтения информации о конфигурации системы для процедур BIOS (порт 1);

—  2-разрядный контрольный порт чтения состояния линий синхронизации и данных клавиатуры (TEST0, TEST1).

Для записи в выходной порт необходимо ввести команду D1h (следующий байт — значащий) по адресу 64h, а затем ввести нужное значение данных для выходного порта по адресу 60h. Команду D1h нельзя использовать для изменения любых разрядов выходного порта, за исключением 1.

Чтобы прочитать значение входного или выходного порта 8042, нужно ввести по адресу 64h команду C0h или D0h соответственно, затем прочитать выходной буфер 8042 (порт 60h).

Для чтения контрольного порта TEST, необходимо ввести команду E0h по адресу 64h и прочитать выходной буфер 8042 (порт 60h).

Таблица 5.3 — Формат командного байта контроллера 8042

Бит

Назначение

0

Разрешение формирования запроса на прерывание по заполнению выходного буфера (0 – прерывание запрещено, 1 – разрешено)

1

Зарезервирован (должен быть равен нулю)

2

Системный флажок (устанавливает соответствующий разряд регистра состояния)

3

Отмена блокировки защитного замка (0 – блокировка разрешена; 1 –состояние замка игнорируется)

4

Блокировка клавиатуры (0 – интерфейс клавиатуры разрешен, 1 – запрещен)

5

Режим IBM PC (0 – использовать 11-разрядные коды клавиатуры PC AT, 1 – коды, совместимые с РС ХТ)

6

Режим совместимости с IBM PC (0 – коды клавиатуры не преобразуются; 1 – коды клавиатуры преобразуются в коды сканирования 8088/8086)

7

Зарезервирован (должен быть равен нулю)