
- 15 -
Registre de contrôle
D7 D6 D5 D4 D3 D2 D1 D0
SC1 SC0 RW1 RW0 M2 M1 M0 BCD
SC1 SC0 Sélection du compteur
0 0 Compteur 0 sélectionné
0 1 Compteur 1 sélectionné
1 0 Compteur 2 sélectionné
1 1 Commande Read-Back
BCD Binaire / BCD
0Compteur Binaire (16-bits)
1Compteur BCD (4 décades)
M2 M1 M0 Mode
0 0 0 Mode 0
0 0 1 Mode 1
x 1 0 Mode 2
x 1 1 Mode 3
1 0 0 Mode 4
1 0 1 Mode 5
RW1 RW0 Lecture / Ecriture
0 0 Verrouillage du contenu du compteur
0 1 Lire/Ecrire LSB seulement
1 0 Lire/Ecrire MSB seulement
1 1 Lire/Ecrire LSB, ensuite MSB
Figure 5-3 : Format du mot de contrôle
3.2. Exemple d’initialisation
On veut programmer le compteur 2, pour générer un signal carré de fréquence
fOUT = 2 Khz sachant que fCLK = 1,2288 Mhz. On suppose que le timer 8253 est
sélectionné par les lignes A2 et A1 du microprocesseur 8086 et que son adresse de base
est 330H.
- l’adresse du compteur 2 est 334H et du registre de commande 336H.
- la valeur initiale du compteur N = fCLK / fOUT § 614 = 0266H.
- le signal carré est généré par le mode 3.
Ce qui donne le mot de commande : 1011x110b = B6H ou BEH.
MOV AL, B6H ; Compteur 2, mode 3, Binaire Æ B6H
MOV DX, 336H ; Charger l’adresse du registre de contrôle
OUT DX, AL ; Envoi au registre contrôle
MOV AX, 0266H ; Charger le nombre diviseur (H pour HEX)
MOV DX, 334H ; Charger l’adresse du compteur 2
OUT DX, AL ; Envoi de l’octet LSB au compteur 2 (66H)
MOV AL, AH ; MSB dans AL
OUT DX, AL ; Envoi de l’octet MSB au compteur 2 (02H)
- 16 -
4. Modes de fonctionnement du PIT 8253/54
Le PIT 8253/54 possède six modes de fonctionnement permettant de satisfaire la plupart
des applications industrielles tels que la génération des temporisations, des signaux de
synchronisation, des signaux périodiques impulsionnels et carré, des signaux MLI par
combinaison de deux modes …etc. L’entrée Gate est utilisée dans les modes 1 et 5 pour
déclencher le décomptage ; alors que dans les autres modes pour bloquer le décomptage.
La Figure 5-4 présente un résumé des différents modes.
Mode 1 : Redéclenchement par impulsion
WR n=3
321
Gate
OUT
CL
32232132
WR n=4
424
Gate
OUT
CL
22242424
Mode 0 : Interruption au compte final
Mode 2 : Générateur d’impulsion périodique
6
WR n=6
54322110
Gate
OUT
CL
….
Mode 3 : Générateur d’un signal carré
Mode 4 : Strobe déclenché par logiciel
WR n=4
444
Gate
OUT
CL
443210
FF
FF FF
FE
Mode 5 : Strobe déclenché par hardware
WR n=3
3210
FF
FF
Gate
OUT
CL
3210
WR n=3
3210
FF
FF
Gate
OUT
CL
3210
Figure 5-4 : Diffétents modes de fonctionnment
5. Application
On se propose de générer à la sortie OUT1 du timer 8253 les fréquences musicales du
Tableau 5-2 afin d’entendre la symphonie musicale proposé par le programme ci-après.
Echelle musicale Do Ré Mi Fa Sol La Si
Fréquence de base en Hz 261,6 293,7 329,6 349,2 392,0 440,0 493,2
Taux de division ( fCLK / fOUT )
Tableau 5-2 : Fréquence de base
1) Complétez la dernière ligne du Tableau 5-2, sachant que la fréquence d’horloge du
compteur 1, fCLK = 1,2288 Mhz.
2) Ecrire un programme en assembleur 8086 permettant de générer à la sortie OUT1
du timer les fréquences musicales. Insérez dans la boucle une petite attente.
(Positionnez bien les switchs du DIP SW3).
3) On donne le programme suivant :
a. Tapez et exécutez le programme.
b. Commentez toutes les instructions du programme.
- 17 -
; ==================================================================
;MTS-86C - PROGRAMMATION DU TIMER 8253
; ==================================================================
COUNT1 EQU 0FFDAH
CSR EQU 0FFDEH
CNT3 EQU 3FD6H
D0 EQU 0
RE EQU 2
MI EQU 4
FA EQU 6
SOL EQU 8
RA EQU 0AH
SY EQU 0CH
DO1 EQU 0EH
NO EQU 10H
ORG 0
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
START:MOV SP, 4000H
MOV AX, CS
MOV DS, AX
MOV DX, CNT3
MOV AL, 09H
OUT DX, AL
MOV DX, CSR
MOV AL, 76H
OUT DX, AL
MOV DX, COUNT1
LEA BX, DATA1
LEA SI, DATA2
MAIN: MOV AL, [SI]
CMP AL, 0FFH
JZ _END
XOR AH, AH
PUSH SI
MOV SI, AX
MOV AX, [BX+SI]
OUT DX, AL
MOV AL, AH
OUT DX, AL
POP SI
INC SI
MOV AL, [SI]
J1: CALL TIMER
DEC AL
JNZ J1
MOV AX, 10
OUT DX, AL
MOV AL, AH
OUT DX, AL
MOV CX, 0AFH
LOOP $
INC SI
JMP MAIN
_END: MOV AH, 4CH
INT 21H
TIMER: MOV CX, 2800H
LOOP $
RET
;======== DATA ======
DATA1 :
DW 4697, 4184, 3728
DW 3519, 3135, 2793
DW 2491, 2352, 10H
DATA2 :
DB MI,2,RA,2,SOL,2
DB FA,2,MI,2,FA,2
DB MI,2,NO,2
DB MI,2,FA,2,SOL,2
DB DO1,2,SY,2,RA,2
DB SOL,2,NO,2,DO1,2
DB SOL,2,MI,2,NO,2
DB RA,2,SOL,2,FA,2
DB MI,2,FA,2,MI,2
DB RE,2,DO,2,RE,6
DB NO,2
DB MI,4,MI,2,MI,2
DB FA,2,FA,2,FA,2
DB FA,2,SOL,3,SOL,1
DB SOL,2,SOL,2,RA,2
DB SOL,2,FA,2,NO,2
DB RA,2,RA,2,FA,2
DB RA,2,DO1,2,SY,2
DB RA,2,SOL,2,DO1,2
DB SOL,1,RA,1,SOL,2
DB MI,2,FA,2,RE,2
DB DO,2,NO,2
DB SOL,3,SOL,1,SOL,2
DB SOL,2,RA,2,RA,2
DB RA,2,NO,2
DB DO1,3,DO1,1,SY,2
DB RA,8
DB DO1,3,DO1,1,SY,2
DB RA,2,SOL,2,SOL,2
DB MI,2,NO,2
DB RA,3,RA,1,SOL,2
DB MI,2,RE,8,DO,6
DB RE,2,MI,4,SOL,4
DB RA,2,DO1,2,RA,4
DB SOL,4,MI,4,SOL,6
DB SOL,2,RA,4,SOL,4
DB DO1,0BH
DB 0FFH
CODE ENDS
END START
- 18 -
Institut Supérieur des Etudes Technologiques de Sousse
Département Informatique
TP circuits d’interfaces
TP6 : L’INTERFACE SERIE 8251
1. Introduction
L’USART 8251A est une interface série asynchrone et synchrone (Universal Synchronous
Asynchronous Receiver Transmitter). Dans ce Tp nous étudions uniquement le mode
asynchrone. Le schéma bloc du 8251A est donné par la Figure 6-1.
Figure 6-1 : Schéma bloc de l'USART 8251A