Periférico Programable de Entrada-Salida Paralelo 8255

Anuncio
PERIFERICOS PROGRAMABLE DE E/S PARALELO 8255
En un periférico programable de E/S y de aplicación general, compatible con los microprocesadores
8080 y 8085. Dispone de un total de 24 líneas de E7S. Los canales se queden agrupar en puertas, según
tres modos diferentes de programación. Sus características básicas son:
• 24 líneas de E/S programables.
• Compatible con niveles TTL.
• Control Set/Reset sobre cualquier línea.
• Alimentación simple de 5V.
• Encapsulado DIL 40.
• Potencia de disipación 1W.
CONSTITUCION INTERNA
En un buffer bidireccional con control de alta impedancia utilizado para interconectar al periférico con
el bus de datos del sistema procesador. Los datos se trasmiten o reciben del periférico mediante
instrucciones de OUT o de IN del microprocesador, respectivamente. A través de este buffer también se
transfieren las palabras de programación y de status
BLOQUE DE CONTROL Y LECTURA−ESCRITURA.
La función de este bloque es controlar las transferencias internas de los datos. Recoge la información de
dirección y las señales de control provenientes del microprocesador, empleando las siguientes líneas:
• CS (chip selec): un nivel bajo en esta entrada habilita la intercomunicación entre el
microprocesador y el periférico.
• RD (read): un nivel 0 habilita al 8255 para enviar el dato al microprocesador a través del bus de
datos.
• WR (write): un nivel bajo habilita el microprocesador para escribir datos o palabras de control
en el 8255.
• A0 y A1: Estas señales de entrada, junto con las de lectura o escritura RD o WR controlan la
selección de una de las tres puertas o del registro de programación.
Estas entradas van normalmente conectadas a los 2 bits menos significativos del bus de direcciones.
−RESET: un nivel 1 en esta entrada borra el registro de control y todas las líneas quedan programadas
en el modo de entrada.
El efecto combinado de todas estas líneas se detalla en la tabla siguiente:
BLOQUE DE CONTROL A Y B.
El modo de funcionamiento de cada una de las puertas queda programado por software. La palabra de
control que escribe el microprocesador sobre el periférico contiene la información del modo, bit
activado, etc. y todo ello sirve para inicializar a dicho periférico.
Cada uno de los bloques de control acepta comandos de programación para las puertas asociadas a el.
1
• Control grupo A: puerta a y puerta C alta (C7 a C4).
• Control grupo B: puerta B y puerta c baja (C3 a C0).
En el registro de Control de palabra solamente se puede escribir y no se permiten operaciones de
lectura.
PUERTAS A, B Y C
Son tres puertas de 8 bits cada una. Todas ellas son programables de diferentes maneras mediante las
adecuadas palabras de programación. A continuación se especifica el comportamiento de cada una de
las puertas.
• Puerta A : puede ser una puerta de 8 salidas con posibilidad de lacht . También se puede
programar como puerta de entrada lacheada .
• Puerta B : puede ser una puerta de 8 entrada o salida con posibilidad de lacht o no , una puerta
de 8 entradas sin lachear .
• Puerta C : Puede ser una puerta de 8 lineas de salida lacheada o no , o una puerta de 8 lineas de
entradas sin lachear , ademas esta puerta se puede dividir en dos puertas de 4 bits , cada una de
las cuales contiene un lanch para cada linea y puede utilizarse para señalkes de control o estado
con las puertas A y B.
MODOS DE ENSAYO
Para ensayar cada uno de los tres posibles modos de funcionamiento de este chip hay que seguir los
siguientes pasos:
• Configurar o programar el modo de ensayo (por ejemplo, Modo 0 todo salidas).
• Para ello debemos pensar en la palbra de control que deseamos escribir en los registros internos
de control de los puertos.
• Escribir la palabra de control en los registros de control internos.
• Para ello debemos poner en el bus de control, en las líneas A1, A0, RD, WR, CS, la combinación
oportuna que nos indica la tabla.
• Escribir el dato que queremos visualizar a la salida en las líneas que van del D0 a la D7.
• Podemos entender mejor con un ejemplo :
• Montamos el 8255 en el entrenador, y hacemos las conexiones necesarias. (En D0 a D7 conectamos los
interruptores del entrenador).
• Alimentamos el chip y ponemos la entrada del bus de control CS a nivel alto.
• En este caso vamos a comprobar el funcionamiento del modo 0 siendo los puertos A y C entradas de
datos y el puerto B salidas de datos.
• Pensamos en la palabra de control que deseamos introducir en el chip (en este caso 10011001).
• Dicho dato le introducimos por D0 a D7.
• Ponemos en el bus de control la palabra según la tabla en este caso A1=1, A0=1, RD=1, W=0, CS=0.
Con lo que activamos el chip.
• Producimos los flancos descendentes en W. De este modo la palabra de control se graba.
• Deseleccionamos el chip CS=1.
• Introducimos en el bus de entrada de datos D0 a D7 el dato que queremos escribir en la salida (en
alguno de los puertos de la salida).
• Ponemos en la línea de control según la tabla A1=0, A0=1, R=1, W=0, CS=0 (pensando que el puerto
B es salida). Con lo que queda habilitado el chip.
• Producimos flancos de baja en W con lo que nos aparece en los led los datos introducidos en D0 hasta
D7.
2
PARA LEER LOS DATOS.
• Ponemos en D0 a D7 los led y en el puerto B (configurandolo como entrada) los interruptores del
entrenador en nuestro caso.
• Deshabilitar el chip, es decir, CS=1.
• Ponemos los datos oportunos en el puerto B que es nuestra entrada.
• Ponemos según la tabla de control A1=0, A0=1, R=0, W=1, CS=0, con lo que habilito el chip.
• Producimos flancos de bajada en R con lo que nos aparece la palabra de control que introducimos.
• Si cambiamos la palabra de control y producimos flancos de bajada en R nos queda grabada dicha
palabra y así con todas las que introduzcamos.
Dicho proceso se repiute para comprobar el puerto A y C.
En el modo 1 debemos seguir los mismos pasos teniendo en cuenta que los datos de entrada no van a
pasar a la salida si la entrada de autorización del puerto en questión no está activada.
La entrada de autorización de los puertos en modo 1 son:
• Para el puerto A:
− Como entrada de datos PC4.
− Como salida de datos PC6
• Para el puerto B:
− Como entrada de datos PC2
− Como salida de datos PC2
También en el modo 2 debemos dar los mismos pasos que en los dos casos anteriores con la salvedad
que este modo precisa de más líneas del puerto C de control.
CONCLUSIONES DEL ENSAYO.
Mediante la programación del modo 0 conseguimos de una forma rápida la transmisión de datos del
microprocesador a los tres puertos de una forma directa y sin autorización.
También podemos pasar los datos de los puertos al microprocesador
Mediante la programación del modo 1 conseguimos de igual manera pasar los datos del
microprocesador a los puertos y del puerto al microprocesador, pero con la excepción de que existe un
protocolo de autorización para que el intercambio de datos entre ambas partes. El puerto C queda
anulado como puerto de entrada salida en su conjunto pasando a ser usado para los protocolos de
intercambio de informaciones.
Mediante la programación en modo 2 conseguimos lo siguiente; un bus bidireccional E/S de datos del
microprocesador en este caso el puerto A. El puerto B no tiene posibilidad de trabajar en este modo
pero si se puede trabajar en cualquiera de los modos anteriores descritos. El puerto C se usa para
protocolos de E/S de los datos.
Este modo resulta altamente complicado de ensayar en algunas de sus partes dada la dificultad que
3
presenta en el puerto A es unas veces de entrada y otras de salida debemos tener precaución para no
cortocircuitar una salida pues destruiriamos el
integrado .
A1 A0 RD WR CS
00100
Operación escritura
µp−−−Pa
01100
µp−−−Pb
10100
µp−−−Pc
11100
XXXX1
µp−−−Registro control
Funciones no permitidas
Salidas en alta impedancia
11010
Condición ilegal
XX110
Salidas en alta impedancia
Leer
00010
01010
10010
Pa−−−µP
Pb−−−µP
Pc−−−µP
ESQUEMA DEL 8255
4
Documentos relacionados
Descargar