0% ont trouvé ce document utile (0 vote)
215 vues4 pages

CF Cont 9 20

Le document décrit l'architecture interne des microcontrôleurs et la programmation de leurs fonctionnalités. Il contient des questions sur les composants d'un microcontrôleur, la configuration d'un temporisateur et d'un port, et l'écriture de fonctions en langage C.

Transféré par

Ayman Lamzouri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
215 vues4 pages

CF Cont 9 20

Le document décrit l'architecture interne des microcontrôleurs et la programmation de leurs fonctionnalités. Il contient des questions sur les composants d'un microcontrôleur, la configuration d'un temporisateur et d'un port, et l'écriture de fonctions en langage C.

Transféré par

Ayman Lamzouri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 4

UM5 – E.N.S.E.T. Rabat. M23 -- 1 : Introduction aux Microcontrôleurs.

Contrôle.
Session : Normale.
Semestre : S2.
Filière : Ingénieurs EEIN – 1.
Module : M23.
- Le nom complet doit apparaître sur chaque page.
Durée : 01h 30 mn.
- Les pages doivent être numérotées individuellement.

- Les deux parties A et B de cette épreuve sont indépendantes.


- L'ordre et le numéro des réponses doivent être respecter.

Partie A: Architecture des microcontrôleurs. (20 points)

A.1. Quelles sont les principales différences entre un microcontrôleur et un microprocesseur.


A.2. Un microcontrôleur possède une architecture interne du type RISC et Harvard : expliquer ces
deux concepts.

A.3. La figure ci dessous montre la structure interne de l'unité centrale (UC ou Core) d'un
microcontrôleur : en se référant aux information indiquées sur cette figure, donner :
A.3.1. La capacité de la mémoire de données ;
A.3.2. La capacité de la mémoire de programme ;
A.3.3. La taille de la zone pile.
(La réponse à ces trois questions doit être sous la forme :
Nombre de cases mémoires x Nombre de bits de l'information)

A.4. Quelle est l'utilité de la pile dans un microcontrôleur (en particulier) ?


A.5. L'unité d'exécution des microcontrôleurs en particulier, est du type Pipeline: expliquer le
principe de fonctionnement de cette unité et quelles sont les conditions qui permettent d'avoir le
maximum de performances de cette unité.

A.6. Que signifie un vecteur d'interruption?

A.7. Le registre d'état (Status register) possède deux bits qui indiquent la retenue et nommés
respectivement C et DC : quelle est la différence entre ces deux bits.

A.8. Quelles sont les principales différences entre un sous-programme et un programme prioritaire?

Pr. E. BENAATA. 22 Septembre 2020 Page 1 / 4


UM5 – E.N.S.E.T. Rabat. M23 -- 1 : Introduction aux Microcontrôleurs.

Partie B: Programmation des microcontrôleurs. (20 points)


Microcontrôleur
+V
Une application à base d'un microcontrôleur est présentée à la
figure ci contre. Le microcontrôleur utilise un quartz de 8 MHz pour RB0
a a
b
RB1
l'horloge interne. Un afficheur à anode commune est connecté sur le c f b
RB2 g
port B. La partie logicielle se présente sous la forme d'un ensemble d
Port B RB3
8 MHz RB4
e
e c
de fonctions écrites en langage C parmi lesquelles on cite : fonction RB5
f
g
d'initialisation, fonction d'affichage sur l'afficheur 7 segments, RB6 d

fonction de temporisation TEMPO, etc.


Les fonctions à étudier dans cette épreuve sont : l'initialisation assurée par la fonction INIT()et une
temporisation réalisée grâce à la fonction TEMPO().

B.1. Fonction TEMPO() : permet de produire une temporisation d'une durée de 15 ms . Pour obtenir
cette temporisation, on utilise le temporisateur TMR0 interne au microcontrôleur (voir annexe) :
qui doit être configuré pour obtenir la durée désirée :

B.1.1. Calculer la valeur initiale à mettre dans le registre TMR0 (avec détails des calculs) ;

B.1.2. Donner le mot de contrôle à placer dans le registre OPTION pour configurer le TMR0;

B.1.3. Dans ces conditions, écrire en langage C, la fonction TEMPO() qui permet d'obtenir la
temporisation désirée : void TEMPO(){ ... } .

B.2. En langage C, on peut réaliser une temporisation avec une boucle finie du type:
for(i = N; i > 0; i--) ;
B.2.1. Quel est le principal inconvénient de cette solution ?

B.2.2. Traduire cette instruction en langage machine (assembleur) du microcontrôleur


PIC16F87xx (voir liste des instructions en annexe) en admettant que la variable i est
placée dans un registre interne du microcontrôleur nommé R1;

B.2.3. Indiquer pour chaque instruction, le nombre nécessaire de cycles puis donner en fonction
de la valeur de N, l'expression de la temporisation T ainsi produite.

B.2.4. En admettant que N est codé sur 8 bits (1 octet), quelle pourrait être la durée maximale de
temporisation obtenue avec cette boucle ?

B.2.5. Quelle doit être la taille, en bits, de N permettant d'avoir la durée 15 ms désirée ?

B.3. Fonction INIT(). Cette fonction doit assurer les tâches suivantes :
 configurer convenablement le port B selon le schéma de la figure ci dessus;
 configurer le temporisateur TMR0 pour être compatible avec la fonction TEMPO();
 définir le code 7 segments des dix chiffres à afficher grâce à la variable code7seg.
Écrire en langage C, la fonction INIT() qui réalise les tâches citées : void INIT() { ... } .

Fin de l'épreuve.

Pr. E. BENAATA. 22 Septembre 2020 Page 2 / 4


UM5 – E.N.S.E.T. Rabat. M23 -- 1 : Introduction aux Microcontrôleurs.

Annexes :

Jeu d'instructions des microcontrôleurs de la famille PIC16Fxxx :

Pr. E. BENAATA. 22 Septembre 2020 Page 3 / 4


UM5 – E.N.S.E.T. Rabat. M23 -- 1 : Introduction aux Microcontrôleurs.

Structure interne du temporisateur TMR0 et organisation du registre OPTION:

( T0IF )

Pr. E. BENAATA. 22 Septembre 2020 Page 4 / 4

Vous aimerez peut-être aussi