1 / 16

Teclado

Teclado. Estructura del teclado. Scan Code. Después de la exploración, el controlador de teclado genera un ScanCode Se genera un ScanCode al pulsar una tecla y al liberarla El receptor distingue y actúa en consecuencia La pulsación: “make” La liberación: “break”. 8048/8042.

ellie
Download Presentation

Teclado

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teclado

  2. Estructura del teclado

  3. Scan Code • Después de la exploración, el controlador de teclado genera un ScanCode • Se genera un ScanCode al pulsar una tecla y al liberarla • El receptor distingue y actúa en consecuencia • La pulsación: “make” • La liberación: “break”

  4. 8048/8042 • En el teclado reside el microcontrolador 8048 • Obtiene el ScanCode y lo envía de forma serial-síncrono al sistema • Start bit • 8 bits de ScanCode • paridad impar • Stop bit

  5. 8048/8042 • En el sistema reside el 8042 • Recibe el ScanCode y genera una interrupción • IRQ1 del controlador de interrupciones • INT 9 del vector de interrupciones (BIOS)

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

  7. BIOS • Al recibir la tecla el 8042 genera la interrupción • La rutina de INT 9 lee el carácter de puerto 60h • Testea el ScanCode. • Activa de nuevo la interrupción

  8. 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 código ascii en el buffer • 00 Si no existe un código 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 carácter en el buffer

  9. Funciones de Bios • Para leer de teclado BIOS ofrece INT 16h • AH=0 Lee un carácter del buffer, con bloqueo y lo elimina del buffer • AH= ScanCode • AL=Código Ascii o 00h • AH=1 Lee un carácter del buffer, sin bloqueo. No lo elimina del buffer • AH=ScanCode (o Código Tecla si AL=0) si Zf=0 • AL=Código Ascii o 00 si Zf=0

  10. 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

  11. Int 16h • Funciones adicionales. • AH=10h lee un carácter incluyendo sección extendida (con bloqueo) • Puede aparecer E0h en AH, referido al teclado ampliado • AH=11h lee un carácter incluyendo sección extendida (sin bloqueo) • Puede aparecer E0h en AH, referido al teclado ampliado • AH=12h lee estado de la sección extendida • En AH byte de estado teclado ampliado

  12. Int 16h • AH=12 devuelve el byte de estado teclado ampliado • 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 • 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

  13. Tipos de teclado • PC/XT. 83 Teclas • PC/AT. 84 Teclas. + Sys o PetSys • MF-II 102 Teclas. • + Keypad • Teclas de función arriba + F11,F12 • AltGr (equivalente a Ctrl+Alt) • leds • Envía una identificación cuando se le pide.

  14. 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á vacía (IRET)

  15. Buffer de teclado • 41Eh..43Dh • 2 bytes por tecla pulsada • Un puntero de cabeza 41Ah y 41Bh • lugar donde almacenar la siguiente tecla leída • Un puntero de cola 41Ch y 41Dh • lugar de donde lee la última tecla • El buffer es circular

  16. PC Interno ed. Marcombo • The 80x86 IBM PC and Compatible • Muhammad Ali Mazidi... Prentice Hall • Interrupción 16h de Bios • http://panda.cs.ndsu.nodak.edu/~achapwes/PICmicro/keyboard/atkeyboard.html

More Related