С помощью программного приложения «Клавиатура», команд, значений скан-кодов клавиш и временных параметров смоделировать взаимодействие контроллера клавиатуры и компьютера (вариант диалога задается преподавателем). Справочная информация, используемая для выполнения лабораторной работы, приведена в таблицах 29-34.
Таблица 29. Коды основных команд
Код команды
Описание команды
0xFF
Reset – выполнение самопроверки и загрузка установки
по умолчанию
0xF6
Set Default – сброс в начальное состояние (задержек
и светодиодов)
0xF5
Set Default Disable – запрет сканирования
клавиш
0xF4
Enable – разрешить сканирование
клавиш
0xF3
Set Typematic Rate/Delay – установка задержки и частоты повторения
0xEE
Echo – Эхо (запрос или ответ)
0xED
Set/Reset LEDs – устанавление состояния диодов клавиатуры
0xFA
Acknowledge – подтверждение
0xAA
Controller self-test – самопроверка завершилась
успешно
0xFD
Diagnostic Failure – ошибка внутреннего
текста
Таблица 30. Основные скан-коды клавиатуры
Клавиша
Код
Клавиша
Код
1 !
A
1C
2 @
1E
S
1B
3 #
D
4 $
F
2B
5 %
2E
G
6 ^
H
7 &
3D
J
3B
8*
3E
K
9 (
L
4B
0 )
; :
4C
- -
4E
‘ “
= +
` ~
0E
Backspace
Shift (L)
Tab
0D
\ |
Q
Z
1A
W
1D
X
E
C
R
2D
V
2A
T
2C
B
Y
N
U
3C
M
3A
I
, <
O
. >
P
4D
/ ?
4A
[ {
Shift (R)
] }
5B
Alt (L)
Enter
5A
(Space bar)
Ctrl (L)
Caps Lock
Примечание. Для ввода символов верхнего регистра (‘A’, ‘F’, ‘!’,’#’ ) используется левый Shift.
Таблица 31. Выбор частоты повтора
Биты
Частота повторов
(cps – повторы в секунду)
Таблица 32. Выбор задержки
Биты
Задержка (ms)
Таблица 33. Выбор светодиодов
Биты
Светодиоды
Scroll Lock
Num Lock
Caps Lock
Таблица 34. Описание портов
Номер порта
Описание
0x60
Используется для передачи параметров команд и скан-кодов клавиатуры и для ответа контроллером
0x64
Управляющий порт. Используется для отправки команд
Окно пользовательского интерфейса используемого приложения приведено на рисунке 29. В левой части окна находятся: переключатель для выбора передающей стороны (компьютер или контроллер), поле для ввода номера порта, поле для ввода команды и поле для задания параметров команд. Там же расположены управляющие кнопки Послать байт и Проверка, поля для ввода значения частоты повторений и времени задержки, а также схематичное изображение светодиодов, имеющихся на реальной клавиатуре.
Рис. 29. Окно пользовательского интерфейса программы «Клавиатура»
В правой части окна находится Экран сообщений, куда выводятся сообщения, которыми обмениваются передающие стороны. Под Экраном сообщений находится поле, в которое вводится последовательность скан-кодов.
Кнопка Послать байт служит для передачи и выполнения выбранной команды. Кнопка Проверка предназначена для проверки правильность ввода последовательности скан-кодов. После нажатия на эту клавишу появляется сообщение с рассчитанным по введенным скан-кодам значением проверочного числа (рис. 30). Если это число совпадает с числом, которое находится у преподавателя, то введенная студентом последовательность скан-кодов верна.
Рис. 30. Окно сообщения о значении рассчитанного
проверочного числа
Отчет по лабораторной работе должен содержать:
краткий теоретический материал;
перечень используемых команд и их параметров для каждого из пунктов задания;
подготовленную для ввода строку скан-кодов (с подробными пояснениями);
окно пользовательского интерфейса программы «Клавиатура» после завершения выполнения всех заданий;