Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Дослідження будови та програмування клавіатури ІВМ РС AT

Тип роботи: 
Контрольна робота
К-сть сторінок: 
23
Мова: 
Українська
Оцінка: 
Тема роботи: Дослідження будови та програмування клавіатури ІВМ РС AT
 
Мета роботи: Дослідити структуру, принцип дії, програмування клавіатури ІВМ РС AT
 
Загальні відомості
 
Клавіатура PC містить контролер клавіатури і8048/і8049 (рис.1), що виконує роботу, метою якої є зменшення навантаження на систему. Основна діяльність 8048 - стеження за клавішами і видача повідомлень ROM-BIOS при натисненні i відпусканні клавiші. Якщо певна клавіша залишається натисненою більше половини секунди, то 8048 надсилає сигнали через задані інтеpвали часу. Контролер 8048 має також обмежені можливості в плані діагностики i знаходження помилок, а крім  того у нього є буфер, в якому може зберігатися до 20 дій клавіш, які  не зміг прийняти основний комп'ютер (це трапляється дуже рідко). Дані від клавіатури сприймає  контролер клавіатури- і8042.  Блок схема мікро-ЕОМ i8042 з точки зору програмування - на рис. 2. Приклад вмикання контролера клавіатури в ПЕОМ показаний на рис. 3.
Кожен раз, коли натискається чи відпускається одна з клавіш клавіатури   PC,   схеми   клавіатури генерують однобайтове чи багатобайтове число (скан-код), яке   однозначно   ідентифікує   переміщення   клавіші. Клавiатура видає різнi скан-коди при натисненнi i вiдпусканнi клавіші. При натисненні клавіші байт скан-коду включає в себе число в діапазоні від 1 до 83 (в стандартній клавіатурі,  PCАТ) При відпусканні клавіші клавіатура генерує скан-код що складається з двох байт перший з них F0h а другий код клавіш, що передався при натисканні. Наприклад, коли ми натискаємо літеру Z, клавіатypa генерує скан-код 2Ch; при відпусканні цієї клавіші клавіатура генерує скан-коди F0h та 2Ch.
 
Таблиця 1. Скан-коди клавіатури
HexDecKey
011Esc
0221 !
0332 @
0443 #
0554 $
0665 %
0776 ^
0887 &
0998 * 
0a 109 ( 
0b 110 ) 
0c 12-
0d 13+ ≡
0e 14bksp 
0f15Tab
1016Q
1117W
1218E
1319S
1420T
1521Y
1622U
1723I
18240
1925P 
1a 26[ { 
1b 27] } 
1c 28Enter,
1d 29Ctrl
1e 30A
1f 31S
20 32D
21 33F
22 34G
23 35H
24 36J
25 37K
26 38L
27 39 : :
28 40“ ‘
29 41 ' -
2a 42 Shft(L)
2b 43\ I
2c 44Z
2d 45X
2e 46C
2f47V
30 48B
31 49N
32 50M
33 51 , <
34 52 . >
35 53/ ?
36 54Shft(K)
37 55* PrtSc
38 56Alt
HexDecKey
3957Spacebar 
3a 58CapsLocfc 
3b 59Fl
3c 60F2
3d 61F3
3e 62F4
3f 63F5
40 64F6
41 65F7
42 66F8
43 67F9
 
44 68F10
45 69NumLock
46 70ScrollLock
47 71Home 7
48 728
49 73PgUp 9
4a74K -
4b 75 4
4c 76 5
4d 77 6
4e 78K +
4f79End 1
50 802
51 81PgDn 3
52 82 Ins 0
53 83Del •
 
Рис.1 Клавіатура IBM PC AT.
 
Рис. 2. Структура мікросхеми з точки зору програмування.
 
Рис.3 Приклад вмикання контролера  клавіатури в ПЕОМ.
 
Опрацювання натискання клавіш
 Перевід натискання клавіш в інформацію, яка .використовується  програмами, здійснюють підпрограми обробки переривань, яка найчастіше розміщається в RОМ-ВІОS. Схема взаємодії апаратних та програмних засобів обслуговування клавіатури з прикладними програмами ілюструє рис. 4.
 
Рис.4.  Взаємодія апаратних та програмних засобів обслуговування клавіатури  з прикладними програмами.
Кожен раз,  коли натискається чи відпускається якась клавіша на клавіатурі РС, про цю дію повідомляє RОМ-ВІОS РС з допомогою переривання 9-переривання від клавіатури. Переривання 9 викликає підпрограму  обробки  переривання, яка  читає з порта 60 h для визначення  клавіші, що була натиснена чи  відпущена.Отриманий  скан-код  повертається ВІОS, де підпрограми обслуговування клавіатури, переводять його в 2-байтний код. Молодший байт цього коду включає звичайно код  АSСІІ  клавіші, а  старший байт - скан-код клавіатури.  Спеціальні клавіші (функціональні, клавіші додаткової цифрової клавіатури)  мають  в молодшому байті нуль, а в старшому - скан-код. Підпрограми ВІОS розміщують відтрансльований код в чергу, яка знаходиться в молодших адресах пам'яті, починаючи з  0000:041Е.  Коди знаходяться тут доти, поки  не будуть взяті програмою, що чекає вводу з клавіатури.
Перевід скан-кодів.
Робота, пов'язана  з переводом скан-коду, ускладнюється тим, що клавіатура ІВМ має декілька операцій по зміні регістрів, які змінюють значення натиснених клавіш. Якщо  натиснута клавіша зміни регістра і клавіша с,  то має отриматись літера "С",  якщо Сtrl-с,  то має генеруватись  сигнал  "break". Це - приклади  різних  станів  клавіш  зміни регістрів.  Стан регістру можна змінити,  натиснувши Shift,  Аlt  чи Сtrl. Крім цього  є  ще  три  клавіші-перемикачі регістрів клавіатури: ScrollLock, СapsLock і NumLock. 
СapsLock
Фото Капча