Kodovi tastature
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]
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]
- ^ Assembling and Repairing Personal Computers, 2nd edition, Dan L. Beeson, Prentice Hall. ISBN 978-0-13-081949-9. str. 164.
- ^ Keyboard scancodes: Keyboard-internal scancodes, Pristupljeno 8. 4. 2013.
- ^ 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