Interfaz periférica programable (PPI) Intel 8255, modos y aplicaciones

Oct 24 2025
Fuente: DiGi-Electronics
Explorar: 1927

La interfaz periférica programable (PPI) Intel 8255 fue un componente clave para unir microprocesadores con dispositivos externos durante los primeros días de los sistemas digitales. Con puertos de E/S versátiles, múltiples modos de funcionamiento y facilidad de programación, el 8255 permitió una comunicación confiable con pantallas, sensores y controladores, lo que lo hizo útil tanto en la educación como en la industria.

Figure 1. 8255 Microprocessor

Descripción general de la interfaz periférica programable (PPI) 8255

El chip Intel 8255 PPI es un chip de E/S ampliamente utilizado diseñado para conectar microprocesadores con dispositivos externos. Actúa como un puente de comunicación para periféricos como ADC, DAC, teclados y pantallas. Admite E/S directas y basadas en interrupciones, proporciona flexibilidad en el diseño del sistema. Con tres puertos bidireccionales de 8 bits (A, B, C), ofrece 24 líneas de E/S configurables. Su rentabilidad y compatibilidad con procesadores como el Intel 8085/8086 lo convirtieron en un elemento básico en los primeros sistemas informáticos, kits de capacitación y controladores industriales.

Características del chip 8255 PPI

• Interfaz programable: configurable a través de instrucciones de software para adaptarse a dispositivos como pantallas, sensores y módulos de entrada.

• Tres puertos de 8 bits: los puertos A, B y C proporcionan 24 líneas que pueden funcionar como entrada o salida.

• Múltiples modos de funcionamiento:

Modo 0: Entrada/salida simple sin apretón de manos.

Modo 1: E/S estroboscópica con señales de protocolo de enlace para una comunicación sincronizada.

Modo 2: Transferencia de datos bidireccional con protocolo de enlace (solo en el puerto A).

• Conjunto / restablecimiento de bits (BSR): los bits del puerto C se pueden configurar o borrar individualmente para aplicaciones de control / estado.

• Agrupación flexible: los puertos se pueden dividir en grupos de 8 bits o 4 bits.

• Compatibilidad TTL: fácil integración con circuitos integrados digitales estándar.

• Registros de control independientes: cada puerto puede funcionar por separado, en diferentes modos o direcciones.

Pinout del chip 8255 PPI

Figure 2. Pinout of 8255 Microprocessor

Pin No.GrupoSeñalDescripción
1–8Puerto APA0–PA7Puerto de E/S de uso general de 8 bits
9–16Puerto CPC0–PC7Dividido en PC0-PC3 (inferior) y PC4-PC7 (superior); utilizadas como líneas de E/S o de protocolo de enlace
17–24Puerto BPB0–PB7Puerto de E/S de uso general de 8 bits
25ControlCS'Selección de chip (baja activa)
26AlimentaciónVccSuministro de +5 V
27ControlRD'Activación de lectura
28ControlWR'Habilitación de escritura
29ControlRESTABLECERRestablece todos los puertos al estado de entrada
30–37Bus de datosD0–D7Transfiere datos/comandos entre la CPU y 8255
38–39Pines de direcciónA0, A1Seleccione registros/puertos internos: 00=Puerto A, 01=Puerto B, 10=Puerto C, 11=Control
40SueloGNDReferencia terrestre

Arquitectura del chip 8255 PPI

Figure 3. Architecture of 8255 Microprocessor

