27. Управление клавиатурой
Управление клавиатурой возможно через порты 60h, 61h, 64h; прерывание INT 09h; прерывание INT 15h; функции DOS (INT 21h). Доступ к клавиатуре через порты ввода-вывода является самым низкоуровневым методом доступа. Такой метод используется обычно только прерываниями INT 09h, INT 15h и драйверами клавиатуры.
С помощью порта 61h можно определить, доступен ли контроллер клавиатуры, и разрешить (запретить) доступ к нему. Причем, если значение, возвращаемое из порта 61h, содержит в седьмом разряде нуль, то контроллер клавиатуры не доступен. Пример работы с портом 61h из прерывания INT 09h:
Порт 60h предназначен для чтения данных с клавиатуры и сохранен для совместимости с клавиатурой PC XT.
С помощью порта 64h можно читать данные с клавиатуры (коды клавиш и статус), программировать и осуществлять настройку клавиатуры.
Команды контроллера клавиатуры: EDh Установить индикаторы состояния; EEh Эхо (средство диагностирования); F0h Выбрать альтернативный режим; EFh-F1h Резерв - холостые команды (NOP); F2h Идентификатор расширенной клавиатуры; F3h Установить частоту повторения клавиши; F4h Разрешить клавиатуру; F5h Запрет по умолчанию; F6h Установить условия по умолчанию; F7h-FAh Установить все клавиши; FBh-FDh Установить отдельные клавиши; FEh Послать повторно; FFh Сброс.
Рекомендуется использовать порт 60h для чтения сканкодов, а 64h – для определения статуса и программирования клавиатуры. Такое разделение функций обеспечит максимальную гибкость программам.
При программировании контроллера клавиатуры необходимо первоначально в порт 64h записать код команды, сделать задержку и затем записать байт данных.
- 2. Теневая память
- 6.Недостатки ms-dos и пути их преодоления
- 7.Структура conventional памяти
- 9. Обработчики 09h и 16h клавиатуры
- 10. Extended память
- Expanded память
- Upper память
- 14.Структура данных на магнитных дисках
- 15. Клавиатура. Scan-код
- 16. Распределение памяти в реальном режиме
- Адресация озу при использовании сегментации в защищённом режиме
- 19. Hma память
- Механизм страничной адресации
- 23.Тест клавиатуры
- 24. Прерывания bios
- Преобразование логического адреса в физический при включённой страничной адресации
- 26. Исключения и их обработка
- 27. Управление клавиатурой
- 28. Приоритет обработки прерываний
- Привилегии и защита программ
- 30.Механизм виртуальной памяти
- 31.Дескрипторы сегментных регистров
- 32.Кэш память
- 33.Таблицы локальных и глобальных дескрипторов
- 34.Cga, vga адаптеры
- Характеристики vga адаптеров
- 35.Таблица дескрипторов idt
- 37.Шлюзы и их применение
- 38.Понятие дескриптора
- 39. Адаптер дисплея
- 40.Функции dos и bios для клавиатуры
- 41 Пять компонентов защиты
- 42.Виртуальный 8086
- 43.Классы приоритетов
- 44.Многозадачный режим. Статические и динамические наборы
- 45.Шлюз задач
- 46. Библиотеки dll
- Явная компоновка
- 47.Виртуальная память процессора
- 48.Адресное пространство w9х
- 49.Адресное пространство nt
- 51. Файл подкачки страниц
- 52. Два процесса – один ехе файл.
- 53. Физическая память и страничный файл
- Физическая память в страничном файле не хранится
- 54. Алгоритм загрузки программ
- 56. Переданная и зарезервированная память
- 57.Разделы ехе файла
- 58. Проецируемые в память файлы
- 59.Механизмы работы с файлами больших размеров
- 60. Различия в обработке прерываний и исключений