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

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

Кодови тастатуре су хексадецимални кодови које тастатура шаље рачунару сваки пут кад је тастер притиснут или отпуштен. Постоје 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 978-0-13-081949-9. стр. 164.
  2. ^ Keyboard scancodes: Keyboard-internal scancodes, Приступљено 8. 4. 2013.
  3. ^ Assembling and Repairing Personal Computers, 2nd edition, Dan L. Beeson, Prentice Hall. ISBN 978-0-13-081949-9. стр. 162.

Литература[уреди | уреди извор]

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

Prentice Hall. ISBN 978-0-13-081949-9. стр. 155. до 165

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