You are on page 1of 16

Teclado

Estructura del teclado


5V output 1 0 1 1 1 0 1 input 1 5V

Scan Code
Despus de la exploracin, el controlador de teclado genera un ScanCode Se genera un ScanCode al pulsar una tecla y al liberarla

El receptor distingue y acta en consecuencia

La pulsacin: make La liberacin: break

8048/8042

En el teclado reside el microcontrolador 8048 Obtiene el ScanCode y lo enva de forma serial-sncrono al sistema

Start bit 8 bits de ScanCode paridad impar Stop bit

8048/8042
En el sistema reside el 8042 Recibe el ScanCode y genera una interrupcin

IRQ1 del controlador de interrupciones INT 9 del vector de interrupciones (BIOS)

Tipos de teclas
Caracteres imprimibles Controles de tecla Shift, Alt,Ctrl... Otros F1,...,ImprPant, Pausa, ...

http://es.wikipedia.org/wiki/Scan_Code

BIOS
Al recibir la tecla el 8042 genera la interrupcin La rutina de INT 9 lee el carcter de puerto 60h Testea el ScanCode. Activa de nuevo la interrupcin

Testeo de la tecla
Si es imprimible lo almacena en el buffer de teclado Si es de control de tecla no lo almacena

modifica el byte de estado apropiadamente 417h..418h

Si es otra tecla almacena el ScanCode y su cdigo ascii en el buffer


00 Si no existe un cdigo ascii adecuado

Si es un Break desecha el ScanCode


Un SC break es igual al SC make previo +80h Si transcurren >05s se copia de nuevo el ltimo carcter en el buffer

Funciones de Bios

Para leer de teclado BIOS ofrece INT 16h


AH=0 Lee un carcter del buffer, con bloqueo y lo elimina del buffer
AH= ScanCode AL=Cdigo Ascii o 00h

AH=1 Lee un carcter del buffer, sin bloqueo. No lo elimina del buffer
AH=ScanCode (o Cdigo Tecla si AL=0) si Zf=0 AL=Cdigo Ascii o 00 si Zf=0

Int 16h
AH=2 devuelve el byte de estado
AL byte de estado d7 Activado Insert d6 Activado Capslock d5 Activado Numlock d4 Activado Scroll lock d3 Pulsado Alt d2 Pulsado Ctrl d1 Pulsado Shift Left d0 Pulsado Shift Right

Int 16

Funciones adicionales.
AH=10h lee un carcter incluyendo seccin extendida (con bloqueo)
Puede aparecer E0h en AH, referido al teclado ampliado

AH=11h lee un carcter incluyendo seccin extendida (sin bloqueo)


Puede aparecer E0h en AH, referido al teclado ampliado

AH=12h lee estado de la seccin extendida

En AH byte de estado teclado ampliado

Int 16h
AH=12 devuelve el byte de estado teclado ampliado
AL byte de estado d7 Activado Insert d6 Activado Capslock d5 Activado Numlock d4 Activado Scroll lock d3 Pulsado Alt d2 Pulsado Ctrl d1 Pulsado Shift Left d0 Pulsado Shift Right AH Segundo byte de estado d7 Pulsado PetSys d6 Pulsado Capslock d5 Pulsado Numlock d4 Pulsado Scroll lock d3 Pulsado Right Alt d2 Pulsado Right Ctrl d1 Pulsado Left Alt d0 Pulsado Left Ctrl

Tipos de teclado
PC/XT. 83 Teclas PC/AT. 84 Teclas. + Sys o PetSys MF-II 102 Teclas.

+ Keypad Teclas de funcin arriba + F11,F12 AltGr (equivalente a Ctrl+Alt) leds

Enva una identificacin cuando se le pide.

Teclas especiales
ImprPant dispara la Int 5h Pausa detiene el sistema Ctrl y Inter dispara la Int 1Bh (IRET) PetSis dispara la Int 15h con AH=85h

En principio est vaca (IRET)

Buffer de teclado
41Eh..43Dh 2 bytes por tecla pulsada Un puntero de cabeza 41Ah y 41Bh

lugar donde almacenar la siguiente tecla leda


Un puntero de cola 41Ch y 41Dh


lugar de donde lee la ltima tecla

El buffer es circular

PC Interno. Michael Tischer. Marcombo The 80x86 IBM PC and Compatible Muhammad Ali Mazidi... Prentice-Hall

You might also like