Клавіатура
персонального комп’ютера утримує спеціально вмонтований мікропроцесор. Він при
кожному натисненні і відпуканні клавіші визначає її порядковий номер і
розміщує його в порт 60h спеціальної електронної
схеми – програмуємого периферійного інтерфейсу(ППІ). Далі цей
код будемо називати скен-кодом. Скен-код в перших 7 бітах вміщує порядковий номер натиснутої
клавіші, а восьмий біт дорівнює 0, якщо клавіша була натиснута (прямий скен-код),
и дорівнює 1, якщо клавіша була відпущена
(зоротній скен-код). Коли скен код записаний в порт 60h, схема ППІ видає сигнал
“підтвердження”, повіомлюючи мікропроцесор клавіатури про прийняття
коду.
Якщо клавіша залишається натиснутоюдовше деякого часу
затримки (delay value), мікропроцесор починає генерувати з заданою частотою (typematic rate) прямий скен-код натиснутої клавіші. Значення затримки и
частоти повторення можуть встановлюватися в потрібні значення або через порт
клавіатури, або ж через функцію AH = 03h переривання
16h BIOS. Коли скен-код прийнятий схемою ППІ, аппаратура комп’ютера генерує переривання 9.
Стандартний оброблювач переривання 9-це програма, яка
входить в BIOS (BIOS ISR). BIOS ISR аналізує скен-код і по спеціальним правилам
оброблює його. Відмітимо, що по скен-коду завжди
можна визначити, внаслідок чого ISR отримала управління: через натиснення чи
через відпускання клавіші.
![]() |
![]() |
![]() |