You are on page 1of 8

LE 8255A

I/ Introduction:
Le 8255A est un circuit d'E/S destin tre utilis
avec les microprocesseurs Intel.
Il possde 24 broches qui peuvent tre individuellement
programms en 2 groupes de 12 et il peut utiliser 3
modes fondamentaux de fonctionnement: mode 0, mode 1 et
mode 2.
II/ Description fonctionnelle du 8255:

PA3
PA2
PA1
PA0
RD
CS
GND
A1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PB0
PB1
PB2

PA4
PA5
PA6
PA7
WR
Reset
D0
D1
D2
D3
D4
D5
D6
D7
VCC
PB7
PB6
PB5
PB4
PB3

1- Description gnrale des fonctions de broches:


N B ro c h e
5
36
6
8 & 9

36

N o m d e b ro c h e F o n c tio n
RD/
U n s ig n a l b a s s u r c e tte e n tr e a u to ris e le
p a s s a g e d e d o n n e d u 8 2 5 5 v e rs la C P U
W R/
U n s ig n a l b a s s u r c e tte e n tr e a u to ris e le
p a s s a g e d e d o n n e d e la C P U v e rs 8 2 5 5
CS/
U n s ig n a l b a s s u r c e tte e n tr e s le c tio n n e
le 8 2 5 5 e t a s s u re s o n d ia lo g u e a v e c C P U
A0 & A1
C e s d e u x b ro c h e s re p r s e n te n t le s d e u x
b its le s p lu s fa ib le s d u b u s d 'a d re s s e s e t
p e rm e tte n t la s le c tio n d 'u n p o rt d u 8 2 5 5
RESET
U n n iv e a u lo g iq u e 1 in itia lis e le 8 2 5 5

2 7 ,2 8 ,2 9 ,3 0 ,
3 1 ,3 2 ,3 3 ,3 4

Bus donnes

4 ,3 ,2 ,1 ,4 0 ,3 9 ,
3 8 ,3 7
1 8 ,1 9 ,2 0 ,2 1 ,
2 2 ,2 3 ,2 4 ,2 5
1 4 ,1 5 ,1 6 ,1 7 ,
1 3 ,1 2 ,1 1 ,1 0
7
26

PORT A
PORT B
PORT C
GND
VCC

C e s b ro c h e s re p r s e n te n t le b u s d e
donne s du 8255A , en com m enant du
p o id le p lu s fa ib le ju s q u 'a u p lu s fo rt
C e s b ro c h e s re p r s e n te n t le p o rt A d u
b it le p lu s fa ib le c e lu i d u p lu s fo rt
C e s b ro c h e s re p r s e n te n t le p o rt B d u
b it le p lu s fa ib le c e lu i d u p lu s fo rt
C e s b ro c h e s re p r s e n te n t le p o rt C d u
b it le p lu s fa ib le c e lu i d u p lu s fo rt
C 'e s t la m a s s e d u 8 2 5 5 A
C 'e s t la b ro c h e d 'a lim e n ta tio n d u 8 2 5 5

2- Schma synoptique de 8255A:


Tensions
D'alimentation

5v
GND
Contrle
Du groupe A

Bus
Bidirectionnel
D7-D0
__
RD
WR
A0
A1
RESET
CS

Amplificateur
de bus
de donnes

Lecture
Ecriture
Contrle
logique

Contrle
Du groupe B

Port A
Groupe A

E/S
PA0-PA7

Port C
(haut)
Groupe A

E/S
PC7-PC4

Port C
(bas)
Groupe B

E/S
PC3-PC0

Port B
Groupe B

E/S
PB0-PB7

a- Amplificateur Tampon de Bus de donnes:


Cet amplificateur de 8 bits, bidirectionnel trois
tats est utilis pour interfacer le 8255A au bus de
donnes du systme. La donne est transmise ou reu
par:
L'amplificateur durant l'excution des instructions IN
et OUT du CPU. Les mots de contrle et l'information
d'tat sont aussi transfrs travers l'amplificateur
tampon du Bus de donnes.
b- Logique de contrle et de lecture/criture:
La fonction de ce bloc est de contrler tous les
transferts internes et externes des donnes et des mots
de contrle de CPU, il cre les signaux de commande des
2 groupes de contrle.

__
- CS : Chip Select (slection de botier):
Un niveau "bas" sur cette entre autorise
communication entre le 8255A et la CPU.

la

__
- RD : Read (lecture):
Un niveau "bas" sur cette entre autorise le 8255A
envoyer une donne ou une information d'tat au CPU par
l'intermdiaire du bus de donnes. Autrement dit, cette
entre permet au CPU de lire une donne provenant du
8255A.
__
- WR : Write (criture):
Un niveau "bas" sur cette entre autorise la CPU
crire une donne ou un mot de contrle dans le 8255A.
- A0 et A1: Port select 0 and Port select 1 (Slection
du circuit d'entre 0 et 1):

__ Ces signaux d'entre associs aux signaux d'Entre


RD et WR, Contrlent la slection d'un des 3 circuits
d'accs ou du registre de contrle.
- Reset (remise zro):
Un niveau "haut" sur cette entre met 0 tous les
registres internes y compris le registre de contrle et
met tous les ports d'E/S en mode 0 et en entre.
c- Registres de Contrle du groupe A et B:
La configuration fonctionnelle de chaque circuit
d'accs est programme par l'envoi d'un mot de contrle
au 8255A par la CPU.
Ce mot de contrle contient une information telle que
le mode, la mise 1 d'un bit, la mise 0 d'un bit,...
Qui initialise la configuration fonctionnelle du 8255A.
Chacun des blocs de contrle accepte les commandes de
la logique de contrle d'criture/lecture, reoit les
mots de contrle du bus interne et envoie les commandes
propres ces circuits d'accs associs.
- Contrle du groupe A: circuit d'accs A et circuit
d'accs C (C4 C7)
- Contrle du groupe B: circuit d'accs B et circuit
d'accs C (C0 C3)
d- Les ports A, B et C:
Le 8255A possde 3 circuits d'accs de 8 bits (A,B et
C). Qui peuvent tre configurs sous 3 modes.

