Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Резидентний оброблювач клавіатури (перехоплення натискань клавіш і запис у файл)

Реферат Резидентний оброблювач клавіатури (перехоплення натискань клавіш і запис у файл)





аймера.

Зрозуміло, обробка переривань не повинна займати багато часу: якщо переривання відбувається досить часто (наприклад, переривання послідовного порту може відбуватися 28800 разів в секунду), його обробник обов'язково повинен виконуватися за більш короткий час. Якщо, наприклад, обробник переривання таймера буде виконуватися 1/32, 4 секунди, тобто половину часу між перериваннями, вся система стане працювати в два рази повільніше. А якщо ще одна програма з таким же довгим обробником перехопить це переривання, система зупиниться зовсім. Саме тому обробники переривань прийнято писати виключно на асемблері.

2.7. Резидентний обробник переривань від клавіатури з підключенням до системного обробника

Практично будь-яка програма, в якій передбачено управління ходом її виконання за допомогою команд, що подаються з клавіатури, має в своєму складі обробник переривань від клавіатури. Залежно від поставлених перед нею завдань, обробник може підключатися до системного, виконуючи обробку скан-кодів натискає клавішу, або після системного, працюючи в цьому випадку з кодами ASCII. виникаючими на виході системного обробника. Нерідкі випадки, коли прикладної обробник виконує частину своїх функцій до системного, а частина - після. Справжня і кілька наступних статей присвячені цій важливій для прикладного програміста питання.

Для того щоб написати, обробник переривань від клавіатури, необхідно добре уявляти, яким чином вводяться, куди потрапляють і як обробляються символи, що вводяться з клавіатури. Процес взаємодії системи з клавіатурою зображений на рис. 2.3. p> IRQ INT Адреса системного

Апаратне Контролер Мікро-обробника int09h

переривання переривань Вектор09 процесор з вектора 09

на IRQ1

IRQ7 Запуск систем

Натискання або обробника int09h

відпускання Байт прапорів

будь-якої клавіші Системний клавіатури

Контролер Порт 60h обробник [40h: 17h]

клавіатури Скан-код int09h | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |

Клавіатура

Ins

скан-код Код Caps Lock

Кільцевій буфер ASCII Num Lock

40h: 1Eh введення Scroll Lock

40h: 1Ah Alt

Адреса головного скан ASCII Ctrl

символу скан ASCII Shift лівий

Скан ASCII Shift правий

Програма скан ASCII

користувача Адреса хвостового

В· В· В· Символу

Запит на введення 40h: 3Ch

з клавіатури Введення самого

"старого" символу

Рис. 2.3. Процес взаємодії системи з клавіатурою.


Роботою клавіатури управляє спеціальна електронна схема - контролер клавіатури. У його функції входить розпізнавання натиснутою клавіші і приміщення закріпленого за ній коду у свій вихідний регістр (порт) з номером 60h. Код клавіші, що надходить в порт, називається скан-кодом і є, по суті, порядковим номером кла-

віші. При цьому кожній кла...


Назад | сторінка 11 з 23 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Сортування вводяться з клавіатури слів
  • Реферат на тему: Розробка програми-драйвера клавіатури
  • Реферат на тему: Переклад тексту в іншу розкладку клавіатури
  • Реферат на тему: Розробка контролера матричної клавіатури на мікроконтролері К1816ВЕ48
  • Реферат на тему: Планування рекламної кампанії фірми на прикладі ЗАТ &Скан-Центр&