АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Принцип работы контроллера клавиатуры и его интерфейс с BIOS

Читайте также:
  1. I. Назначение, классификация, устройство и принцип действия машины.
  2. I. Организация выполнения выпускной квалификационной работы
  3. II. Методологічні засади, підходи, принципи, критерії формування позитивної мотивації на здоровий спосіб життя у дітей та молоді
  4. II. Основные принципы и правила поведения студентов ВСФ РАП.
  5. II. Порядок подготовки, защиты и оценки квалификационной работы
  6. II. Работы учеников Уильяма Джеймса: Дж. Дьюи, С. Холла, Дж. Кэттела, Э. Торндайка
  7. II. Рекомендации по оформлению контрольной работы.
  8. II. Требования охраны труда перед началом работы.
  9. II. Требования охраны труда перед началом работы.
  10. II. Требования охраны труда перед началом работы.
  11. III. Истоки психологии в России: работы И.М. Сеченова
  12. III. Общие методические указания по выполнению курсовой работы

Контроллер клавиатуры работает следующим образом: при нажатии или отпускании любой клавиши генерируется байт (так называемый скан-код), первые 7 битов которого содержат порядковый номер клавиши, а последний, седьмой бит, сброшен, если клавиша была нажата, и установлен, если отпущена. Этот скан-код можно прочитать через порт 60h (на самом деле врутри контроллера клавиатуры есть некая очередь скан-кодов, а порт 60h лишь отображает верхний код, но об этом можно и не знать). И еще. Как только клавиша нажимается или отпускается, вызывается 9-е прерывание (IRQ 1).
Но не всегда нажатие или отпускание клавиши генерирует один скан-код. Например, нажатие клавиши Pause вызывает генерацию сразу 5-и кодов. Нажатие белой стрелки вверх вызывает скан-код 72, а черной стрелки вверх - сразу 2 кода: 224 и 72. И для каждого из этих скан-кодов вызывается 9-е прерывание.
Таким образом, процедура обработки клавиатуры BIOS, "сидящая" на 9-м прерывании, просто анализирует значение 60h-го порта и соответствующим образом модифицирует буфер ввода. Все процедуры BIOS далее работают не с текущем значением порта, а с буфером ввода, что позволяет осуществлять ввод с опережением, то есть даже тогда, когда система занята.

 

 


1 | 2 | 3 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.)