Université de Savoie
Travaux Dirigés
Microprocesseur et Microcontrôleur
Sylvain MONTAGNY
Bâtiment chablais, bureau 13
04 79 75 86 86
TD1 : Rappels et jeu d’instruction
TD2 : Timer, Port E/S d’un microcontrôleur
TD3 : Les interruptions
TD4 : Gestion d’afficheur 7 segments
TD5 : Conversion Analogique/Numérique
Retrouver tous les documents de Cours/TD/TP sur le site
www.master-electronique.com
Université de Savoie
Module ETRS-604
Microprocesseurs & Microcontrôleurs
TD 1
Rappels et jeu d’instruction
I. Système à microprocesseur
Un processeur 64 bits stocke les données binaires qu’il traite dans des circuits intégrés de
mémoire RAM. La capacité de chaque circuit mémoire est de 4 Mo, les données binaires étant
organisées en mots de 64 bits. La capacité totale de l’ensemble des mémoires vives est de 32
Mo.
Q1. De combien de circuits différents est constitué l’ensemble de la mémoire vive associée
à ce processeur ?
Q2. Donner le nombre de cases mémoires disponibles dans chaque circuit RAM ainsi que
le nombre total de cases mémoires pour l’ensemble des circuits.
Q3. Quelle doit être la taille minimum du bus d’adresse de ce processeur ? Quelle est
l’adresse la plus haute et l’adresse la plus basse (en hexadécimal) accessible par le
processeur ?
La taille du bus d’adresse sera désormais la taille minimum que vous venez de trouvez.
Q4. Parmi l’ensemble des bits constituant le bus adresse, donner le nombre de bits
réservés à la sélection d’un circuit mémoire (boitier) et le nombre de bits réservés à la
sélection d’un emplacement dans cette mémoire.
Q5. Donner les adresses de début et de fin des quatre premiers circuits en complétant le
tableau ci-dessous.
Circuits A21 A20 A19 A16 A15 A12 A11 A8A7 A4A3 A0Adresses Hexadécimal
Fin
RAM 3 Début
Fin
RAM 2 Début
Fin
RAM 1 Début
Fin
RAM 0 Début
Tableau 1 : Adressage des circuits RAM
Q6. Représentez sur un schéma l’ensemble des circuits, du processeur et des bus (on ne
représentera que deux RAMs). On devra faire apparaitre clairement le nombre de fils sur
chaque partie des bus.
Q7. Donnez un exemple d’architecture réalisant le décodage d’adresse.
II. Instructions dans un PIC 16F877
Vous trouverez toutes les informations nécessaires dans la documentation du microcontrôleur
PIC16877A.
1. Taille des mémoires
Q8. Quelle est la quantité mémoire disponible pour stocker le programme dans votre
microcontrôleur ? Pouvez vous retrouver la cohérence entre la taille de la mémoire
programme et la taille du registre PC (Program Counter).
Q9. Quelle est la quantité mémoire disponible pour stocker des données dans votre
microcontrôleur ?
2. Jeu d’instruction
Q10. Combien de cycle instruction prend chacune des instructions ?
Q11. Combien de cycle horloge prend chacune des instructions ?
Le programme suivant est écrit en assembleur. Il fait varier la valeur de sortie du bit 0 du
PORTB. L’utilisateur voudrait réaliser un signal carré en sortie.
MOVLW FEh ;
MOVWF TRISB ; // Configuration du bit PORTB.0 en sortie
BOUCLE BCF TRISB,0;
BSF TRISB,0;
GOTO BOUCLE;
Q12. Donner le code C correspondant.
Q13. En prenant en compte les temps de chacune des instructions, tracer le chronogramme
du PORTB. Quelle remarque peut-on faire sur le rapport cyclique du signal par rapport au
souhait initial du programmeur ?
Application du TP :
Q14. Quelle mesure pouvez-vous effectuer pour mesurer le temps de cycle instruction de ce
microcontrôleur ?
Université de Savoie
Module ETRS-604 : Microprocesseurs & Microcontrôleurs
TD 2
Timer, Port E/S d’un microcontrôleur
I.Les Timers du PIC 16F87XA
1. Présentation des Timer
1.1. Choix du mode compteur / temporisateur.
Q1. Quel est la différence entre un compteur et un temporisateur ? Donner deux exemples
extrêmement simples d’utilisation de ces deux modes.
Q2. Quels sont les bits qui permettent de sélectionner le mode compteur ou temporisateur
pour les Timers 0 et Timer 1 ? Quelle est la particularité du Timer 2 vis-à-vis de ces deux
modes de fonctionnement ?
Q3. Lors du fonctionnement en mode compteur pour le Timer 0, comment peut-on décider
du front déclenchant une incrémentation du compteur ?
1.2. Caractéristiques des Timers
Q4. Quelle est la plage de valeur que peut prendre le Timer 0, Timer 1 et Timer 2 ?
On considère maintenant un cadencement du PIC à 4Mhz, et une utilisation en mode
temporisateur du Timer 0.
Q5. Expliquer l’utilité et le fonctionnement du module PRESCALER.
Q6. Dans le cas ou le timer n’utilise pas de prescaler (PSA=1) quelle sera la période de
positionnement du bit de fin de comptage (overflow) TMR0IF.
Q7. Quelle valeur doit-on placée dans le TMR0 si nous souhaitons mesurer un temps de
156µs.
La période maximal du timer est très faible au regard de beaucoup d’applications. Ainsi, un
« Prescaler » peut être implémenté dans le fonctionnement des Timers.
Q8. Remplir le tableau suivant relatif au temps de débordement du Timer 0 en fonction du
prescaler utilisé.
1 / 18 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 !