Módulo de interrupción del teclado (KBI)

Anuncio
Módulo de interrupción
del teclado
M.C. Jorge Eduardo Ibarra Esquer
Módulo de interrupción del teclado
†
†
†
Las terminales del puerto A pueden habilitarse de
manera independiente para funcionar como una
terminal de interrupción
El registro de habilitación de interrupción del teclado
(INTKBIER) permite seleccionar cuáles terminales
del puerto funcionarán de esta forma
Un valor de 0 aplicado a una terminal habilitada
como interrupción, generará una solicitud de
interrupción
1
Módulo de interrupción del teclado
†
El bit MODEK en el registro de estado y
control del teclado (INTKBSCR) controla el
modo de disparo de las interrupciones
„
„
MODEK=1 – Las interrupciones se detectan por
flanco y por nivel (HÆL o L)
MODEK=0 – Las interrupciones sólo se detectan
por flancos (HÆL)
Inicialización del teclado
†
Al habilitar una terminal para interrupción,
toma un cierto tiempo al circuito interno para
alcanzar el nivel lógico de 1, lo cual puede
provocar que se detecte una señal falsa de
solicitud de interrupción
2
Inicialización del teclado
†
Para evitar una interrupción falsa, se puede
hacer lo siguiente:
„
„
„
„
Enmascarar las interrupciones del teclado,
activando el bit IMASKK en el registro de control
y estado
Habilitar las terminales de interrupción
Escribir en el bit ACKK en el registro de estado y
control
Borrar el bit IMASKK
Inicialización del teclado
†
Otra forma de evitar una interrupción falsa es
la siguiente:
„
„
„
Configurar las terminales del puerto como salida,
activando los bits del registro DDRA
Escribir 1s lógicos en los bits del registro de datos
del puerto A
Habilitar las terminales para interrupción,
activando los bits KBIEx en el registro de
habilitación de la interrupción del teclado
3
Descargar