Bloque funcionalDescripción
Búfer de bus de datosActúa como interfaz entre el bus de datos bidireccional de la CPU (D7-D0) y el bus de datos interno de 8 bits del 8255. Almacena y transfiere datos temporalmente entre la CPU y los registros o puertos internos.
Lógica de control de lectura/escrituraGestiona toda la comunicación entre la CPU y el 8255. Interpreta señales de control como RD, WR, A0, A1, CS y RESET para determinar el tipo de operación (lectura, escritura o control) y selecciona el puerto o registro de control correcto.
Lógica de control (decodificador)Decodifica la palabra de control enviada por la CPU para configurar los puertos en varios modos (modo 0, 1 o 2) o en el modo Bit Set/Reset (BSR). Determina cómo funcionará cada puerto, como entrada, salida o protocolo de enlace.
Control del Grupo AControla el puerto A (8 bits: PA7-PA0) y el puerto superior C (4 bits: PC7-PC4). Admite los modos 0, 1 y 2, lo que permite una E/S simple, E/S de protocolo de enlace y transferencia de datos bidireccional
Control del Grupo BControla el puerto B (8 bits: PB7-PB0) y el puerto inferior C (4 bits: PC3-PC0). Es compatible con los modos 0 y 1, lo que permite operaciones básicas de entrada/salida o controladas por protocolo de enlace.
Puerto AUn puerto de E/S de 8 bits que puede funcionar como entrada o salida según la configuración del modo. Admite los modos 0 a 2 bajo el control del grupo A.
Puerto BOtro puerto de E/S de 8 bits para la transferencia de datos. Funciona bajo control del Grupo B y admite los modos 0 y 1.
Puerto CUn puerto dividido de 8 bits dividido en dos grupos de 4 bits: Superior (PC7-PC4) e Inferior (PC3-PC0). Estos pueden actuar como puertos de E/S independientes, líneas de control o señales de protocolo de enlace. Los bits individuales también se pueden controlar mediante el modo Bit Set/Reset (BSR).
Bus de datos interno (8 bits)Conecta todos los bloques internos del 8255, transfiriendo datos e información de control entre la CPU, la lógica de control y los puertos.
Fuente de alimentaciónEl chip funciona con un suministro de +5V DC y conexión GND para alimentar todo el circuito.

Modos de funcionamiento y principio de funcionamiento del chip 8255 PPI

El Intel 8255 sirve como una interfaz programable entre la CPU y los periféricos, traduciendo las operaciones de bus en transferencias de datos paralelas. Su funcionamiento se rige por pasos de inicialización y modos seleccionables:

Restablecer estado

Al encender o restablecer, todos los puertos (A, B y C) están predeterminados en modo de entrada para evitar dañar los periféricos con salidas no deseadas.

Inicialización

La CPU debe enviar una palabra de control que configure cada puerto como entrada/salida y seleccione uno de los cuatro modos de funcionamiento. Hasta que esto se haga, los puertos permanecen inactivos.

Modos de funcionamiento

Modo de ajuste/restablecimiento de bits (BSR)

• Aplica solo para el Puerto C.

• Permite configurar o borrar bits individuales para tareas de control / estado.

Modo 0 – E/S simple

• Entrada/salida básica sin protocolo de enlace.

• Se utiliza para transferencias sencillas como LED, interruptores y pantallas.

Modo 1 – E/S estroboscópica

• Agrega señales de protocolo de enlace (STB, ACK, IBF, OBF) a través del puerto C.

• Garantiza la transferencia sincronizada de datos periféricos de la CPU ↔.

Modo 2 – E/S bidireccional

• Disponible solo en el puerto A.

• Admite transferencia bidireccional con control de protocolo de enlace, útil para dispositivos asíncronos o de alta velocidad.

Operaciones de lectura/escritura

• Escritura: La CPU coloca los datos en el bus del sistema y el 8255 decodifica las líneas de dirección (A0, A1) para dirigirlas al pestillo de salida del puerto correcto.

• Lectura: Los dispositivos externos colocan datos en líneas de puerto, que el 8255 bloquea y pone a disposición de la CPU durante un comando de lectura.

Sincronización

• En el Modo 0, las transferencias de datos se producen directamente sin protocolos de enlace.

