Está en la página 1de 20

SEMANA 6

Interfase Periférica Programable


(PPI – 8255)
Arquitectura de computadoras
Objetivos
Al finalizar esta semana el alumno
será capaz de:
 Definir qué es una interfase periférica
programable y para qué sirve.
 Identificar su estructura interna.
 Identificar sus modos de operación y
cómo se programa.
Interfase Periférica
Programable

6.1 Introducción.

6.2 Estructura interna.

6.3 Programación y modos de operación.


Introducción
 La Interfase Periférica Programable
(Programmable Peripheral Interface, PPI)
8255 es un componente para interfase
muy popular y de bajo costo presente
en muchas aplicaciones.
 Es utilizado como interfase entre un
microprocesador y cualquier dispositivo
de E/S compatible con tecnología TTL.
Introducción
 El PPI cuenta con 24 pines para E/S los
cuales son programables en grupos de
12 pines cada uno.
 Cuentan con varios modos de
operación.
 Unode sus grupos cuenta con tres modos
de operación.
Introducción
 El 82C55 (versión CMOS) requiere la
inserción de periodos de espera si
trabaja con un microcontrolador que
trabaje a más de 8MHz.
 Puesto que los dispositivos de E/S son
relativamente lentos en comparación con
un microprocesador, los periodos de
espera no impactan significativamente
con la velocidad del sistema.
Introducción
 El 82C55 aun cuenta con aplicaciones
 En los computadores personales (aun en
computadores con procesador Pentium 4)
el 82C55 es usado para interfase con el
teclado y el puerto paralelo de impresora
(aunque éste pueda ya no estar como un
componente discreto, encontrándose
incorporadas sus funciones al chipset).
Introducción
 El PPI cuenta con 34
33
D0
D1
PA0
PA1
4
3

24 pines para E/S


32 2
D2 PA2
31 1
D3 PA3
30 40

los cuales son


D4 PA4
29 39
D5 PA5
28 38
D6 PA6
27 37

programables en
D7 PA7

18
PB0

grupos de 12 pines
19
PB1
20
PB2
21
PB3

cada uno.
22
PB4
23
PB5
5 24
RD PB6
36 25

 Vcc = pin 26
WR PB7
9
A0
8 14
A1 PC0
35 15

Gnd = pin 7
RESET PC1
6 16
CS PC2
17
PC3
13
PC4
12
PC5
11
PC6
10
PC7

82C55
Estructura Interna del PPI
 Tiene tres puertos de E/S: A, B y C.
 Los puertos son programables por
grupos:
 El grupo A está formado por el puerto A
(PA7-PA0) y la mitad superior del puerto
C (PC7-PC4).
 El grupo B está formado por el puerto B
(PB7-PB0) y la mitad inferior del puerto
C (PC3-PC0).
Estructura Interna del PPI
 El 82C55 cuenta con seis pines de control:
RD, WR, A0, A1, RESET, CS.
 RD: utilizada para seleccionar una operación de
lectura. Se activa en BAJA.
 WR: utilizada para seleccionar una operación
de escritura. Se activa en BAJA.
 A0, A1: permiten seleccionar un registro interno
del PPI para programación u operación.
 RESET: para reiniciar al PPI (todos los puertos
como puertos de entrada en modo 0).
 CS: (chip select) utilizada para seleccionar al
PPI para programación o para lectura o
escritura de uno de sus puertos. Se activa en
BAJA.
Estructura Interna del PPI
 Asignación de los puertos de E/S para
el 82C55.

A1 A0 Función

0 0 Puerto A
0 1 Puerto B
1 0 Puerto C
Registro de
1 1
Comando
Estructura Interna del PPI
 En los computadores personales el
82C55 o su equivalente es mapeado
en las direcciones de puerto 60H-
63H.
 Se emplea para control de teclado, así
como para control de parlante,
temporizador y otros dispositivos
internos como expansión de memoria.
Programación
 El 82C55 es programado a través de dos
registros de control internos.
 Al recibir un comando por sus líneas de
