Vous êtes sur la page 1sur 5

SUP’PTIC ITT2 2020

TD1 Microcontroleur

1- Définir microcontrôleur.
2- C’est quoi un PIC ?
3- Que signifie l’acronyme : RISC
4- Les PIC sont subdivisés en combien de famille ? citez-les
5- Que signifie les désignations suivantes :
- 16 F 84 -04 :
- 12 C 508 :
- 16 C 72 A :
- 16 F 628 :
- 18 FL 442 :
6- Pour chacun des pics cites précédemment donner la taille en bit de chaque instruction
ainsi que sa famille.
- 16F 84 -04 :
- 12 C 508 :
- 16 C 72 A :
- 16 F 628 :
- 18 FL 442 :
7- Citer les mémoires dont un PIC 16F84 possède
Mémoire Programme
8- A quoi sert une mémoire programme pour un PIC 16F84 ?
9- Quelle est la taille de la mémoire programme du PIC 16F84 ?
10- Quel type de la mémoire de programme du 16F84
11- Sur combien de bit une instruction peut être codée ce pic
12- Schématiser le vecteur mémoire d’adresse 3FA du 16F84.
13- Schématiser la mémoire programme du 16F84
14- Donner l’adresse du premier vecteur de la mémoire programme du 16F84.
15- A quoi correspond le vecteur d’adresse 000 au niveau de sa mémoire programme ?
16- A quoi correspond le vecteur d’adresse 004 au niveau de la mémoire programme ?
17- Combien d’instruction qu’on peut écrire dans une mémoire programme si on commence
par le vecteur d’adresse 005
Mémoire des données du 16F84
18- Quelles sont les mémoires qu’on trouve dans une mémoire de données ?
19- Quelle est la taille de la mémoire EEPROM des données ?
20- A quoi sert la mémoire de données EEPROM ?
21- Sur combien de bits on peut coder une adresse mémoire de donnée EEPROM ?
22- Comment peut-on lire une donne de la mémoire EEPROM de données ?
23- Comment peut-on écrire une donnée sur la mémoire EEPROM de données ?
24- Donner la taille de la mémoire de données RAM

Aurelle Tchagna SUP’PTIC 2019


25- Sur combien de banques est subdivisée la mémoire de données RAM ?
26- Comment peut-on accéder à chaque banque ?
27- Donner le nom de deux portions constituant chaque banque
28- Dans la suite on s’intéresse aux registres SFR du 16F84:
a- Quel est l’intitule du registre FSR et du registre INDF
b- Dessiner le registre OPTION
c- Quel est le role du bit RBPU/ ?
29- Quelle est la différence entre l’architecture de Von Neumann et l’architecture Harvard ?
30- Si la fréquence d’horloge (oscillateur a quartz) est de 4 MHz, calculer le temps
nécessaire pour exécuter une instruction.
31- Donner le schéma utilise pour piloter un PIC16F84 en utilisant un oscillateur RC.
32- Donner le schéma utilise pour piloter un pic 16F84 en utilisant un oscillateur à quartz
33- A quoi sert le registre de travail W ?
34- Quelle est l’utilité de ‘UAL ?
35- Le schéma suivant illustre le principe d’exécution d’un programme écrit dans la
mémoire programme d’un PIC 16F84 :

a- Quel est le rôle du PC


b- Donner le nombre maximal que peut compter le PC.
c- Donner le nombre maximal d’instruction contenu dans la mémoire programme.
d- On en déduire le rôle de la pile.
Exercice 1
1. Un processeur a une fréquence d’horloge de 6 Mhz. Calculer sa période. Si une
instruction s’exécute a 5 microcycles, calculer la durée d’exécution d’une instruction.
2. Un CPU peut adresser 8Go. Trouver le nombre de bus d’adresse. Si chaque circuit
mémoire a une capacité maximale de 256 Mo, calculer le nombre totale de circuit
mémoire nécessaire. Faite le schéma d’adressage et donner la table de vérité de sélection
de chaque circuit mémoire.
Exercice 2

Aurelle Tchagna SUP’PTIC 2019


M. X a gagné un projet pour la gestion des jeux de lumière durant YAFE 2019. Il fait appel à
vous pour que vous l’aider dans la conception et la programmation du microcontrôleur qui va
gérer ces jeux de lumière. Pour cela vous devez montrer vos compétences en fessant un
programme permettant d’allumer 2 Led lorsqu’on appuie sur un bouton poussoir et d’éteindre
les deux Led lorsqu’un autre bouton poussoir est appuie.
Travail demandé : faire la liste des composants à utiliser. Le schéma de câblage, le grafcet, et
le code assembleur. Justifier votre schéma et programme.
Exercice 3
Partie 1: Notion en programmation assembleur
Le code assembleur suivant est celui d’une fonction de temporisation. Les variables
Tempo_value_B1 et Tempo_value_B2 sont stockées en RAM aux adresses 0x0020 et 0x0021.
Le microcontrôleur est cadence à 4 MHz.

a. Donner le rôle d’une fonction de temporisation.


b. Expliquez très brièvement le rôle chaque ligne de cette fonction temporisation.
c. Indiquez pour chaque ligne de cette fonction ce qui est réalisé par le microcontrôleur
(cf. document constructeur Annexe 1).
d. Donner le nombre de cycles correspondant à l’exécution de chaque instruction (cf.
document constructeur Annexe 1).
e. En déduire le temps d’exécution de la fonction Tempo_Wms en fonction de la valeur
contenue dans le registre W (cf. annexe 2)
f. Justifier l’utilisation de l’instruction NOP ligne 8 et de la valeur littérale 249 ligne 5.
g. Avec un seul appel à cette fonction, quelle est la durée de la temporisation la plus longue
de l’on puisse réaliser ?
Exercice 4 : We work with PIC16F84A for these exercises

Aurelle Tchagna SUP’PTIC 2019


1. Write the instructions to:
(a) set bit 3 of PORTA;
(b) clear bit 1 of PORTB;
(c) clear the file register called testfile;
(d) move the binary number 11011 into the working register;
(e) move the contents of the working register into a file register called cost;
(f) move the contents of the file register called cost into the working register;
(g) branch unconditionally to a point in the program identified by the label repeat;
(h) test bit 2 of the file register called input, and skip the next instruction if the bit is set.
2. Write the instructions to configure bits 0 to 3 of Port B bits as input bits, and bits 4 to 7
as output bits.
3.
(a) Complete the following code in order to configure bits 0 to 3 of Port B bits as input bits,
and bits 4 to 7 as output bits.

…… STATUS,……… ;the following instructions will refer to


;Memory Bank1, and so affect the TRIS
;registers rather than the Ports themselves
movlw b’………………………’ ;0 = output bit, 1 = input bit
…………… TRISB ;move the number from the working register
;to TRISB
……… STATUS, ……… ;the rest of the program will refer to
;Memory Bank0, and so operate on the Ports
;themselves rather than the TRIS registers.

(b) Write the section of code needed to:


• select Bank 1;
• configure the lsb and the msb of PORTA as input bits, and the other three bits as output
bits.
• select Bank 0.

Aurelle Tchagna SUP’PTIC 2019


Aurelle Tchagna SUP’PTIC 2019

Vous aimerez peut-être aussi