Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interfase Periférica Programable (PPI - 8255) : Arquitectura de Computadoras
Interfase Periférica Programable (PPI - 8255) : Arquitectura de Computadoras
6.1 Introducción.
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