Vous êtes sur la page 1sur 3

TD – CH1 : INTRODUCTION AUX MICROPROCESSEURS Adr.

en
Hexa
A15 A14 A13
A12
A11 A10 A9
A8
A7 A6 A5
A4
A3 A2 A1
A0
Adr.
Exercice 1 : RAM basse
Adr.
1. Donner les avantages de l’architecture Harvard 1 haute
2. Qu’appelle-t-on l’emplacement, OÙ le microprocesseur cherche à exécuter la première Adr.
ROM basse
instruction après la mise sous tension (POR : Power On Reset) ? Adr.
3. De quoi est composé un système à microprocesseur ?
1 haute

4. Le registre d’état du microcontrôleur PIC16F877 comporte les indicateurs suivants : b. Donner les équations logiques des lignes CS1 et CS 4 en fonction des lignes
- C (Carry) : inducteur de dépassement de capacité ; ce bit est inversé en cas d’un d’adresses A15, A14 et A13.
emprunt. c. Compéter alors le schéma de décodage d’adresse en utilisant des opérateurs
- DC (Decimal Carry) : indicateur de dépassement sur 4 bits. logiques.
- Z (Zero) : indique que le résultat est nul. 4. On veut étendre la capacité mémoire de cette carte en ajoutant deux mémoires RAM2 et
ROM2 identiques aux précédentes.
Déterminer l’état de ces indicateurs dans les cas suivants : a. Donner l’adresse de base des nouvelles mémoires, si l’on veut que deux mémoires
de même type soient adjacentes.
38H + 2FH ; 9FH + 61H ; 1BH – 20H
b. Donner les équations logiques des lignes de sélection CS 2 et CS3 (correspondant
Exercice 2 : respectivement aux mémoires RAM2 et ROM2) en fonction des lignes d’adresses
On donne le schéma de connexion de deux mémoires avec un microprocesseur de 16 bits A15, A14 et A13.
d’adresses et 8 bits de données. c. Donner le schéma de décodage d’adresses de toutes les mémoires en utilisant le
circuit intégrées 74138.

A0 D0 A Y G G G C B A Y Y Y Y Y Y Y Y
A1 U2 D1 0
D0 A0 A2 D2
2 2 1
D1 U1 A1 A3 A4 D3 A B 0 1 2 3 4 5 6 7
VCC D2 A2 A5 A6 A7 D4 D5 Y 1 X X X X X 1 1 1 1 1 1 1 1
B 1
D3 A3 A8 A9 A10 D6 D7
D4 A4 A11 A12 X 1 X X X X 1 1 1 1 1 1 1 1
C Y
R1 D5 A5 2
D6 A6 RAM1 74138
C1 10K D7 A7 X X 0 X X X 1 1 1 1 1 1 1 1
A8 Y 0 0 1 0 0 0 0 1 1 1 1 1 1 1
RESET WR 3
A9
100nF µP A10 Y 0 0 1 0 0 1 1 0 1 1 1 1 1 1
4
C2 A11 RD G
1
A12 CS1
Y
0 0 1 0 1 0 1 1 0 1 1 1 1 1
A13 5
2

18pF A14
Y1 0 0 1 0 1 1 1 1 1 0 1 1 1 1
A15
C3 12Mhz A0 A1 D0
WR A2 A3 A4 U3 D1 D2

18pF RD
A5 A6 A7
A8 A9 A10
D3 D4
D5 D6
3. On veut adresser la mémoire RAM1 à partir de l’adresse 0000H et la ROM1 à partir de
GND A11 A12 D7 l’adresse E000H.
ROM1
a. Compléter le tableau suivant, en indiquant dans la troisième colonne l’adresse la
plus basse et l’adresse la plus haute de chaque mémoire en hexadécimal.
Oscillateur

RD

CS4

1. Quelle est l’architecture de ce microprocesseur ?


2. Donner la capacité de chaque mémoire en kbits et en koctets.

1 2
5. On suppose que le programme utilisateur commence au début de la mémoire programme
(ROM), et que le vecteur RESET est situé à l’adresse FFFEH.
Donner le contenu des cases mémoires d’adresses FFFEH et FFFFH (ce microprocesseur a
une architecture litle-endian, c.-à-d. que l’octet le plus faible est placé à l’adresse basse et
l’octet le plus fort est placé à l’adresse haute).

Exercice 3 :
On donne ci-après, le schéma électronique d’une carte à base d’un microprocesseur
générique à architecture Harvard.

PARTIE A

1. Quel est le rôle du circuit composé de R1 et C1 ?


2. Donner la capacité de la mémoire de données. Déterminer l’adresse la plus basse et
l’adresse la plus haute.
3. Donner l’adresse de la mémoire de programme en kbits et kmots (1mot = 16 bits).
4. Donner les adresses de bases de deux circuits d’interface U4

et U5. PARTIE B

On donne dans le tableau suivant quelques instructions et le code machine correspondants:


Code Descript Code machine
mnémonique ion
movlw k W  k : charger la valeur k dans W 0000 1110 kkkk kkkk
movfw A W  (A) : le contenu de la case mémoire 0110 1111 AAAA AAAA
d’adresse

1 2
VCC
movwf A (A)  W : le contenu du registre W est chargé 0101 0000 AAAA AAAA
R1 10K de la

.....
case mémoire d’adresse A

......

. .. .. .. .

. . . . .. ... .. .. .
U1 U3
andfw A W  W and (A), si W = 0 alors le flag Z D01 0001 0100 AAAA AAAA

......
RESET D0

......
goto A Saut à l’adresse A (PC  A) 1110 0AAA AAAA AAAA
JZ déplacement
C1
100nF
Dp0 si Z = 1, saut à l’adresse 1111 0100 AAAA AAAA
RAM
JnZ PC=PC+déplacement
D7 D7 1111 1000 AAAA AAAA

.....
.....
déplacement si ZµP= 0, sautA0à l’adresse A0 OE RD
GND
......

PC=PC+déplacement,

......
......
On connecte à la broche 0 de circuit U5 un interrupteur S1 et huit diodesWRLEDs
WR à la sorties du

circuit U4. Dp15 A7 A6

.....
CS
RD
1. Traduire l’algorithme suivant
WR
enA7assembleur
5 6

Repeter toujours
RDp Ap0Ap10 U4
si S1 est fermé alors
Latch R2
Toutes les LEDs allumées D0 Q0 D1
330
sinon DiQi
Toutes les LEDs éteintes H
Finsi x8
D7 Q7 R9 D8
WR 1
Fin Repeter
RDp Ap0Ap10 16 2
330
A0 15
U2 GND
2. Donner la
Dp0 codification en binaire des instructions, si on suppose que ce code

U5 VCC
commence à l’adresse 0200H. Buffer
ROM D0 E0 S1

x8
Di Ei R10
1k
Dp15

D7 E7
RD 1
2 9 GND
A0 5 6 8

3 4

Vous aimerez peut-être aussi