Кодови тастатуре

Из Википедије, слободне енциклопедије

Кодови тастатуре су хексадецимални кодови које тастатура шаље рачунару сваки пут кад је тастер притиснут или отпуштен. Постоје 3 главна кода:

  • Сет 1 (XT тастатуре са 83 тастера)
  • Сет 2 (AT тастатуре, у најширој употреби и данас)
  • Сет 3 (неке PS/2 тастатуре).

Рад[уреди]

У тастатури се налази микроконтролер 8048 или 8049. Уз њега се још често налази 7407 „бафер“ интегрисано коло. Микроконтролер провјерава који тастер је стиснут на тастатури. Тастатура је повезана у формату матрице, са посебним редовима и колонама, да буде јефтинија и лакша за израду. Ако је тастер стиснут или отпуштен, 8049 шаље серијски низ битова (код тастатуре) на матичну плочу рачунара, преко кабла тастатуре. На матичној плочи ове сигнале прима и декодира 8042 или 8742 микроконтролер. [1]

Кодови[уреди]

Кодови за притисак (make code) и отпуштање (break code), који се преносе преко кабла тастатуре су:

Сет 1: Ако је код притиснутог тастера (make code) c, прекидни код (break code) ће бити c+0x80. Ако је код притиснутог тастера e0 c, прекидни код ће бити e0 c+0x80. Тастер Пауза (Pause) има притиснути код e1 1d 45 e1 9d c5 и нема прекидни код.

Сет 2: Ако је код притиснутог тастера (make code) c, прекидни код (break code) ће бити f0 c. Ако је код притиснутог тастера e0 c, прекидни код ће бити e0 f0 c. Тастер Пауза (Pause) има притиснути код e1 14 77 e1 f0 14 f0 77.

Сет 3: Већина тастера у нормалном раду не ствара прекидни код - само тастери CapsLock, LShift, RShift, LCtrl and LAlt су изузетак. Али нови тастери проширеног стандарда генеришу прекидни код - LWin, RWin, Menu, Back, Forward, Stop, Mail, Search, Favorites, Web/Home, MyComputer, Calculator, Sleep. [2]

У Сету 3 је могуће омогућити или онемогућити неке функције, као понављање кода на примјер. Прекидни код увијек почиње са f0 као и код Сета 2, и Пауза тастер се понаша као обични тастер.

Треба напоменути да на свим модерним рачунарима који користе Сет 2 за пријенос података између тастатуре и рачунара, рачунарски контролер тастатуре преводи Сет 2 код у Сет 1 код због компатибилности, осим ако није специфично индицирано да се то не ради.

Примјер кодова тастатуре код Сета 2 (најшира употреба)[уреди]

Сет 2, IBM PC AT хексадецимални кодови тастатуре
Тастер Притисак Отпуштање
А (слово) 1C F0 1C
1 (број, главна тастатура) 16 F0 16
Ентер (главна тастатура) 5A F0 5A
Ентер (нумеричка тастатура) E0 5A F0 5A
Размак (Space) 29 F0 29
Лијеви Виндовс тастер E0 1F E0 F0 1F
Десни Виндовс тастер E0 27 E0 F0 27

Сигнали[уреди]

Сигнале које тастатура производи можемо посматрати на осцилоскопу. Ако је +5 V доведено на одговарајући пин конектора, и минус вод на други минус пин, при сваком притиску или отпуштању тастера можемо осматрати серијски низ битова послат из тастатуре на сигналном пину.

Ово се односи на модерне тастатуре које користе Сет 2. Бинарни низ је у формату: 1 старт бит, 8 битова податка (најмање значајан (ЛСБ) прво), 1 бит паритета, 1 стоп бит. Укупно се преноси 11 битова за сваки бајт. Осцилоскоп треба бити подешен на око 100 микросекунди по квадрату. [3]

Види још[уреди]

Референце[уреди]

  1. ^ Assembling and Repairing Personal Computers, 2nd edition, Dan L. Beeson, Prentice Hall, ISBN 0-13-081949-2, pp. 164
  2. ^ Keyboard scancodes: Keyboard-internal scancodes, Приступљено 8. 4. 2013.
  3. ^ Assembling and Repairing Personal Computers, 2nd edition, Dan L. Beeson, Prentice Hall, ISBN 0-13-081949-2, pp. 162

Литература[уреди]

Спољашње везе[уреди]

Литература[уреди]

  • Assembling and Repairing Personal Computers, 2nd edition, Dan L. Beeson,

Prentice Hall, ISBN 0-13-081949-2, pp. 155 до 165