Vous êtes sur la page 1sur 8

FT/UMBB Systèmes à microcontrôleurs Electronique des systèmes

Département ISE embarqués - Master 1

TD n01

Exercice 1
On considère un microprocesseur à 4 étages permettant d’exécuter un petit programme
en Assembleur formé de cinq instructions.

1. Représenter l’architecture simple (classique) du microprocesseur considéré.


2. Représenter l’architecture pipelinée du microprocesseur considéré.
3. Calculer le gain de performance. Que remarquer vous ?

Exercice 2
On considère le microcontrôleur représenté sur la figure ci-dessous.

1. Proposer un circuit d’alimentation pour avoir une tension continue de 5V (via une
tension de 220V AC). Relier le circuit d’alimentation proposé au PIC.
2. Expliquer le rôle et le mécanisme du fonctionnement de la broche MCLR.
Proposer un petit circuit permettant de réaliser cette fonction.
3. Quel est le rôle des broches 6 et 3 ?
4. Représenter le schéma du circuit générateur d’horloge (CLK) en utilisant un
oscillateur à quartz. Relier le circuit au PIC.
5. Dans le cas où la fréquence du quartz est de 4MHz, calculer le temps nécessaire
pour exécuter une instruction.
6. Dans le cas où la fréquence du quartz est de 20MHz, calculer le temps nécessaire
pour exécuter une instruction.
7. Donner le schéma du circuit générateur d’horloge (CLK) en utilisant un oscillateur
RC.

SMAANI BIllel 1
FT/UMBB Systèmes à microcontrôleurs Electronique des systèmes
Département ISE embarqués - Master 1

Exercice 3
Soit la structure interne du PIC16F84 représentée sur la figure ci-dessous.

1. Quelle est la famille du microcontrôleur considéré ? justifier.


2. Expliquer le rôle de la mémoire programme et des mémoires de données. De
quelle architecture s’agit-il ?
3. Quel est le rôle des registres CO (ou PC), RI et W ? Combien d’adresses peut-on
définir avec le registre CO (ou PC) ?
4. Expliquer la structure et le rôle de la PILE ?
5. Quel est le rôle de l’UAL ?
6. Quel est l’utilité du registre FSR ?
7. Quelle est la différence entre les temporisateurs : TMR0 et le WDT ?
8. Expliquer le processus d’exécution des instructions à base du signal d’horloge
appliqué sur OSC 1, 2 ?
9. Représenter le schéma général de la mémoire de donnée RAM et expliquer
comment peut-on accéder à chaque page ?
10. Quelle est la différence entre les registres : SFR et GPR ?

SMAANI BIllel 2
FT/UMBB Systèmes à microcontrôleurs Electronique des systèmes
Département ISE embarqués - Master 1

TD n02

Exercice 1
On considère le temporisateur TMR0 du PIC16F84.

1. Calculer la durée de comptage de 170 impulsions si le pré-diviseur réglable est


égale à 128.
2. Déterminer la valeur du pré-diviseur réglable si le temps de calcul est de 2.976ms.
Le compteur démarre de la valeur 70.

On note que la fréquence du signal d’horloge est de 8MHz.

Exercice 2
On considère le microcontrôleur PIC 16F887. Ce dernier dispose de trois temporisateurs :

Timer0 et Timer2 sont des compteurs de 8 bits.


Timer1 est un compteur de 16 bits.

Dans le cas du Timer0 :

1. Calculer la durée du comptage de 100 impulsions si le pré-diviseur réglable est


égal à 64.
2. Calculer la durée de comptage de 100 impulsions pour que le drapeau se lève le
plus tard possible (temps de comptage maximal).
3. Déterminer la valeur du pré-diviseur réglable si le temps de calcul est de 22.784
ms. On note que le compteur démarre de la valeur 78.

SMAANI BIllel 3
FT/UMBB Systèmes à microcontrôleurs Electronique des systèmes
Département ISE embarqués - Master 1

Dans le cas du Timer2 :

1. Quelle est la différence entre Timer0 et Timer2 ?


2. Calculer le temps maximal de comptage dans le cas du Timer2.
3. Quelle est la durée du comptage si le Timer2 est initialisé par 100. Le pré-diviseur
est fixé à 4.