• En los modos 1 y 2, las señales de protocolo de enlace del puerto C coordinan la preparación y la aceptación, evitando la pérdida de datos durante transferencias asíncronas o de alta velocidad.

Consideraciones de interfaz del chip 8255 PPI

Al diseñar sistemas con el 8255, una interfaz cuidadosa garantiza la confiabilidad y evita daños tanto en el chip como en los dispositivos externos:

• Estado de entrada predeterminado: al restablecer, todos los puertos tienen entradas predeterminadas. Esto evita conflictos, pero también significa que las salidas están inactivas hasta que se configuran. La CPU siempre debe enviar una palabra de control para definir correctamente la dirección y el modo antes de intentar la comunicación.

• Límites de unidad de salida: los puertos del 8255 solo pueden generar o absorber corriente limitada (unos pocos miliamperios). Conducir directamente cargas pesadas como lámparas, solenoides o relés no es seguro. En su lugar, se utilizan comúnmente circuitos integrados de búfer o controlador como el ULN2803 (matriz Darlington) o puertas de colector abierto como 7406. Estos proporcionan una mayor capacidad de corriente y protegen el PPI.

• Control del motor: para motores de CC o motores paso a paso, los puertos 8255 no deben conectarse directamente. En cambio, las salidas deben enrutarse a través de etapas de transistores o circuitos de controlador de puente H. Esta disposición permite un flujo de corriente bidireccional mientras aísla el PPI de picos de voltaje inductivos.

• Conmutación de carga de CA: la interfaz con los aparatos de CA requiere aislamiento por seguridad. Los relés mecánicos o los relés de estado sólido (SSR) accionados a través de etapas de búfer garantizan que el 8255 solo maneje señales de control, mientras que la carga real de alto voltaje se conmuta externamente de forma segura.

• Restricciones del puerto C: los bits del puerto C no siempre se pueden utilizar libremente como E/S general. En los modos 1 y 2, varios pines (por ejemplo, STB, ACK, IBF, OBF) se reservan automáticamente para el control del protocolo de enlace. Debe tener en cuenta estas líneas reservadas para evitar conflictos al mezclar E/S general con protocolo de enlace.

Ventajas del chip 8255 PPI

• Compatibilidad de CPU: el 8255 funciona a la perfección con procesadores como Intel 8085, 8086 y sus compatibles. Su diseño coincide con los protocolos de bus estándar, lo que hace que la integración sea sencilla sin lógica de pegamento adicional.

• Configuración de puerto flexible: con tres puertos de 8 bits (A, B, C), los usuarios pueden configurarlos como entrada, salida o una combinación según la aplicación. La capacidad de cambiar entre E/S simple (Modo 0) y comunicación basada en protocolo de enlace (Modos 1 y 2) permite que el mismo chip maneje una amplia variedad de tareas.

• Operación de suministro único: al funcionar con un suministro estándar de +5 V, el 8255 es fácil de alimentar en sistemas basados en TTL. No se requieren reguladores especiales ni múltiples niveles de voltaje, lo que simplifica el diseño de la placa.

• Transferencia de datos paralela confiable: el chip proporciona una comunicación paralela estable y predecible de 8 bits, lo que reduce las incertidumbres de tiempo. Esta fiabilidad lo hace adecuado para manejar pantallas, leer sensores y gestionar señales de control en sistemas reales.

• Valor educativo: debido a que está bien documentado y ampliamente disponible, el 8255 ha sido una herramienta de enseñanza clave en laboratorios de microprocesadores y kits de capacitación. Puede comprender rápidamente los conceptos de interfaz de E/S a través de experimentos prácticos con este dispositivo.

Aplicaciones del chip 8255 PPI

• Sistemas educativos: los kits de capacitación y las placas de laboratorio con frecuencia incluyen el 8255 para demostrar conceptos de interfaz periférica. Puede practicar la programación de diferentes modos y observar la interacción real con dispositivos externos.

