Exercice 1 : Le but de cet exercice est d`écrire un - esprit-AM

DS
Semestre : 2
Module : Architecture des microcontrôleurs
Enseignants : Hassen Jedidi & Hichem BARGAOUI
Classes : 3 Info B1, Tel B1, Tel B2, 2A1 et 2A2
Documents autorisés : Non Nombre de pages : 4
Date : 20/04/2011 Heure 9h Durée : 1H
Exercice 1 :
Le but de cet exercice est d’écrire un programme en assembleur qui permet de
faire clignoter une LED.
Le schéma du circuit est donné dans la figure suivante.
Dés que le système est mis sous tension, la LED devra clignoter indéfiniment.
1. Dessiner l’organigramme de l’application. Pour la temporisation on fera
apparaitre une fonction « Tempo »
OSC1/CLKIN
16
RB0/INT 6
RB1 7
RB2 8
RB3 9
RB4 10
RB5 11
RB6 12
RB7 13
RA0 17
RA1 18
RA2 1
RA3 2
RA4/T0CKI 3
OSC2/CLKOUT
15
MCLR
4
U?
PIC16F84A
D1
LED-GREEN
X?
CRYSTAL
R1
100
C1
33p
C2
33p
R2
470
C3
2
2. Fonction Tempo
Le code assembleur suivant est celui d’une fonction de temporisation. Les variables
Tempo_value_B2 et Tempo_value_B1 sont stocké respectivement dans l’adresse 0X020 et
0X021.
Le microcontrôleur est cadencé à 4 MHZ.
Tempo_Wms:
2 BCF STATUS, RP0 ;
3 CLRF Tempo_value_B1 ;
4 Tempo_B1:
5 MOVLW 0xF9 ;
6 MOVWF Tempo_value_B2 ;
7 Tempo_B2:
8 NOP ;
9 DECFSZ Tempo_value_B2,1;
10 GOTO Tempo_B2 ;
11 DECFSZ Tempo_value_B1,1;
12 GOTO Tempo_B1 ;
13 RETURN
a. Indiquez pour chaque ligne de cette fonction ce qui est réalisé par le microcontrôleur.
b. En déduire l’organigramme de la fonction Tempo_Wms.
c. En déduire le temps d’exécution de la fonction Tempo_Wms.
3. Programme Principal
a. Donner les instructions qui permettent de configurer le port B.
b. Ecrire une macro LEDON et une macro LEDOFF qui permettent réciproquement d’allumer
et d’éteindre la LED.
c. Ecrire en assembleur le programme principal qui permet de réaliser le fonctionnement
demandé.
3
Nom & Prénom :……………………………………………………………………………….
Classe :…………………………………………………………………………………………
Exercice 2 :
Cocher la ou les bonnes réponses :
1. Le microcontrôleur 16F84 implémente une mémoire programme:
dont l’adresse est comprise entre 0x000 et 0x3FF
dont l’adresse est comprise entre 0x000 et 0x3FFF
dont l’adresse est comprise entre 0x000 et 0x3FFFF
2. Un microcontrôleur PIC exécute 5 millions d’instructions par seconde:
possède un cycle instruction de 100 nano sec ;
possède un cycle instruction de 200 nano sec ;
possède un cycle instruction de 500 nano sec ;
3. Soit le code suivant :
SUITE1 ……
……
SUITE2 …….
……
TEST INCFSZ reg,1
GOTO SUITE1
GOTO SUITE2
Si avant l’exécution de l’instruction « INCFSZ » le registre « reg » contient la
valeur décimale 255, alors l’instruction qui s’exécute après « INCFSZ » aura
comme label :
SUITE1;
FIN ;
TEST;
SUITE2;
4. La technique de pagination :
Permet de réduire le temps d’accès à la mémoire ;
Permet de réduire le nombre de ligne d’adresse pour l’accès à la mémoire;
D’augmenter le nombre de cellules accessibles utilisant le même nombre de
lignes d’adresses ;
Est indispensable lorsque le microcontrôleur adopte l’architecture harvard.
5. Dans un programme, le PIC 16F84:
A la possibilité d’exécuter 5 appels consécutifs imbriqués de sous-
programmes ;
A la possibilité d’exécuter 8 appels consécutifs imbriqués de sous-
programmes ;
A la possibilité d’exécuter 14 appels consécutifs imbriqués de sous-
programmes ;
4
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !