- Главная
- Информатика
- Контроллер клавиатуры
Содержание
- 2. Задание Программируя клавиатуру помигать ее индикаторами. Алгоритм мигания произвольный. Условия реализации программы, необходимые для выполнения лабораторной
- 3. Основные принципы функционирования клавиатуры микропроцессор 8048 выполняет : слежение за нажатиями клавиш и передачи их состояния
- 4. При нажатии клавиши блок клавиатуры передает ее код сканирования центральному процессору. Когда клавиша отпускается, клавиатура снова
- 5. Клавиатура выполняет еще и функцию повторения клавиши. Блок клавиатуры следит за тем, сколько времени клавиша остается
- 6. Каждый переданный компьютеру скан-код (числовое значение) обрабатывается и преобразовывается в код ASCII, который и применяется для
- 8. Существует три основных способа программировании клавиатуры: Поддержка клавиатуры посредством функций BIOS. 2. Работа с контроллером клавиатуры
- 9. Программа int09, помимо порта 60h, работает еще с двумя областями оперативной памяти: кольцевым буфером ввода, располагаемым
- 10. Однако имеется ряд клавиш, которым не назначены отображаемые на экране символы. Это, например, функциональные клавиши F1...F12;
- 11. 60h для записи - регистр управления клавиатурой. Байт, записанный в этот порт (если бит 1 в
- 12. Перед началом работы с клавиатурой следует проверить наличие данных в буфере (бит 0 в регистре статуса).
- 13. Примеры Проверка наличия клавиатуры Управление индикатором
- 17. Скачать презентацию
Задание
Программируя клавиатуру помигать ее индикаторами. Алгоритм мигания произвольный. Условия реализации программы,
Задание
Программируя клавиатуру помигать ее индикаторами. Алгоритм мигания произвольный. Условия реализации программы,
Запись байтов команды должна выполняться только после проверки незанятости входного регистра контроллера клавиатуры. Проверка осуществляется считывание и анализом регистра состояния контроллера клавиатуры.
Для каждого байта команды необходимо считывать и анализировать код возврата. В случае считывания кода возврата, требующего повторить передачу байта, необходимо повторно, при необходимости – несколько раз, выполнить передачу байта. При этом повторная передача данных не исключает выполнения всех оставшихся условий.
Для определения момента получения кода возврата необходимо использовать аппаратное прерывания от клавиатуры.
Все коды возврата должны быть выведены на экран в шестнадцатеричной форме.
Основные принципы функционирования клавиатуры
микропроцессор 8048 выполняет :
слежение за нажатиями клавиш и
Основные принципы функционирования клавиатуры
микропроцессор 8048 выполняет :
слежение за нажатиями клавиш и
самодиагностику (после включения питания компьютера),
проверку нажатия клавиш и противодребезговую защиту (что не позволяет воспринимать одну нажатую клавишу как две).
буферизацию до 20 нажатий клавиш, если центральный процессор не может их принять сразу.
Процедура ввода с клавиатуры системы BIOS в ПЗУ имеет собственный буфер. Буфер клавиатуры может содержать 20 символов, а буфер системы BIOS - только 15.
Блок клавиатуры не связывает с клавишами никаких конкретных значений. Вместо этого, блок клавиатуры идентифицирует клавишу по ее номеру или коду сканирования. Все клавиши имеют коды сканирования от 1 до 83.
При нажатии клавиши блок клавиатуры передает ее код сканирования центральному процессору.
При нажатии клавиши блок клавиатуры передает ее код сканирования центральному процессору.
имеются различные коды для нажатия и освобождения клавиш.
Для работы с клавиатурой используются порты и прерывания. Когда выполняется какое-либо действие с клавишей(нажатие или освобождение), процессор клавиатуры обнаруживает его и запоминает в своем буфере. Затем, процессор клавиатуры формирует прерывание с номером 9. В ответ на прерывание служебная процедура системы BIOS в ПЗУ считывает код сканирования клавиши из порта клавиатуры (порт номер 96(60h)) и затем пересылает в порт клавиатуры команду очистить буфер процессора клавиатуры. Если системный блок не реагирует на прерывания клавиатуры, то коды сканирования накапливаются в буфере процессора клавиатуры,
Специальный код сканирования 255, шестнадцатеричное значение FF, используется блоком клавиатуры, для сообщения, что его буфер заполнен.
Клавиатура выполняет еще и функцию повторения клавиши. Блок клавиатуры следит за
Клавиатура выполняет еще и функцию повторения клавиши. Блок клавиатуры следит за
Процедуры системы BIOS в ПЗУ могут распознавать отличие повторных нажатий клавиши от повторения сигнала удерживаемой в нажатом состоянии клавиши, путем анализа кодов сканирования освобожденной клавиши. Если для одной и той же клавиши получены два кода нажатой клавиши и между ними не было кода освобожденной клавиши, значит клавиша удерживается процедурами системы BIOS для подавления функции повторения тех клавиш, которым она не нужна, таких как, например,
клавиша смещения (shift).
Таким образом, Блок клавиатуры занимается физической стороной, механизмом функционирования клавиатуры, а программы системы BIOS в системном блоке выполняют все логические операции по интерпретации действий клавиатуры.
Каждый переданный компьютеру скан-код (числовое значение) обрабатывается и преобразовывается в
Каждый переданный компьютеру скан-код (числовое значение) обрабатывается и преобразовывается в
Существует три основных способа программировании клавиатуры:
Поддержка клавиатуры посредством функций BIOS.
2. Работа
Существует три основных способа программировании клавиатуры:
Поддержка клавиатуры посредством функций BIOS.
2. Работа
3. Программирование клавиатуры в Win32 API.
Программа int09, помимо порта 60h, работает еще с двумя областями оперативной
Программа int09, помимо порта 60h, работает еще с двумя областями оперативной
64h для чтения - регистр состояния клавиатуры, возвращает следующие биты:
бит 1: в буфере ввода есть данные (для контроллера клавиатуры)
бит 0: в буфере вывода есть данные (для компьютера)
При записи в этот порт он играет роль дополнительного регистра управления. клавиатурой, но его команды сильно различаются для разных плат
Однако имеется ряд клавиш, которым не назначены отображаемые на экране символы.
Однако имеется ряд клавиш, которым не назначены отображаемые на экране символы.
60h для записи - регистр управления клавиатурой. Байт, записанный в этот
60h для записи - регистр управления клавиатурой. Байт, записанный в этот
Команда OEDh 0?h - изменить состояние светодиодов клавиатуры. Второй байт этой команды определяет новое состояние:
бит 0: состояние Scroll Lock (1 - включена, 0 - выключена)
бит 1: состояние Num Lock
бит 2: состояние Caps Lock
При этом состояние переключателей, которое хранит BIOS в байтах состояния клавиатуры, не изменяется, и при первой возможности обработчик прерывания клавиатуры BIOS восстановит состояние светодиодов.
Перед началом работы с клавиатурой следует проверить наличие данных в буфере
Перед началом работы с клавиатурой следует проверить наличие данных в буфере
Команда EEh
Команда позволяет протестировать клавиатуру на предмет работоспособности. Если в работе клавиатуры возникли сбои, следует сделать сброс (команда FFh) и послать эту команду. Возвращаемое значение, отличное от EEh. явно укажет на сбои в работе клавиатуры. Команда F2h
Эта команда позволяет получить идентификатор клавиатуры и убедиться в ее наличии. После выполнения команды клавиатура вернет код подтверждения FAh, а затем идентификатор.
Примеры
Проверка наличия клавиатуры
Управление индикатором
Примеры
Проверка наличия клавиатуры
Управление индикатором