Red de conocimiento informático - Material del sitio web - ¿Cómo utilizar 8255A para controlar la apertura y cierre del teclado?

¿Cómo utilizar 8255A para controlar la apertura y cierre del teclado?

2. Modo 1: modo de entrada y salida estroboscópica En comparación con el modo 0, su característica principal es que cuando el puerto A y el puerto B funcionan en modo 1, algunas líneas de E/S del puerto C se definen como puertos A y B. Las líneas de señal de comunicación requeridas para trabajar en modo 1. Estas líneas han sido definidas y el usuario no puede cambiarlas. El método 1 ahora se divide en tres situaciones: el puerto A y el puerto B son ambos entradas, los puertos A y B son ambos salidas y se analizan las entradas y salidas mixtas. (1) Tanto el puerto A como el puerto B son entradas. Cuando el puerto A y el puerto B funcionan como modo de entrada 1, las funciones de cada línea de puerto se muestran en la Figura 8.19. Cuando el puerto A funciona en la entrada del modo 1, utilice PC5~PC3 como líneas de conexión. Cuando el puerto B funciona en la entrada del modo 1, utilice PC2~PC0. Las dos líneas de E/S restantes PC7 y PC6 del puerto C funcionan en modo 0. Si se usan como entrada o salida está determinado por el bit D3 en la palabra de control del modo de trabajo D3=1, entrada; . Las funciones de cada línea de señal de contacto se explican a continuación (consulte el diagrama de temporización de entrada del modo 1 que se muestra en la Figura 8.20 para comprender las funciones de cada señal): STB (estroboscópico): señal estroboscópica, entrada, nivel bajo activo. Cuando se afirma STB, se permiten datos periféricos en el búfer de datos de entrada del puerto A o del puerto B. STBA está conectado a la PC4, STBB está conectado a la PC2. IBF (búfer de entrada lleno): señal llena del búfer de entrada, salida, nivel alto activo. Cuando IBF es válido, significa que han entrado nuevos datos en el búfer del puerto A o del puerto B y la CPU no los ha eliminado. El dispositivo periférico no puede enviar nuevos datos. Una vez que la CPU completa la operación de lectura de datos, el IBF se restablece (cambia al nivel bajo). INTR (Solicitud de interrupción): señal de solicitud de interrupción, salida, nivel alto activo. En las condiciones de habilitación de interrupción INTE=1 e IBF=1, es generada por el flanco posterior (flanco ascendente) de la señal STB. Esta señal se puede conectar al administrador de interrupciones 8259A para la solicitud de interrupción. Indica que el puerto de datos ha ingresado un nuevo dato. Si la CPU responde a esta solicitud de interrupción, lee los datos del puerto de datos y restablece INTR (pasa a nivel bajo) mediante el flanco descendente de la señal RD. INTE (Habilitación de interrupción): Señal de habilitación de interrupción, nivel alto activo. Es la señal de control que 8255A controla internamente si 8255A emite una señal de solicitud de interrupción (INTR). Esto se logra configurando el software o restableciendo el puerto C para permitir o deshabilitar las solicitudes de interrupción. La solicitud de interrupción INTRA del puerto A se puede controlar configurando o reiniciando PC4. Configurar PC4 en 1 permite que INTRA funcione, y borrar PC4 en 0 deshabilita INTRA. La solicitud de interrupción INTRB del puerto B se puede controlar configurando o reiniciando la PC2. (2) Tanto el puerto A como el puerto B son salidas. Cuando el puerto A y el puerto B funcionan en modo 1 de salida, las funciones de cada línea de puerto se muestran en la Figura 8.21. Cuando el puerto A funciona en la salida del modo 1, utilice PC3, PC6 y PC7 como líneas de conexión. Cuando el puerto B funciona en la salida del modo 1, utilice PC0 a PC2 como línea de unión. Las dos líneas de E/S restantes, PC4 y PC5 del puerto C, funcionan en modo 0. Las funciones de cada línea de señal de contacto se explican a continuación (consulte el diagrama de tiempos que se muestra en la Figura 8.22 para comprender las funciones de cada señal): OBF (Búfer de salida lleno): señal llena del búfer de salida, salida, nivel bajo activo. Cuando la CPU escribe datos en el búfer de salida del puerto A o B, el flanco ascendente de la señal de escritura WR establece el nivel bajo de OBF, notificando al periférico que vaya al puerto A o B para recuperar los datos cuando el periférico recupera los datos. envía una señal de respuesta ACK al 8255A, y el flanco descendente de ACK devuelve el OBF al nivel alto. ACK (Acknowledge): Señal de respuesta periférica, entrada, nivel bajo activo. Cuando ACK es válido, significa que el periférico ha eliminado los datos enviados por la CPU al 8255A. INTR (Solicitud de interrupción): señal de solicitud de interrupción, salida, nivel alto activo. Esta señal es generada por el flanco posterior (flanco ascendente) de ACK bajo las condiciones de INTE=1 y OBF=1. Esta señal hace que 8255A emita una solicitud de interrupción a la CPU. Si la CPU responde a esta solicitud de interrupción y escribe nuevos datos en el puerto de datos, el flanco ascendente (flanco descendente) de la señal de escritura WR restablece INTR y lo cambia a nivel bajo.

INTE (Habilitación de interrupción): señal de habilitación de interrupción, similar a la entrada del modo 1, la solicitud de interrupción de salida INTRA del puerto A se puede permitir o deshabilitar configurando o reiniciando PC6. La señal de solicitud de interrupción de salida INTRB del puerto B se puede habilitar o deshabilitar configurando o reiniciando PC2. (3) Entrada y salida combinadas En aplicaciones prácticas, el puerto A y el puerto B del 8255A también pueden tener un puerto funcionando como entrada de modo 1 y el otro como salida de modo 1. Existen las dos situaciones siguientes: El puerto A es la entrada, cuando el puerto. Se emite B, su formato de palabra de control y diagrama de conexión se muestran en la Figura 8.23. Cuando el puerto A es la salida y el puerto B es la entrada, el formato de la palabra de control y el diagrama de conexión se muestran en la Figura 8.24.