datos el PPI determina a cual registro de
control va dirigido dicho comando de
acuerdo al valor de su bit más significativo:
 1: Registro de control A
 0: Registro de control B.
Programación
Byte de control A
7 6 5 4 3 2 1 0
1

Grupo A Grupo B
Modo PortC (PC3 – PC0)
00 = modo 0 1 = entrada
01 = modo 1 0 = salida
1X = modo 2
PortB
PortA 1 = entrada
1 = entrada 0 = salida
0 = salida
Modo
PortC (PC7 – PC4) 0 = modo 0
1 = entrada 1 = modo 1
0 = salida

Byte de control B
7 6 5 4 3 2 1 0
0 X X X

Set/Reset de Bit
0 = set
Selección de un
1 = reset
bit del puerto C
Programación:
Modo 0
 EL modo de operación 0 causa que el
82C55 funcione o como buffer de
entrada o como latch de salida. Es
decir, los puertos A, B y C pueden ser
individualmente programados como
puertos de entrada o salida. El puerto
C es dividido en dos grupos de 4 bits
(nibble), programados cada uno de
manera independiente.
Programación:
Modo 1
 El modo de operación 1 permite la
implementación de una comunicación
paralela unidireccional.
 En este modo el puerto A y/o el puerto B
pueden ser configurados como un registro
de entrada. Esto permite que los datos
externos enviados se almacenen en el
puerto hasta que el microprocesador esté
listo para leerlos.
 El puerto C se utiliza para gestionar las
señales de reconocimiento o control que
hacen funcionar al puerto A y/o al puerto B
como puertos de entrada mediante una
señal estroboscópica.
Programación:
Modo 2
 El modo de operación 2 permite la
implementación de una comunicación
paralela bidireccional.
 Este modo sólo es válido para el
grupo A, donde el puerto A se vuelve
bidireccional permitiendo transmitir y
recibir datos en los 8 bits del bus.
Ejemplos de empleo
Interfaz para conectar 8 displays de 7 segmentos con
un microprocesador 8088 a través de un PPI
39 D0 D1 D2 D3 D5 D6 D6 D7

2N2907

2.2K Vcc
34 4
D0 D0 PA0
33 3
D1 D1 PA1
32 2
D2 D2 PA2
31 1
D3 D3 PA3
30 40
D4 D4 PA4
29 39
D5 D5 PA5 2N2222
28 38
D6 D6 PA6
27 37
D7 D7 PA7

18
PB0
19
PB1
20
PB2
21
PB3
22
PB4
23
PB5
5 24
IORC RD PB6
36 25
IOWC WR PB7
9
A1 A0 690
8 14
A2 A1 PC0
35 15
RESET RESET PC1
6 16
CS PC2
17
PC3
13
PC4
12
PC5
1 15 11
A7 A Y0 PC6
2 14 10
A3 B Y1 PC7
3 13
A4 C Y2
12 82C55
Y3
11
Y4
6 10
A6 G1 Y5
4 9
A5 G2A Y6
5 7
A0 G2B Y7
Ejemplos de empleo
Interfaz para controlar un motor de paso.
Adicionalmente se controla un teclado matricial y un
display LCD. 34
D0 PA0
4 D0
Vee
VCC

33 3 D1 10K
D1 PA1
32 2 D2
D2 PA2
31 1 D3
D3 PA3
30 40 D4
D4 PA4
29 39 D5 VCC
28
D5 PA5
38 D6
Display LCD
27
D6 PA6
37 D7 4 líneas x 20
D7 PA7
15
18 R/W
PB0
19 RS LEDA
PB1
20 E LEDK
PB2
21
PB3
22
PB4
23
PB5
5 24 Motor de paso
RD PB6
36 25 10K
WR PB7
9
A0
8 14
A1 PC0
35 15 10K 12 V
RESET PC1
6 16
CS PC2
17
PC3
13 10K
PC4
12
PC5
11
PC6
10 10K
PC7

82C55

VCC
10K

10K

10K

10K
Fin

Ing. Luis Raymi Román

También podría gustarte