Dans le cas du Timer1 :

1. Quelle est la différence entre Timer1 et Timer0 ?


2. Calculer la durée du comptage de 75 impulsions si le pré-diviseur réglable est égal
à 8.

On note que la fréquence du signal d’horloge est de 4MHz.

SMAANI BIllel 4
FT/UMBB Systèmes à microcontrôleurs Electronique des systèmes
Département ISE embarqués - Master 1

TD n03

Exercice 1
1. Nous voulons écrire un programme en Assembleur PIC (cas du PIC16F84) permettant
de charger la valeur 33H dans l’emplacement mémoire d’adresse 22H. Puis, décrémenter la
valeur chargée dans l’adresse 22H jusqu’a zéro. Comme montre le schéma de la figure
suivante :

Donner le programme permettant de réaliser cette fonction.

2. Nous voulons assembler le programme obtenu dans la première partie. Pour cela,
compléter le tableau suivant :

SMAANI BIllel 5
FT/UMBB Systèmes à microcontrôleurs Electronique des systèmes
Département ISE embarqués - Master 1

Exercice 2
1. Nous voulons faire allumer la LED reliée à la pine RA2 du PIC 16F84A, comme
présente la figure ci-dessous. Pour cela, donner le programme en Assembleur PIC permettant
de réaliser cette fonction.

U1
16 17
VCC 15
OSC1/CLKIN RA0
18 D1
OSC2/CLKOUT RA1
1
R1
X1 RA2
4 2
MCLR RA3 330
3 LED-GREEN
RA4/T0CKI
R2
10k 6
CRYSTAL RB0/INT
7
RB1
8
RB2
C1 C2 RB3
9
33pF 33pF 10
RB4
11
BP1 RB5
12
RB6
13
RB7
PIC16F84A

2. Donner le programme en Assembleur PIC permettant de faire clignoter la LED D1


connectée à RA2. L’organigramme du programme principale se présent comme :

SMAANI BIllel 6
FT/UMBB Systèmes à microcontrôleurs Electronique des systèmes
Département ISE embarqués - Master 1

Exercice 3
Nous voulons programmer le PIC 16F84A pour réaliser la fonction suivante : un appui
sur un bouton poussoir (BP) branché sur la pine RA0 du port A allume les 8 LEDs connectées
au port B. Comme montre le circuit de la figure suivante :

R9
U1 1k BP

VCC
16 17
OSC1/CLKIN RA0
15 18
OSC2/CLKOUT RA1
X1 1
RA2
4 2
MCLR RA3
3
RA4/T0CKI
6
R1 D1
CRYSTAL R2 RB0/INT
7
RB1 330
10k 8
RB2
C1 C2 RB3
9 R2 D2
33pF 33pF 10
RB4
11
RB5 330
12
VCC RB6
13 D3
RB7 R3
PIC16F84A 330
D4
R4
330
D5
R5
330
D6
R6
330
D7
R7
330
D8
R8
330

1. Donner l’organigramme permettant d’allumer tous les LEDs.


2. Donner le programme en Assembleur PIC permettant d’allumer tous les LEDs.
3. Donner le programme en Assembleur PIC permettant d’allumer uniquement les
LEDs D2, D4, D6 et D8.

Exercice 4
Nous voulons réaliser des opérations de lecture et d’écriture de données dans la mémoire
EEPROM du PIC16F84. Pour cela,

SMAANI BIllel 7
FT/UMBB Systèmes à microcontrôleurs Electronique des systèmes
Département ISE embarqués - Master 1

1. Citez les registres permettent de manipuler la mémoire EEPROM. Schématisez ces


registres dans la mémoire RAM.
2. Donnez un programme en Assembleur PIC permettant de réaliser la lecture d’une
donnée situé à l'adresse 0x10 dans la mémoire EEPROM.
3. Quel est la condition de sécurité qui permette l’écriture de données dans
l’EEPROM.
4. Donnez un programme en Assembleur PIC permettant de réaliser l’écriture de la
donnée 0xE3 dans l'emplacement mémoire situé à l'adresse 0x10 de l’EEPROM.

SMAANI BIllel 8

Vous aimerez peut-être aussi