Professional Documents
Culture Documents
Selon les besoins de l’application et les modèles de microcontrôleurs disponibles dans une famille (PIC, ATMEL, INTEL) il
peut comprendre en plus :
• des blocs analogiques (CAN, CNA, filtres, amplificateurs, comparateurs analogiques, …..)
• des blocs numériques (temporisateurs, modulateurs, multiplexeur, UART,…..)
1
Instructions de 14 bits : Code binaire sur 14 bits qui correspond à un ordre précis que doit exécuter le microcontrôleur. Ce code binaire est aussi nommé code
machine. Un programme est composé d’une suite séquentielle d’ordres ou d’instructions.
2
WDT : watch dog
3
BOD : Brown out detection : Détection de chute de la tension d’alimentation
4
Prog Vref : tension de référence programmable en sortie
5
CCP : Capture, Compare, PWM
6
PSP : port // esclave
Les microcontrôleurs PIC pic.odt Page 2/12
4. Caractéristiques principales de la famille PIC
Un jeu d’instruction réduit ou RISC ( Reduced instruction set computer)
Un jeu d’instruction RISC permet d’accélérer la vitesse d’exécution des programmes. Les instructions 7 pour commander le
microcontrôleur sont alors peu nombreuses (33 ou 35 instructions différentes) mais aussi plus simples et donc plus rapides à
exécuter. Chaque mot de la mémoire programme (de 12 ou 14 ou 16 bits) contient une instruction et toutes les instructions
(sauf les sauts) sont exécutées en un seul cycle machine.
Architecture VON NEUMANN qui possède un unique bus de données pour faire transiter les instructions et
les données
7
Instructions de 14 bits : Code binaire sur 14 bits qui correspond à un ordre précis que doit exécuter le microcontrôleur. Ce code binaire est aussi nommé code
machine. Un programme est composé d’une suite séquentielle d’ordres ou d’instructions.
Les microcontrôleurs PIC pic.odt Page 3/12
Organisation et registres de la
mémoire de donnée
Repérer en rouge l’unité centrale, en vert la mémoire programme, en bleu la mémoire donnée, en jaune les ports
parallèles d’E/S, en violet le périphérique CAN(A/D) et en orange le périphérique liaison série RS232.
Le PC peut être stocké, si nécessaire, dans une pile qui peut contenir 8 valeurs aux
maximum (8 niveaux).
2. La mémoire programme
contient l’ensemble des instructions
du programme.
4.B. L’opérande fournit
Par exemple en adressage direct une l’adresse qui va permettre
instruction se compose d’un mot de d’accéder à la donnée dans la
14 bits qui a la structure suivante : RAM.
Opération
à exécuter Opérande de 7
sur 7 bits bits qui est 5. La donnée et l’opération
+ l’adresse de la décodée arrivent simultanément
donnée dans la dans un multiplexeur.
RAM. (structure de Harvard).
a) Repérer en les fléchant les éléments participants aux phases 1 à 7 de l’exécution d’une instruction.
b) Tracer en rouge, le chemin utilisé pour exécuter une instruction.
c) Indiquer le rôle du PC.
d) Retrouver le circuit dont le rôle est d’effectuer les opérations arithmétiques et logiques.
3. Horloge
Le PC a une taille de 13 bits, il est donc capable d’adresser au maximum 8Kmots (1mot=14 bits). Cette espace
mémoire est divisée en 4 pages de 2 Kx14 (0h - 7FFh, 800h - FFFh, 1000h - 17FFh, et 1800h - 1FFFh).
5. La mémoire donnée
a) Deux types de registres8
Cette mémoire est organisée en mot de 8 bits. Elle contient deux types de registres :
Les registres SFR (Special Function Registers) sont spécifiques à l’unité centrale. Ils permettent :
•à l’utilisateur de paramétrer le cadre de travail de l’unité centrale, prises en compte d’interruption, …
•à l’unité centrale de pouvoir exécuter une instruction (registre PC, …)
•à l’utilisateur et à l’unité centrale de piloter les périphériques (port E/S, CAN,….)
•à l’unité centrale d’analyser au moyen de drapeau (mémoire de 1 bit) les résultats d’une opération effectuée
par l’Unité Arithmétique et Logique
Les registres GPR (General Purpose Register) à usage général qui servent de zone de variables pour l’utilisateur.
Les instructions PIC qui permettent d’accéder directement à une donnée de la RAM sont structurées de la façon
suivante :
Opération Opérande de 7
à exécuter bits qui est
sur 7 bits + l’adresse de la
donnée dans la
RAM.
L’opérande est une adresse de 7 bits. On ne peut donc qu’accéder à 27=128 bits. Or il existe au maximum 4 banques, il
manque donc deux bits qui permettent de sélectionner une banque de 128 octets parmi 4.
Le registre STATUS contient ces deux bits RP1 et RP0 de sélection de banque.
Il faut donc systématiquement que le programmateur renseigne l’unité centrale sur le numéro de banque dans laquelle il
désire travailler. Il réalise cette opération en donnant une valeur au bit RP1 et RP0 du registre STATUS.
8
Registres : Le registre est un ensemble de bascules. Ces bascules permettent de mémoriser l’information. Ici la mémoire de
donnée est organisée en mots de 8 bits. Un registre se compose donc de 8 bascules.
Les microcontrôleurs PIC pic.odt Page 7/12
TD sur la mémoire donnée
a) Indiquer la différence entre registres SFR et GPR.
b) Encadrer en rouge la zone de variables SFR.
c) Encadrer en vert la zone de variables GPR.
d) Retrouver la nature du registre PORTA (SFR ou GPR) en utilisant un exemple d’organisation des registres en
mémoire donnée ci-dessous.
e) Retrouver la taille de la zone de variable utilisateur dans une banque.
f) Nommer les registres SFR qui sont communs aux quatre banques.
g) Compléter le tableau suivant :
Par défaut après un reset les broches des ports sont placées en entrée.
S3 S1
RX2
T1
S2
T2
S4
Registres associés :
TRISX: un registre de direction de 8 bits
Le sens de fonctionnement de chaque broche est déterminé par un registre de direction TRISX.
•Mettre le bit 2 de TRISX à 1 aura pour effet de mettre la broche RX2 du PORTX en entrée.
•Mettre le bit 2 de TRISX à 0 aura pour effet de mettre la broche RX2 du PORTX en sortie.
1 0
1 1
b) Compléter le tableau ci-dessous pour étudier la lecture de la broche RX2 en entrée. On utilisera le schéma
structurel de la page précédente.
0 0
1 0
c) Compléter le tableau ci-dessous pour étudier la configuration de la broche RX2 en sortie. On utilisera le schéma
structurel de la page précédente.
0 0
0 1
d) Compléter le tableau ci-dessous pour étudier l’écriture d’un niveau logique sur la broche RX2 en sortie. On
utilisera le schéma structurel de la page précédente.
0
1
Fonction :
Le portA possède 6 broches E/S. Chaque broche du port peut être utilisée en entrée ou en sortie.
Les broches du PORTA peuvent avoir deux fonctions en entrées : entrées analogiques,
entrées logiques.
Par défaut après un reset le portA est placé en entrée et s’il y a des entrées analogiques, les entrées sont positionnées en
mode analogique.
Registres associés :
TRISA: un registre de direction de 8 bits
Un bit de TRISA mis à 1 aura pour effet de mettre la broche correspondante du PORTA en entrée.
PORTA: un registre d’écriture ou lecture de 8 bits.
Fonction :
Le portB possède 8 broches E/S. Chaque broche du port peut être utilisée en entrée ou en sortie.
Par défaut après un reset le portB est placé en entrée.
Caractéristiques électriques :
Toutes les broches du portB lorsqu’elles sont en entrées peuvent être reliées à VDD via une résistance de pull-up activée
par programmation du bit RBPU du registre OPTION_REG.
Registres associés :
TRISB: un registre de direction de 8 bits
Un bit de TRISB mis à 1 aura pour effet de mettre la broche correspondante du PORTB en entrée.
PORTB: un registre d’écriture ou lecture de 8 bits