Rapport PDF
Rapport PDF
Rapport PDF
Compte Rendu de TP N° 5
Le schéma bloc du 8255 montre bien qu'il est divisé en deux groupes :
Groupe A : formé par le port A et le port C haut.
Groupe B : formé par le port B et le port C bas.
Le registre de données (Data buffer Bus) assure la liaison entre le bus de
données extérieur et le registre de contrôle ainsi que les ports
d'entrées/sorties.
La sélection du 8255A se fait par l'intermédiaire de la pine CS (qui est en général
fournie par une logique de décodage qui permet la sélection du 8255A : voir plus
loin les exemples d'applications)
Le bus d'adresse du 8255A est formé essentiellement par deux pines (A0et A1) qui
permettent de sélectionner les ports ainsi que le registre de contrôle comme le
montre le tableau suivant :
Plus en détail l'adressage des différents ports en entrée sortie se fait selon la table
de vérité suivante :
Montage :
P G F E D C B A Chiffre
1 1 0 0 0 0 0 0 0
1 1 1 1 1 0 0 1 1
1 0 1 0 0 1 0 0 2
1 0 1 1 0 0 0 0 3
1 0 0 1 1 0 0 1 4
1 0 0 1 0 0 1 0 5
1 0 0 0 0 0 1 0 6
1 1 1 1 1 0 0 0 7
1 0 0 0 0 0 0 0 8
1 0 0 1 1 0 0 0 9
mov al,[si]
mov dx,portA
out dx,al
mov al,11111111b
mov dx,portA
out dx,al
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov al,00000010b
mov dx,portB
out dx,al
mov al,[bx]
mov dx,portA
out dx,al
mov al,11111111b
mov dx,portA
out dx,al
inc bx
inc cx
cmp cx,10
jne ab
inc si
inc comp
mov cl,comp
cmp cl,10
jne abc
code ends
end start
2. Horloge
Pour monter l’horloge on va utiliser :
Le montage :
Le programme :
data segment
portA equ 300H ; adresses des registres du 8255
portB equ 302H
portC equ 304H
controle equ 306H
comp1 db 0
comp2 db 0
comp3 db 0
comp4 db 0
comp5 db 0
comp6 db 0
adre1 dw 0
adre2 dw 0
adre3 dw 0
adre4 dw 0
adre5 dw 0
adre6 dw 0
tab db
11000000b,11111001b,10100100b,10110000b,10011001b,10010010b,10000010b,111
11000b,10000000b,10011000b
data ends
code segment
assume cs:code, ds:data
start:
mov ax,data
mov ds,ax
code ends
end start
Manipe n°2 : Afficheur LCD (16x2):
Pour commander un afficheur LCD 16*2 ( 16 caractères , 2 lignes ) on propose le
schéma du montage suivant :
On suppose que les adresses des ports est donner comme suit :
Port A : 300H
Port B : 302H
Port C : 304H
Registre de commande : 306H
Le programme est comme suit :
Donnee SEGMENT
Message db 'cycle ing GEMI'
PortB EQU 302H
PortC EQU 304H
Reg_com EQU 306H
Mot_com EQU 80H
Donnee ENDS
Code SEGMENT
Assume CS :code , DS :donnee
start:
MOV AX,donnee ; pointer le data segment
MOV DS,AX
MOV AL,Mot_com ; configurer les ports en sorties
mov dx,Reg_com
OUT dx,AL
LEA SI,message ; Pointe le message à afficher
INC SI
LOOP DEBUT
code ends
end start