• Control de pantalla: el chip impulsa dispositivos de salida visual, como LED de siete segmentos, módulos LCD y paneles alfanuméricos. Con sus múltiples líneas de E/S, puede actualizar pantallas o enviar comandos de control a los circuitos integrados de los controladores.

• Interfaz de teclado: los teclados matriciales en las primeras terminales y computadoras personales a menudo se escaneaban con el 8255. Al configurar algunas líneas como controladores de fila y otras como sensores de columna, detectó de manera eficiente las pulsaciones de teclas.

• Control de motores: los motores paso a paso y los motores de CC se pueden controlar cuando el 8255 se combina con etapas de transistores, matrices Darlington o puentes H. Esto lo hizo útil en robótica, sistemas de posicionamiento y proyectos de automatización.

• Adquisición de datos: cuando se conecta a ADC (convertidores analógicos a digitales) y DAC (convertidores digitales a analógicos), el 8255 proporcionó una interfaz completa para tareas de medición y control. Esto permitió a los microprocesadores manejar señales en equipos científicos e industriales.

• Automatización industrial: el 8255 encontró uso en el control de señales de tráfico, lógica de ascensores y paneles de monitoreo de procesos. Su capacidad para administrar de manera confiable múltiples entradas y salidas lo convirtió en una solución de bajo costo para sistemas de control integrados.

• Retro-Computing – Máquinas clásicas como las computadoras IBM PC/XT y MSX emplearon el 8255 para la interfaz de periféricos. También se utilizó en impresoras y tarjetas de expansión, consolidando su lugar en la historia temprana de las computadoras personales.

Comparación del chip 8255 PPI con otros PPI

8255 frente a 8155

Figure 4. 8255 vs. 8155

El Intel 8155 combina múltiples funciones en un solo paquete: ofrece un pequeño bloque de RAM estática, un temporizador programable y puertos de E/S de uso general. Esto lo hizo adecuado para sistemas compactos donde se necesitaba memoria y control de tiempo. Por el contrario, el 8255 se enfoca completamente en E/S programables, sin memoria incorporada ni temporización. Su diseño más simple hizo que fuera más barato y fácil de programar cuando la aplicación no requería RAM integrada ni temporizadores.

8255 frente a 8259

Figure 5. 8255 vs. 8259

El controlador de interrupción programable 8259 tiene un propósito muy diferente: administrar las interrupciones de hardware para ayudar a la CPU a responder rápidamente a eventos externos. Mientras que el 8255 maneja la transferencia de datos de E/S en paralelo, el 8259 coordina las señales de interrupción. En muchos sistemas basados en microprocesadores, los dos chips se usaron juntos, 8255 para interactuar con dispositivos como teclados y pantallas, y 8259 para administrar las solicitudes de interrupción generadas por esos dispositivos.

8255 frente a expansores GPIO modernos

Figure 6. 8255 vs. Modern GPIO Expanders

Los sistemas actuales suelen utilizar expansores GPIO basados en I²C o SPI (como MCP23017 o PCF8574). Estos dispositivos proporcionan pines de E/S adicionales con menos conexiones, lo que ahorra espacio en la placa y reduce el número de pines en la CPU. Sin embargo, funcionan en serie, lo que puede ser más lento en comparación con el acceso paralelo directo del 8255. Si bien el 8255 requiere más líneas de bus, su estructura paralela permite transferencias más rápidas y lo hace muy valioso en entornos educativos, donde el control directo de los pines individuales y la comprensión de la sincronización del bus son importantes para el aprendizaje.

Solución de problemas y problemas comunes

Trabajar con el 8255 a veces puede provocar fallas en el sistema si no se siguen cuidadosamente las reglas de diseño. Los problemas y soluciones comunes incluyen:

• Puertos no inicializados: después del restablecimiento, todos los puertos están predeterminados en modo de entrada. Si la CPU no envía una palabra de control adecuada, las salidas permanecen inactivas o se comportan de forma impredecible. Programe siempre el registro de control antes de intentar leer o escribir datos.

