С целью получения практических навыков по разработке и выполнению программ, обрабатывающих ввод с клавиатуры, необходимо самостоятельно составить программу в соответствии с вариантом задания (п. 5.7).
Следует учитывать, что клавиатура — это основное средство связи пользователя с системой. В блоке клавиатуры имеется микропроцессор, который сканирует ее в поиске нажатых клавиш. Кроме того, он контролирует свою линию связи с системой. По этой линии от системы поступают команды управления клавиатурой, а системе передаются коды сканирования и подтверждения.
Двунаправленный обмен данными между системой и клавиатурой означает обмен данными между двумя микроконтроллерами Intel 8042: контроллером клавиатуры (UPI, контроллер универсального периферийного интерфейса), расположенным на системной плате, и процессором клавиатуры — в блоке клавиатуры. Контроллер клавиатуры управляет определенными системными функциями, интерфейсом клавиатуры, а также обеспечивает чтение информации о конфигурации системы для процедур BIOS.
В данной лабораторной работе рассматривается 101-клавишная клавиатура. Она предоставляет возможность выбора одного из трех режимов работы; для установки режима 1, 2 или 3 необходимо указать процессору клавиатуры команду F0h с байтом конфигурации соответственно 01h, 02h или 03h.
При каждой передаче команды или данных на клавиатуру (табл. 5.1) система требует от нее подтверждения. Клавиатура отвечает системе специальными кодами. Если только система не запретит вывод данных с клавиатуры, последняя дает ответ в течение 20 мс. Если ответ клавиатуры недействителен или содержит ошибку паритета, система повторно посылает ей команду или данные. Двухбайтовые команды требуют особой обработки. Если были переданы и подтверждены команды F3h, F0h или EDh, а также передан байт данных, но ответ оказался недействительным или с ошибкой паритета, то система передаст повторно и команду, и байт данных.
Таблица 5.1 — Команды процессора клавиатуры
Код |
Функция |
EDh |
Установить индикаторы состояния |
EEh |
Эхо (средство диагностики) |
F0h |
Выбрать альтернативный режим |
EFh-F1h |
Зарезервированы (холостые команды — NOP) |
F2h |
Идентификатор расширенной клавиатуры |
F3h |
Установить частоту/задержку повторения клавиши |
F4h |
Разрешить клавиатуру |
F5h |
Запрет по умолчанию |
F6h |
Установить условия по умолчанию |
F7h-FAh |
Установить все клавиши |
FBh-FDh |
Установить отдельные клавиши |
FEh |
Послать повторно |
FFh |
Сброс |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.