Académique Documents
Professionnel Documents
Culture Documents
Filière A.I.I.
TRAVAUX DIRIGES
MICROPROCESSEURS ET PERIPHERIQUES
Par : M. CHAOUI.
Exercice n°1 :
Exercice n°2 :
A1 A11 EPROM
2Kx8
A0
A1
A2
74LS138 A3
O0 A4 D0
O1 A5 D1
A12 A6 D2
A O2 D3
A13 A7
B O3 D4
A14 A8
C O4 D5
A9
A16 . O5 D6
ET E3
A23 . A10 D7
E2 O6
A15 E1 O7 CS
OU
LDS RD
-1 -
Exercice n°3 :
Exercice n°5 :
d = sup( x , y )
x et y sont deux entiers signés de 1 octet se trouvant respectivement aux adresses $0120 et
$0121.
Exercice n°6 : Plus grand élément et plus petit élément d’un tableau.
Soit une zone mémoire commençant à partir de l’adresse $0100 et contenant les
valeurs suivantes :
$06, $03, $01, $07, $08, $02, $00, $04, $09, $05
La taille de cette zone est contenue dans la case mémoire $0200 ( ($0200) = $0A )
-2 -
Exercice n°7 : Tri.
Soit une zone mémoire commençant à partir de l’adresse $0100 et contenant les
valeurs suivantes :
$06, $03, $01, $07, $08, $02, $00, $04, $09, $05
1/ Donner un organigramme qui réalise le tri par ordre décroissant sur la zone
mémoire ci-dessus.
On désire effectuer un transfert de données d’une zone A dont l’adresse de base est
$0100 vers la zone B qui a pour adresse de base $0300. Le nombre de données à transférer est
de 50 données (5010 = $32).
3/ Maintenant on veut réaliser un transfert des mêmes données de la zone A mais cette
fois dans l’ordre inverse. Ecrire le programme correspondant.
-3 -
UNIVERSITE HASSAN II Année académique 2018/2019
E.N.S.E.M
CASABLANCA
Exercice n°1 :
On suppose que le PIA est placé à l’adresse de base $007091, préciser alors les
adresses des registres internes du PIA.
Exercice n°2 :
Soient 8 leds reliées au port A d’un PIA 6821. On veut réaliser la configuration
suivante :
• Etape 1 : leds reliées aux PA7 et PA6 sont allumées pendant une seconde, les autres
sont éteintes.
• Etape 2 : leds reliées aux PA5 et PA4 sont allumées pendant une seconde, les autres
sont éteintes.
• Etape 3 : leds reliées aux PA3 et PA2 sont allumées pendant une seconde, les autres
sont éteintes.
• Etape 4 : leds reliées aux PA1 et PA0 sont allumées pendant une seconde, les autres
sont éteintes.
• On revient à l’étape 1 et ainsi de suite.
On suppose que :
-1 -
1/ Donner le câblage µP68000-PIA (préciser le décodage d’adresses) et PIA-leds
sachant que l’adresse de base du PIA est $00EF11 :
Exercice n°3 :
On désire visualiser sur deux afficheurs 7 segments avec décodeur intégré la valeur
obtenue par un appareil de mesure après l’avoir multipliée par 10 décimal (= $0A).
E = 1 : Afficheur allumé.
E = 0 : Afficheur éteint.
A
B
C DCBA = 0000 : affichage de .
D DCBA = 0001 : affichage de .
... ...
E
... ...
DCBA = 1111 : affichage de .
PB0
.
• les afficheurs sont toujours actifs (E=1).
.
PB3
PB PB4
.
A
B
C
A
B
C
• Exemple : si l’appareil de mesure envoie
.
PB7 D D
0001000 (16 en décimal) les afficheurs
E E 5V
doivent alors visualisés . En effet $A0
PA0
.
correspond à 160 décimal.
. Appareil
PA .
. de
.
.
PA7
mesure
Hypothèse : La valeur donnée par un appareil de mesure est inférieure ou égale à 25 décimal :
la valeur à afficher sera alors inférieure ou égale à 250 décimal et tiendra ainsi sur un octet.
-2 -
2/ Représenter un organigramme détaillé et bien commenté du sous-programme (INIT)
d’initialisation du PIA. Ecrire ce sous-programme.
Exercice n°4 :
On désire commander les déplacements d’un chariot (C) par un système basé sur le
microprocesseur 68000.
P1 P2
D
m a b D : marche droite.
C
G G : marche gauche
α- Si au début (C) n’est pas en P1, (C) se déplace à gauche jusqu’à P1.
Interfaçage :
Port A :
PA7 PA0
b a m
Port B :
PB 7 PB0
bornes non
exploitées
G D
-3 -
1/ Donner le câblage µP68000-PIA (préciser le décodage d’adresses) sachant que
l’adresse de base du PIA est $000901 :
-4 -
UNIVERSITE HASSAN II Année académique 2018/2019
E.N.S.E.M
CASABLANCA
Exercice n°1 :
E 7 ...E 0 = $00 → s( t ) = 0V
E0
. .
.
C.N.A s(t) E 7 ...E 0 = $80 → s( t ) = 2.5V
.
. .
E7 E 7 ...E 0 = $FF → s( t ) = (5 − 5 / 256) V = s max
On désire générer une tension en forme de dents de scie variant de 0 à smax à l’aide de
ce CNA. Un microprocesseur 68000 et un PIA 6821 sont utilisés à cet effet. Le CNA est relié
au port A du PIA. L’adresse de base du PIA est $008001.
-1 -
Exercice n°2 :
B.D CB 2 start
CB1 busy
µP 68000 PIA 6821
6 Imprimante
Port B
A la détection d’une transition active( )sur busy et d’un front montant( )sur start,
le PIA présente les données à imprimer. Lorsque le buffer de l’imprimante est rempli de 256
octets, le PIA arrête l’envoi des données et attend un autre front actif sur busy et un autre front
montant sur start et ainsi de suite jusqu’à ce qu’il termine les 4 ko de données à imprimer.
Exercice n°3 :
-2 -
1/ Sachant que l’adresse de base de l’ACIA est $00E001,
Exercice n°4 :
3/ Donner les mots de commande et les mots à mettre dans les différents registres
tampons du PTM 6840.
-3 -
www.easy68k.com Copyright © 2004-2009 By: Chuck Kelly
XNZVC !
" # *U*U* "$% #$% & #$% &
" # " $% # $% & # $% ' ( % ) *
+ +
***** " , - *
+
! . -* !
+ ----- ) #
,+ ! ***** !
-+ ! ***** ! / 0 ! ) 1$ 2
& " # ***** " # & # &
" # " # & #
+ +
3 -**00 3 ) 3
3 3 , * !
3 ,+ ! -**00 ! 3 ) 3
3 ,+ ! ! 3 ) 3
3 ,+ ! 4 ! 3 4 4 ) 3 4 . )
4 # " ***** ( " " # (5 )
4 ! " ( "! 5 ! 1$ 2
( $ (5 ) "
6 7 ----- ( " 0
2 $8 9 ((
$
:; --*-- 3<= ( ' 4 '* ( ( .
$
! 3<= ( (
$
--*-- 3<= ( ' 4 '* ( (
$
! % (
?
> :; @ 1*A -**00 3<= ( ( (
?
> @ 1*A -**00 % ( ( (
?
>B&=4 @ 1*A -**00 ( ( # 67 (
( ) # 67
?
>B&=C @ 1*A -**00 ( ( ) (
( D # 67
?
>>>< @ 1*A -**00 ($ $ ( $ $ (( *
?
>,34 @ 1*A -**00 * ( , * ( (
?
>4B= @ 1*A -**00 $ ( ( 4 ( (
?
>=4= @ 1*A -**00 * ( ( 3 ) ( ( ' ( %
6 7 ----- * " 2 $8 9 ((
$
4B= --*-- 3<= ( ' 4 '* ( (
$
! $ (
6 7
4 ----- 4 E 2 $8 9 ((
$
=4= --*-- 3<= ( ' 4 '* ( (
$
! 3<= ! ( ' . )
:F -*UUU ( G% H = * % IJ
-0100 % D
K + -**** + +
* L
K + -**** * L
K ,+ ! -**** * ! !
K K+ " # -**** * # " # "E, # "
7
----- ( ( @ $ =
( GH $ A $8 9 ((
,M4 -***0 967 5 9$8 9 I $8 $8 / J
,MC -***0 67 5 $8 I $8 $8 / J
B< + -**00 +
&< ) # . <
B< , + ! -**00 ! &< ) # . < !
B< , + ! ! &< ) # . < !
B< , + ! 4 ! &< 4 4 ) # . < ! 4 . )
B&; # " ----- ) ) B# ) ) 67 "
B&= -**00 N 4) # )
, B; ----- 44 E 4 44 ; , ) , #
OK ----- ↑ O (( . (
O4 ----- 4 E↑ P
B ----- ↑ (( . (
,3F ! ----- 4 E4 E * 0 0
4 ! 4 ) .
4 # " ***0* ) ( " # (5 )
4 ! " ) ( "! 5 ! 1$ 2
) ( $ (5 ) "
K<MB + -**00 + +
K . (
K<MB K . )
K<MB 4 4 K . 4 ) . )
K<MB 4 ----- 4 K . 4 )
XNZVC !
XNZVC !
K<MB C4 ----- C4 K . C 4 0 . )
C4 C4 K . C 4 0 . )
K<MB + ----- K . K<MB K<MB
K<MBK+ ----- ) K . ( ) 5( "
) ) # (
K<MB ----- S 7 S + K . 5( " "
S 7 S + " .
K<MB-+ ! -**00 ! K . ) # 2 !
KC 4 -**00 9$8 T 9$8 9 K " ) $8 E 1 ) 67
KC C -**00 $8 T $8 K " )U $8 E 1 )U 67
3 *U*U* % $% & 3 ) * &
3B; ***** % 3 ) 7U
3B;& ***** % & 3 ) * &
3< ----- 3 3
3<= -**00 3<= ) 3<= $U
< + -**00 +
< ) <
< < , * !
< ,+ ! -**00 ! < ) < !
< ,+ ! ! < ) < !
< ,+ ! 4 ! < 4 4 ) < ! 4 . )
B ----- ↑ 4 (( . ( 0
B4B= ----- B4B= , * B4B= . )
< # " -**0* " # (5 ) * &
< ! " "! (5 ) ! 1$ 2
$ (5 ) "
<& # " ***0* " # 5 &
<& ! " "! (5 ) ! 1$ 2
$ (5 ) "
=B 4 4 E 4 ( # . )
= 4 4 (
=4 ----- 4 (
4 " # *U*U* #$% "$% & #$% L & L
" # # $% " $%L & # $% ' % ( ) *
4 ----- ,( $V ,( 11111111
%V 00000000
4=< ! ! 4 E 4=< K . ! 4 . )
4C + ***** +
4 " 4C , 4C - *
+
! . 4C - * !
4C + ----- 4 ) #
4C , + ! ***** ! 4 (
4C - + ! ***** ! 4 / 0 ! ) 1$ 2
4C & " # ***** # " & # 4 & (
" # # " L& #
4 -**00 I6$1$8J I$?1%J B# ) $8 . (
=4 -**00 E$ Q ( 3 ' ( Q ( $
= ! ----- 44 E4 44 E 4 ". !
. " ! ) 1 % $?
= M ----- ,( M = !Q ,( . ( * # <. ( * =
=4= -**00 3 ' (
C3 F ----- 4 E 4 . * 0 ( 0
XNZVC !
/ 5 < 6 3<= ⊕ &< E , C ) ) $8567 %Q 4
4 ) $8
/ / ) 25$8567 %Q
) * 2 (4
= $ M . ( * !M " ) B
7 ) . 8D 9 . ( * " #
> ( % M4 . ( * M "
U : " "
) 7+ . ↑ B((
:, ) ! +' !3 ! ; (( (
, (( 1* ( (
4 * ' K, 3
. 4 0 Q 4 . 4 0 67 C 4 0 67
:4 ) ! ;B ) / W 3⊕M ! "
) "E " " ((
< 4 * = 3⊕M #
D 1$ $ $72 $7Q " $% $& 67Q82 67Q8Q " ;3C )
3B / !' ;= ) WI 3 ⊕ M + 'J '
" , - K( ( C ! . - 0 D
B- / ' B / 3⊕M +' (
( D 3 " 82%%% B 4"82F " ( ( 82%7%
)) *+ ),* - ,. , , / 0 = !$? 0 0 ) %4 : ( ( . 0 )
" ( ) $ $ ! " ( ) $ $ " ( 0" 4 $ # " $ )
3C # 7?? * > 3C # 7?? * > 3 $ ) # 2%
' ( 0" $ ( ) ( 0" $ 1 " $ 4 ,, 2 4 $ $ (0 " ) %
3 $5$%% ) $ 4 = ) : ! ) $ ( !! * $ R>>%%
!# " ) $ * > !' " ) $ * > !( " ) $ 7 !2 " ) $ " $
!3 " ) $ $ !4 (0 " 4 " "9 $ ( 7 * "! 4 ( 4 (