Intel i8255
El Intel 8255 (o i8255) Programmable Peripheral Interface (PPI : interfaz programable de periféricos) es un chip controlador de periféricos desarrollado originalmente para el microprocesador Intel 8085, y como tal miembro de una gran lista de chips conocida como la Familia MCS-85. Este chip se utilizó posteriormente con el Intel 8086 y sus sucesores. Fue fabricado (clonado) más tarde por muchos otros fabricantes. Se presenta en un encapsulado DIP de 40 pines, y una versión del 82C55A en encapsulado PLCC (plastic leaded chip carrier) de 44 pines.
Este chip se utiliza para que la CPU acceda al puerto paralelo programable de I/O, y es muy similar a otros chips como el Motorola 6520 PIA (Peripheral Interface Adapter), el MOS Technology 6522 (Versatile Interface adapter) y el MOS Technology CIA (Complex interface Adapter) todos desarrollados para la familia de CPUs 6502. Otros chips similares son el 2655 Programmable Peripheral Interface para la familia de CPUs Signetics 2650, el 6820 PIO (Peripheral I/O) para el Motorola 6800, el Western Digital WDC 65C21 (un 6520 mejorado), y muchos otros.
El 8255 se utilizó en los ordenadores domésticos Spectravideo SVI-318, Spectravideo SVI-328 y en todas las generaciones MSX, pero es quizás más conocido por su uso en el puerto paralelo de impresora original del IBM-PC (hoy sustituido en los ordenadores personales por el Universal Serial Bus, y considerado un legacy port).
Sin embargo, en la mayoría de los casos la funcionalidad que ofrece el 8255 no está implementada mediante el propio chip, sino embebido en chips VLSI como una de sus funciones. El chip 8255 todavía se fabrica, y se utiliza junto con un Microcontrolador para expandir las capacidades de entrada/salida de este.
El 8255 dispone de un buffer bidireccional triestado de 8 bits que utiliza para interactuar con el bus de datos del sistema. Los datos son transmitidos o recibidos por el buffer tras la ejecución de instrucciones de entrada o salida por la CPU. Las palabras de control y la información de estado también son transferidos a través del buffer.
El 8255 contiene tres puertos de 8 bits (A, B y C). Todos puede configurarse en una amplia variedad de características funcionales por el software del sistema, pero cada uno tiene sus propias características especiales o personalidad para mejorar aún más el poder y la flexibilidad de la 8255