Chapitre 6
Les Interfaces
d’entrée-sortie numériques
6.1 Introduction
Ce chapitre expose une description succincte de quelques circuits d’entrée-
sortie numérique.
L’objectif principal est de présenter des exemples et des exercices d’applica-
tions de ces circuits dans un système à base du MC68000, soit en mode scruta-
tion, ou en mode interruption.
6.2 Le DUART 68681
Le DUART est un circuit d’interface pour communication série, comportant
deux ports de transmission/réception asynchrone (UART).
Les deux ports sont indépendemment programmables avec la possibilité
d’une transmission/réception simultanée.
Le circuit comporte aussi 6 entrées, et 8 sorties parallèles, pouvant être
utilisées dans le cas d’une communication par poignée de main (handshacking).
69
70 CHAPITRE 6. LES INTERFACES D’ENTRÉE-SORTIE NUMÉRIQUES
Fig6.1 : Exem ple d’interfaçage du DUART68230 au M C68000
6.3 L’interface parallel-Timer PI/T 68230
Ce circuit comporte :
. Trois ports parallèles bidirectionnels (A, B, C), ou les ports A, et B peuvent
être utilisés comme un port 16 bits.
. Un timer de 24 bits, exploitable soit en mode décompteur, où en générateur
de signal carré.
. Cinq lignes (H1-H5) permettent un transfert par poigné de main (hand-
shacking) pour les ports A, B.
. 23 registres internes permettent la con…guration des di¤érentes fonctions
possibles
. Le circuit est interfaçable directement au MC68000 via une liaison asyn-
chrone, et peut être exploité en mode interruption.
Fig6.2 : Exem ple d’interfaçage du PI/T68230 auM C68000
6.4. EXERCICES 71
6.4 Exercices
Exercice 1 :
Développer un programme assembleur permettant la réception série (sur
le canal RxA d’un DUART) d’une chaîne de caractères se terminant par le
caractère @, sous le format : 8 bits + parité paire + 1 bit stop, et avec une
fréquence de 1200 bauds.
La chaîne reçue doit être sauvegardée en mémoire à partir de l’adresse $3000.
Exercice 2 :
On dispose d’un terminal connecté au canal A (émetteur / récepteur) d’un
DUART 68681.On désire générer une interruption à chaque fois qu’un caractère
est validé par le clavier du terminal. Cette interruption a pour tâche : la sauve-
garde du caractère à l’adresse $4000, et l’a¢ chage du caractère reçu sur l’écran
du terminal (en utilisant le bloc émetteur A)
1) Donner la séquence d’initialisation du DUART sachant que le n de
vecteur est 65
2) Donner le sous programme d’interruption.
NB : format de donnée : 8 bits + parité paire + 1 bit stop.
- fréquence = 9600 bauds.
Exercice 3
Soit le montage de la …gure 1 .
- En utilisant une temporisation logicielle de 1s (sous programme ’time’).Développer
un programme assembleur permettant l’allumage séquentiel des leds connectés
au port A .
- Ce même programme doit permettre d’arrêter l’allumage après l’appui du
bouton poussoir « BP » .
Figure 1
72 CHAPITRE 6. LES INTERFACES D’ENTRÉE-SORTIE NUMÉRIQUES
Exercice 4 :
Soit le schéma de la …gure 2.
L’ADC utilisé commence une opération de conversion après un niveau bas
sur sa ligne Start , et indique la …n de conversion avec un niveau haut sur la
ligne EOC .
1- Développer un programme qui permet de prélever séquentiellement 100
mesures du signal d’entrée (Les données prélevées sont stockées à partir de
l’adresse adrs).
2- Refaire la question 1, en …xant une fréquence d’échantillonnage de 1khz
sachant que l’horloge du microprocesseur est de 4Mhz.
Figure 2
Exercice 5 :
Soit le schéma de la …gure 3.
On désire tracer une courbe y=f(x) ou y représente un vecteur de 1 K octets
stocké à partir de l’adresse adry, et x un autre vecteur de même dimension stocké
à partir de l’adresse adrx .
Développer un programme assembleur qui permet de tracer :
- L’axe des x et des y .
- La courbe y =f(x).
En supposant que les valeurs de x sont croissantes, et que les deux DAC
utilisés sont rapides.
6.4. EXERCICES 73
Figure 3
Exercice 6 :
Sachant que la fréquence du signal imposé à la pin TIN est de 50khz, et celle
du microprocesseur est de 8Mhz,
-développer un programme permettant la génération d’un signal carré d’une
fréquence de (2khz, 30khz, 200khz) au niveau de la pin TOUT.
-développer un autre programme permettant la génération d’un signal carré
et son complément au niveau des pins PA0 ,PA1 d’une fréquence de 25khz.