Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Робота клавіатури




Клавіатура персонального IBM сумісного комп'ютера містить контролер клавіатури (наприклад мікросхему типу Intel 8048), який зменшує навантаження на центральний процесор ПК. Основна діяльність контролера полягає в стеженні за клавішами і видачі повідомлень ROM-BIOS при натисканні і відпусканні клавіш чи їх комбінацій. Якщо будь-яка клавіша залишається натиснутою більш як напівсекунди, контролер надсилає сигнали через задані інтервали часу. Контоллер І8048 має також деякі можливості з діагностування та виявлення помилок, а додатково у буфері контролера може зберігатися інформація про натискання до 20 клавіш, які не зміг прийняти центральний процесор, що у реальному часі буває рідко. Щораз при натисканні чи відпусканні однієї з клавіш схеми клавіатури генерують однобайтове число, яке називається скен-кодом, що однозначно ідентифікує положення клавіші на матриці поля клавіатури. Клавіатура видає різні скен-коди при натисканні і відпусканні клавіші. При натисканні клавіші байт скен-кода містить число в діапазоні від 1 до 83, якщо клавіатура стандартна і містить у конкретному випадку 83 клавіші. При відпусканні клавіші клавіатура генерує скен-код, число якого на 128 більше, ніж скен-код при натисканні клавші, встановлюючи одиницю в старший (сьомий) розряд скен-кода. Наприклад, коли ми натискаємо клавішу Z, у вказаному стандарті клавіатура генерує скен-код 44, а при відпусканні цієї клавіші клавіатура генерує скен-код 172 (44+128). Діаграма на рисунку 2.9 показує клавіші стандартної клавіатури і відповідні їм скен-коди.

При введенні інформації, клавіатура не знає значення клавіші, що натискається, вона просто звітує про ті дії, що відбуваються. Переклад дії натискання клавіші у значущу інформацію, яка використовується програмами — це робота підпрограм ROM-BIOS, що обслуговують клавіатуру. Як ми побачимо, клавіатура зв'язується з ROM-BIOS за допомогою портів і переривань

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

Зміни можуть складатися з придушення натискань клавіш (тобто начебто нічого не відбулося), заміни одних клавіш іншими чи заміни одного натискання клавіші довгою серією натискань. Найбільш розповсюджене використання макросів - це скорочення фраз, що вводяться найбільш часто; наприклад, ми можемо дати команду перетворювати комбінацію клавіш, таку як Alt-S, у вітання, що ми використовуємо у своїй кореспонденції, таке як "Щиро Ваш". Ви можете також використовувати клавіші клавіатури для скорочення програмних команд таким чином, що трьох або чотирьох символьні команди можна буде вводити одним натисканням клавіші. Подібні програми працюють, використовуючи комбінацію можливостей двох спеціальних функцій: одна з них є частиною DOS, а друга - частиною ROM-BIOS.

Схема та скен-коди стандартної клавіатури PC.

Функція DOS дозволяє програмі залишатися резидентною у пам'яті комп'ютера, непомітно керуючи його операціями, у той час як звичайне керування передається іншим програмам, таким, наприклад, як програма підготовки текстів. Можливості ROM-BIOS дозволяють перехопити потік інформації від клавіатури, так що до того, як інформація потрапить у яку-небудь програму, вона може бути переглянута і змінена.

Щоразу, коли натискається або відпускається яка-небудь клавіша на клавіатурі, про цю дію повідомляє ROM-BIOS за допомогою переривання 9, переривання від клавіатури. Переривання 9 викликає підпрограму обробки переривання, що відповідає на це читання з порту 96 (16-рична адреса 60), щоб визначити, яка клавіша була натиснута або відпущена. Потім очікуваний скен-код повертається і підпрограми, що обслуговують клавіатуру, переводять його в 2-байтний код. Молодший байт цього коду містить звичайно код ASCII клавіші, а старший байт — скен-код клавіатури. Спеціальні клавіші, такі як функціональні клавіші і клавіші додаткової цифрової клавіатури, мають у молодшому байті ноль, а в старшому — скен-код.

Потім підпрограми ROM-BIOS розміщують відтрансльований код у чергу, що знаходиться в молодших адресах пам'яті, з 0000 04IE. Ці коди знаходяться тут доти, поки не будуть запитані програмою, що очікує введення з клавіатури.

Клавіатури можуть мати різні конструкції:




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 404; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.