Пристрої введення інформації. Клавіатура

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

електричного сигналу від тієї чи іншої клавіші в двійковий код (відповідно кодовій таблиці) здійснює шифратор. Шифратори можуть виконуватись на контактній або безконтактній основі, отже останні - на інтегральних елементах - отримали переважний розвиток.

Для узгодження клавіатури з мікропроцесором зазвичай використовуються БІС програмованих мікроконтролерів або мікропроцесорів клавіатури. В перших розробках персональних компютерів використовувались контролери, які мали клавіатурну та дисплейну частини. Прикладом такого контролера є програмований контролер клавіатури й індикації (ПККІ) КР580ВВ79, структурна схема якого наведена на рисунку 2.8.

Буфер даних (БД) служить для узгодження із шиною даних DB7 DB0 локальної магістралі мікропроцесора. Блок керування введенням-виведенням (БКВВ) керує прийманням і видачею керуючої інформації і даних від МП. На входи RD (читання) і WR (запис) подаються керуючі сигнали шини керування локальної магістралі МП. Вхід СD зазвичай зєднується з молодшим розрядом адресної шини і служить для поділу керуючої інформації і даних. Вхід СS (вибір мікросхеми) зєднується з дешифратором адреси, що визначає розташування ПККІ в адресному просторі МП.

Буфер клавіатури, що містить схему захисту від дребезгу контактів, приймає по лініях RET0RET7 код позицій клавіш і запамятовує його в стеці клавіатури на 8 байт із механізмом ПРО. Схема аналізу стека (САС) виробляє сигнал переривання на виході INT, якщо черга не порожня. Вхід V/STB використовується для подачі керуючого сигналу при скануванні або стробуванні в режимі введення по стробу. На вхід SН подається сигнал зсуву, який використовується для сканування клавіатури. Лічильник сканування з виходами S0S3 призначений для сканування стану або клавіш дисплея.

 

Рисунок 8 Структура контролера клавіатури типу КР 580ВВ79

 

Оперативний ЗП зберігає інформацію про натиснуті клавіші, яка відображується на дисплеї. Регістр адреси містить адресу даних, які записуються або зчитуються МП. Регістри відображення зберігають дані, що відображуються на виходах DISPA (0 - 3) і DISB (0 - 3). Схема керування і синхронізації (СКС) здійснює керування роботою мікросхеми. На вхід CLK надходять синхроімпульси, на вхід CLR.- сигнал скидання. На виході BD виробляється сигнал гасіння відображення.

 

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

 

Клавіатура персонального 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.

 

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

 

Функція DOS дозволяє програмі залишатися резидентною у памяті компютера, непомітно к