III/ Les modes de fonctionnement:


Le mode de fonctionnement est slectionn par le bit 5
et 6 du registre de contrle qui configure en plus les
3 ports en E ou en Sortie (bits 0,1,2,3 et 4) et
d'actionner le PIA.

Bits du registre de contrle:


D7 D6 D5 D4 D3 D2 D1 D0
Positionnement
de l'indicateur
de mode:
1 : actif

Port C (infrieur):
0 : mode 0
1 : mode 1

Slection
00 : mode
01 : mode
1X : mode

Port B:
0 : mode 0
1 : mode 1

du mode:
0
1
2

Port A:
1 : entre
0 : sortie

Slection mode:
0 : mode 0
1 : mode 1

Port C (suprieur):
1 : entre
0 : sortie

1- Mode 0: E/S classiques:


Ce mode permet d'utiliser 1 des 4 ports (A,B,C inf, et
C sup) Comme entre ou sortie, indpendamment les uns
des autres.
Il existe 16 configurations entre/sortie possibles
qui peuvent tre reprsentes dans le tableau suivant:

A
S
S
S
S
S
S
S
S
E
E
E
E
E
E
E
E

B
S
S
S
S
E
E
E
E
S
S
S
S
E
E
E
E

C4-C7
S
S
E
E
S
S
E
E
S
S
E
E
S
S
E
E

Direction des donnes:


E: entre
S: sortie

C0-C3
S
E
S
E
S
E
S
E
S
E
S
E
S
E
S
E

Hexa
80
81
88
89
82
83
8A
8B
90
91
98
99
92
93
9A
9B

Dcimal
128
129
136
137
130
131
138
139
144
145
152
153
146
147
154
155

valeur du
registre de
contrle

Programmation du PIA 8255 en mode 0


2- Mode 1:
Dans le mode 1, seuls les ports A et B sont
disponibles pour le transfert parallle des donnes,
aussi
bien
les
entres
que
les
sorties
sont
verrouilles. les 2x4 bits du port C servent aux
signaux de dialogue (d'change) pour les ports A et B.
Deux configurations possibles l'Entre et la Sortie:
a- Mode 1 en Entre:
En entre du mode 1, les ports A et B sont en
entres. Le port B utilise les bits C0,C1 et C2 pour
l'asservissement et le port A utilise les bits C3,C4 et
C5.
Le priphrique place une donne de 8 bits sur A7-A0
(ou B7-B0) puis gnre un STB (strobe) lequel charge la
donne dans le latch d'entre. Ceci a pour effet
l'activation du signal IBF (Input Buffer Full) 1. Un
niveau haut sur la sortie INTR peut tre utilis pour

interrompre le Microprocesseur lors d'une demande du


priphrique. L'INTR est activ quand STB=0,IBF=1 et
INTE=1 et mise 0 par le front descendant de RD.
Mode 1 (port A)
PA7-PA0
INTE PC4
PC5

Mode 1 (port B)

&
__
RD

PC3
PC6-7

PA7-PA0
INTE PC2
PC1

8E
STBa
IBFa

INTRa
2E/S

__
RD

8E
STBb
IBFb

&
PC0

INTRb

b- Mode 1 en Sortie:
Pour la sortie en mode 1, le microprocesseur crit
la donne dans le port A (ou B). Le front montant de WR
fait cesser l'interruption du microprocesseur INTR=0 et
met OBF=0 pour signifier au priphrique que son buffer
de sortie est plain et qu'il peut donc venir chercher
la donne.
ACK=0
est
une
rponse
qui
indique
que
le
priphrique a reu la donne provenant de la CPU et
qui a pour effet de faire cesser OBF=1, de nouveau
ACK=1,OBF=1 et INTE=1.
Fait interrompre le microprocesseur pour qu'il
puisse crire la donne suivante.

Mode 1 (port A)
PA7-PA0
INTE PC6
PC7

Mode 1 (port B)

&
__
WR

PC3
PC4-5

PA7-PA0
INTE PC2
PC1

8S
ACKa
OBFa

INTRa
2E/S

__
WR

8S
ACKb
OBFb

&
PC0

INTRb

3- Mode 2:
Le mode 2 permet d'avoir un bus bidirectionnel sur le
port A. Cinq bits du port C sont utiliss pour le
status et le contrle du port A.
- Signaux de contrle de bus bidirectionnel d'E/S:
INTR=1 pour interrompre le microprocesseur lorsque
le port a accept ou transmis une donne.
- Signaux de contrle en Ecriture:
OBF=0 indique que le microprocesseur sort une
donne par le port A.
- Signaux de contrle en Lecture:
STB=0 Charge la donne dans le latch d'entre.
IBF=1 indique que la donne a t charge dans le
latch d'entre.
Mode 2 (port A)
PA7-PA0
INTE1
PC6
PC7
__
WR
__
RD

8E/S
ACKa
OBFa

&
ou PC3

INTRa

PC5
PC4
PC2-0

IBFa
STBa
3E/S

&
INTE2

You might also like