• Palabras de control incorrectas: las palabras de control mal configuradas pueden asignar direcciones o modos incorrectos a los puertos, bloqueando las señales esperadas. Verifique los valores de las palabras de control con las tablas de hojas de datos para garantizar la configuración de bits adecuada.

• Fallas de protocolo de enlace: en los modos 1 y 2, el puerto C proporciona las señales de protocolo de enlace necesarias (STB, ACK, IBF, OBF). Las conexiones faltantes, mal cableadas o malinterpretadas provocan transferencias estancadas o perdidas. Verifique cuidadosamente tanto el cableado como las expectativas de nivel lógico de los dispositivos conectados.

• Sobrecarga de salidas: cada pin de puerto solo puede manejar pequeñas corrientes. Es posible controlar los LED directamente con resistencias, pero los motores, los relés y las lámparas requieren etapas de búfer externas, como matrices de transistores o circuitos integrados de controladores. Ignorar este límite corre el riesgo de dañar permanentemente el chip.

• Conflictos de bus: si varios dispositivos intentan controlar el bus del sistema al mismo tiempo, pueden producirse daños en los datos o en el hardware. El arbitraje de bus adecuado y el uso de señales de habilitación (RD', WR', CS') evitan este problema.

• Herramientas de depuración: cuando los problemas persisten, el equipo de prueba ayuda a aislar las fallas. Los analizadores lógicos pueden confirmar las señales de sincronización y control, mientras que los osciloscopios pueden verificar si el problema surge de un cableado de hardware ruidoso o una inicialización incorrecta del software.

Conclusión

El Intel 8255 PPI sigue siendo una piedra angular de la interfaz de microprocesadores. Aunque se sustituyó en gran medida por los modernos expansores GPIO y las E/S de microcontroladores integrados, sigue sirviendo como una herramienta de enseñanza activa. Su claridad para demostrar la transferencia de datos en paralelo, la configuración de puertos y el protocolo de enlace lo hacen invaluable para cualquier persona.

Preguntas frecuentes [FAQ]

¿Cuál es la palabra de control en 8255 y por qué es importante?

La palabra de control es una instrucción de 8 bits enviada por la CPU para configurar los puertos y modos del 8255. Sin él, todos los puertos permanecen en su estado de entrada predeterminado. Define si cada puerto actúa como entrada o salida y selecciona entre los modos 0, 1, 2 o Bit Set/Reset.

¿Puede el 8255 accionar directamente motores o relés?

No. Las salidas 8255 solo pueden generar o absorber unos pocos miliamperios, lo cual es insuficiente para motores o relés. Los circuitos de controladores externos, como las matrices de transistores o los puentes H, deben usarse para manejar una corriente más alta de manera segura.

¿Por qué se sigue utilizando el 8255 en la educación hoy en día?

El 8255 proporciona una forma clara y práctica de aprender sobre E/S de microprocesador, palabras de control y transferencia de datos en paralelo. Su arquitectura simple ayuda a los estudiantes a comprender los conceptos básicos antes de pasar a los microcontroladores modernos.

¿Qué sucede si usa el puerto C en los modos de protocolo de enlace?

En los modos 1 y 2, algunas líneas del puerto C están reservadas para señales de protocolo de enlace (como STB, ACK, IBF, OBF). Estos pines no se pueden usar como E/S de uso general durante esos modos, que debe tener en cuenta para evitar conflictos.

¿En qué se diferencia el 8255 de los expansores GPIO modernos?

A diferencia de los expansores I²C/SPI que utilizan comunicación en serie, el 8255 funciona con un bus paralelo, lo que permite transferencias más rápidas pero requiere más pines. Esto hace que el 8255 sea menos eficiente en cuanto al espacio, pero valioso para el control real y el aprendizaje de la sincronización del bus.