Kodovi tastature

S Vikipedije, slobodne enciklopedije

Kodovi tastature su heksadecimalni kodovi koje tastatura šalje računaru svaki put kad je taster pritisnut ili otpušten. Postoje 3 glavna koda:

  • Set 1 (XT tastature sa 83 tastera)
  • Set 2 (AT tastature, u najširoj upotrebi i danas)
  • Set 3 (neke PS/2 tastature).

Rad[uredi | uredi izvor]

U tastaturi se nalazi mikrokontroler 8048 ili 8049. Uz njega se još često nalazi 7407 „bafer“ integrisano kolo. Mikrokontroler provjerava koji taster je stisnut na tastaturi. Tastatura je povezana u formatu matrice, sa posebnim redovima i kolonama, da bude jeftinija i lakša za izradu. Ako je taster stisnut ili otpušten, 8049 šalje serijski niz bitova (kod tastature) na matičnu ploču računara, preko kabla tastature. Na matičnoj ploči ove signale prima i dekodira 8042 ili 8742 mikrokontroler. [1]

Kodovi[uredi | uredi izvor]

Kodovi za pritisak (make code) i otpuštanje (break code), koji se prenose preko kabla tastature su:

Set 1: Ako je kod pritisnutog tastera (make code) c, prekidni kod (break code) će biti c+0x80. Ako je kod pritisnutog tastera e0 c, prekidni kod će biti e0 c+0x80. Taster Pauza (Pause) ima pritisnuti kod e1 1d 45 e1 9d c5 i nema prekidni kod.

Set 2: Ako je kod pritisnutog tastera (make code) c, prekidni kod (break code) će biti f0 c. Ako je kod pritisnutog tastera e0 c, prekidni kod će biti e0 f0 c. Taster Pauza (Pause) ima pritisnuti kod e1 14 77 e1 f0 14 f0 77.

Set 3: Većina tastera u normalnom radu ne stvara prekidni kod - samo tasteri CapsLock, LShift, RShift, LCtrl and LAlt su izuzetak. Ali novi tasteri proširenog standarda generišu prekidni kod - LWin, RWin, Menu, Back, Forward, Stop, Mail, Search, Favorites, Web/Home, MyComputer, Calculator, Sleep. [2]

U Setu 3 je moguće omogućiti ili onemogućiti neke funkcije, kao ponavljanje koda na primjer. Prekidni kod uvijek počinje sa f0 kao i kod Seta 2, i Pauza taster se ponaša kao obični taster.

Treba napomenuti da na svim modernim računarima koji koriste Set 2 za prenos podataka između tastature i računara, računarski kontroler tastature prevodi Set 2 kod u Set 1 kod zbog kompatibilnosti, osim ako nije specifično indicirano da se to ne radi.

Primjer kodova tastature kod Seta 2 (najšira upotreba)[uredi | uredi izvor]

Set 2, IBM PC AT heksadecimalni kodovi tastature
Taster Pritisak Otpuštanje
A (slovo) 1C F0 1C
1 (broj, glavna tastatura) 16 F0 16
Enter (glavna tastatura) 5A F0 5A
Enter (numerička tastatura) E0 5A F0 5A
Razmak (Space) 29 F0 29
Lijevi Vindous taster E0 1F E0 F0 1F
Desni Vindous taster E0 27 E0 F0 27

Signali[uredi | uredi izvor]

Signale koje tastatura proizvodi možemo posmatrati na osciloskopu. Ako je +5 V dovedeno na odgovarajući pin konektora, i minus vod na drugi minus pin, pri svakom pritisku ili otpuštanju tastera možemo osmatrati serijski niz bitova poslat iz tastature na signalnom pinu.

Ovo se odnosi na moderne tastature koje koriste Set 2. Binarni niz je u formatu: 1 start bit, 8 bitova podatka (najmanje značajan (LSB) prvo), 1 bit pariteta, 1 stop bit. Ukupno se prenosi 11 bitova za svaki bajt. Osciloskop treba biti podešen na oko 100 mikrosekundi po kvadratu. [3]

Vidi još[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ Assembling and Repairing Personal Computers, 2nd edition, Dan L. Beeson, Prentice Hall. ISBN 978-0-13-081949-9. str. 164.
  2. ^ Keyboard scancodes: Keyboard-internal scancodes, Pristupljeno 8. 4. 2013.
  3. ^ Assembling and Repairing Personal Computers, 2nd edition, Dan L. Beeson, Prentice Hall. ISBN 978-0-13-081949-9. str. 162.

Literatura[uredi | uredi izvor]

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

Prentice Hall. ISBN 978-0-13-081949-9. str. 155. do 165

Spoljašnje veze[uredi | uredi izvor]