Académique Documents
Professionnel Documents
Culture Documents
Chapitre 6 :
communication parallele
l’interface parallele 8255
Figure 6.1
31
Hafedh ABID
Les bascules du port C peuvent être mises à 1 ou 0 individuellement, il sagit d’une commande
SET/RESET. Dans ce cas, le mot de commande doit être déterminé selon le format suivant :
32
Hafedh ABID
Figure 6.2
Par exemple le mot de contrôle 8AH, met le port A en sortie , le haut du port C en entrée, le bas du
port C en sortie et le port B en entrée.
MOV DX, ADR_8255 + 3 ; adresse du registre de contrôle dans DX
MOV AL, 8AH ; mot de contrôle dans AL
OUT DX, AL ; programmation du 8255
Les bits du port C du 8255 pourraient être mis à 1 ou à 0 individuellement, lorsque le bit 7 du
registre de contrôle est mis à 0, dans ce cas il s’agit d’une commande SET/RESET.
33
Hafedh ABID
Les ports A et B sont programmées en entrée. Les signaux de dialogue correspondants sont
respectivement PC3, PC4, PC5,et PC0, PC1, PC2. Les deux bits restants (PC6 et PC7) peuvent être
programmés soit en entrée soit en sorties.
Figure 6.3
• STB (Strobe input) Signal en entrée permettant l’échantillonnage de la donnée présente sur le port
associé. Un niveau bas sur cette entrée autorise le passage de la donnée dans le registre d’entrée,
celui-ci sera verrouillé au front montant de STB .
• IBF (Input buffer full flag output) : Signal en sortie, indiquant que la donnée est prête en entrée
du port. Cette sortie est mise à 1 par front descendant de STB . Elle sera remise à 0 par front montant
de RD : c'est-à-dire lorsqu’on aura effectué la lecture de la donnée.
• INTR (Interrupt request output) Demande d’interruption: Signal en sortie pouvant être utilisé pour
effectuer une demande d’interruption au CPU. Elle passe à 1 sur le front montant de STB si le
masque qui lui est associé (INTE) est préalablement mis à 1. INTR est remis à 0 sur le front
descendant de RD (lecture de l’information).
34
Hafedh ABID
Remarque : INTE est mis à 1 par une commande SET/RESET du bit du port correspondant à son
rang dans le mot d’état (Soit PC4 pour INTEA et PC2 pour INTEB).
Fonctionnement
Le périphérique place une donnée de 8 bits sur A7-A0 ou (B7- B0) puis génère un strobe ( STB =0)
qui charge cette donnée dans le latch d’entrée. Ceci a pour effet l’activation du signal IBF à 1,
indiquant au CPU que la donnée est prête à l’entrée du port.
Mot de commande
Figure 6.4
35
Hafedh ABID
• ACK (Acknowledge) Signal en entrée. Un niveau 0 sur cette entrée signale au 8255 que la donnée
a été prise en compte.
• OBF (Output buffer full) : Signal en sortie, indiquant que la donnée est prête en sortie du port.
Cette sortie est mise à 0 par front montant de WR c'est-à-dire lors d’une opération de sortie sur le
port associé. Elle sera remise à 1 par front descendant de ACK : (réponse du périphérique comme
quoi il a bien reçu la donnée).
• INTR (Interrupt request output) Demande d’interruption: Signal en sortie. Cette sortie passe à 1
sur front montant de ACK si le masque qui lui est associé est à 1. Elle est remise à 0sur le front
montant de descendant de WR .
Fonctionnement
Pour la sortie en mode 1, le microprocesseur écrit la donnée dans le port A ou B. Le front montant
de WR fait cesser l’interruption du µP (INTR=0), et met OBF 0 pour signaler au périphérique que
son buffer de sortie est plein et qu’il peut donc venir chercher une donnée. Ayant reçu la donnée ce
dernier répond par ACK 0 qui a pour effet de faire cesser OBF 1 . De nouveau ACK 1 , OBF 1 et
INTE=1 (par le bit SET/RESET de PC6 pour A et celui de PC2 pour B) fait interrompre le µP pour
que celui-ci écrive la donnée suivante.
Mot de commande
Il est impossible de transférer des données dans deux directions à travers un port unique à 8 bits.
Le mode 2 est valable uniquement pour le groupe A. Cinq bit du port C sont utilisés pour le
contrôle dans ce mode.
36
Hafedh ABID
Figure 6.5
Mot de commande
37
Hafedh ABID
1
Port parallèle LPT1 :
STROBE
14
2
D0
AUTO FEED
- Le bus de données (sorties) :378H
15
ERROR
3
16
D1
INIT
D7 D6 D5 D4 D3 D2 D1 D0
4
D2
17
SELECT IN
5
18
D3
GND
- Port de contrôle (sorties) : 37AH
6
D4
19
7
GND
D5
x x x x Select init Autofeed Srobe
20
8
GND
D6
in
21
9
GND
D7
- Port de Status (entrées) : 379H
22
GND
10
23
ACKNOWLEDGE
GND
Bu Ac Parer. select Err x x x
11
24
BUSY sy kn end or
GND
12
PAPER END
25
GND
13
DETEC
DB25
Figure 6.6
38
Hafedh ABID
39