
- •Лабораторная работа №3 Изучение интерфейса клавиатуры персональной эвм
- •Порядок выполнения работы.
- •Приложение 1 – Команды контроллера клавиатуры
- •Установить индикаторы состояния (еDh)
- •Выбрать альтернативный режим (f0h)
- •Холостые операции (еFh-f1h)
- •Идентификатор расширенной клавиатуры (f2h)
- •Установить частоту повторения клавиши (f3h)
- •Разрешить клавиатуру (f4h)
- •Запрет по умолчанию (f5h)
- •Установить условия по умолчанию (f6h)
- •Установить все клавиши (f7h, f8h, f9h, fАh)
- •Установить отдельные клавиши (fВh, fСh, fDh)
- •Коды ответов клавиатуры
Холостые операции (еFh-f1h)
"Холостые операции" (EFh–F1h): в ответ на такую команду клавиатура посылает код повторной посылки (FЕh), не предпринимая никаких других действий.
Идентификатор расширенной клавиатуры (f2h)
"Идентификатор расширенной клавиатуры" (F2h) - это команда, передаваемая клавиатуре при включении питания. Клавиатура отвечает кодом АСК, прекращает сканирование, передает идентификатор клавиатуры и возобновляет сканирование.
Установить частоту повторения клавиши (f3h)
"Установить частоту повторения клавиши" (F3h) - это двухбайтовая команда, которая изменяет значения задержки и частоты повторения клавиши. Схема работы этой команды аналогична схеме работы команды "Установить индикатор состояния" (EDh).
Как только клавиатура получает команду "Установить частоту повторения клавиши", она прекращает сканирование и возвращает код АСК. После этого система посылает клавиатуре байт, в котором содержатся значения частоты повторения и времени задержки. Частота повторения показывает, сколько раз в секунду повторяется данная клавиша. Время задержки - это время, в течение которого клавиша должна удерживаться нажатой, прежде чем начнется функция повторения. Клавиатура возвращает код АСК и остается в предшествующем состоянии сканирования – разрешенном или запрещенном. Для возобновления сканирования должна быть передана команда "Разрешить клавиатуру" (F4h).
Байт частоты повторения и времени задержки имеет следующий формат.
Частота повторения (число повторений в секунду)- разряды 4-0:
-
00000 = 30,0;
10000 = 7,5;
00001 = 26,6;
10001 = 6,7;
00010 = 24,0;
10010 = 6,0;
00011 = 21,8;
10011 = 5,5;
00100 = 20,0;
10100 = 5,0;
00101 = 18,4;
10101 = 4,6;
00110 = 17,1;
10110 = 4,3;
00111 = 16,0;
10111 = 4,0;
01000 = 15,0;
11000 = 3,7;
01001 = 13,3;
11001 = 3,3;
01010 = 12,0;
11010 = 3,0;
01011 = 10.9;
11011 = 2,7;
01100 = 10.0;
11100 = 2,5;
01101 = 9.2;
11101 = 2.3;
01110 = 8,6;
11110 = 2.1;
01111 = 8,0;
11111 = 2,0.
Время задержки (в мс) – разряды 6-5:
00 = 250, 10 = 750,
01 = 500, 11 = 1000.
Седьмой разряд всегда должен содержать нуль.
Разрешить клавиатуру (f4h)
Команда "Разрешить клавиатуру" (F4h) разрешает клавиатуре начать сканирование. После получения этой команды клавиатура возвращает код АСК, сбрасывает выходной буфер и начинает сканирование.