Microcontrôleur Avancé
GMSA: 2ème Année
elafou.youssef@gmail.com
1
Plan de la première partie
du cours cours
Généralités
Architecture & Familles des µCs
Caractéristiques et Fonctionnalités des µC
(PICs)
Organisation des mémoires/Registres
Configuration des ports d’entrée/sortie
Logique câblée
Réseaux de logique programmables (PAL, GAL,
PLD, FPGA, ...)
Les μprocesseurs
µC Actionneur
Unité
Interfaçage Interfaçage
Capteur centrale de
d’entrée de sortie
traitement
Opérateur
Signaux Signaux Signaux
analogique, numérique à Signaux
analogique,
Numérique et/ou traiter numérique
Numérique
logique traités
et/ou
µContrôleur avancé / GMSA 2 logique
11
Microcontrôleur
Fabricants et familles
Arizona Microchip (Série PIC)
Intel (80C51)
Motorola (Série 68HC11)
Atmel (Série AVR)
Parallax (Série Basic Stamp)
Rabbit Semiconductor (Série Rabbit)
Cypress Microsystem (PSoC)
ST(ST7)
…
µContrôleur avancé / GMSA 2 12
Microcontrôleur (PIC)
Les PICs sont des µC à architecture RISC.
La famille des PICs est subdivisée en 3 grandes
familles :
La famille Base-Line, qui utilise des mots
d’instructions de 12 bits,
la famille Mid-Range, qui utilise des mots de
14 bits (16F8xx, 18Fxxx),
et la famille High-End, qui utilise des mots de T
>16 bits (les PIC 18Fxxx, 24F, 32F, ..).
Évolution de l’architecture:
Séparation des espaces
mémoires données et
programmes
Registre d’Etat
▶ Mémoire Programme
Stack : Pile dans laquelle est sauvegardé
l’état du microprocesseur (PC,W) lors
d’appel à sous-programmes ou
d’interruptions.
Vecteur Reset : contient l’adresse
de début de programme (2 octets)
Interrupt Vector : contient
l’adresse du
début de programme d’interruption quand
on utilise les interruptions.
Page : zone de mémoire contenant
des
registres de configuration, des
données variables ou du programme
µContrôleur avancé / GMSA 2 36
Les registres internes (16F8XX)
Registre d’Etat (Adresse 03h, 83h, 103h,
183h)
37
IF
Bit 4 : INTE = RB0/Int Interrup Enable bit.
1 = Autorise les interruptions sur la broche : RB0/IRQ (pin6).
0 = Désactive les interruptions sur la broche : RB0/IRQ (pin6).
Bit 3 : RBIE = RB Port Change Interrup Enable bit.
1 = Autorise les interruptions par changement d'état du Port B
(RB4
0 = Désactive
à RB7). les interruptions par changement d'état du Port B (RB4 à RB7).
Bit 2 : TOIF = Timer TMR0 Overflow Interrup Flag bit.
1 = Le Timer a débordé. Ce flag doit être remis à zéro par programme.
0 = Le Timer n'a pas débordé.
Bit 1 : INTF = RB0/Int Interrup Flag bit.
1 = Une interruption sur la broche PB0/IRQ ( pin 6) est survenue.
0 = Pas d' interruption sur la broche PB0/IRQ ( pin 6).
Bit 0 : RBIF = RB Port Change Interrup Flag bit. Ce flag doit être remis à zéro
par programme.
1 = Quand au moins une entrée du port B (de RB4 à RB7) a changé d'état.
0 = Aucune entrée de RB4 à RB7 n'a changé d'état.
µContrôleur avancé / GMSA 2 42
Les Registres Internes
Les registres de configuration avec leurs états après
un RESET
Remarque
Quelque soit utilisé, l'horloge système dite
horloge instruction est obtenue
l'oscillateur aussi en divisant la fréquence par 4.
Dans la suite de ce document on utilisera le terme Fosc/4 pour
désigner l'horloge système.
Avec un quartz de 4 MHz, on obtient une horloge instruction de 1
MHz, soit le temps pour exécuter une instruction d e 1μs.
46
Circuit de RESET
On utilise un circuit de reset externe qui permet la mise à la
masse de l’entrée MCLR qui permet l’initialisation du PIC
(Master clear) à l’aide d’un bouton poussoir.
Un niveau bas sur l’entrée MCLR entraîne une réinitialisation
complète du microcontrôleur.
D’une façon générale ce signal est activé à la mise sous tension.
Un bouton poussoir est souvent rajouté afin qu’une
réinitialisation manuelle soit possible.
Lorsque le signal de “RESET” est activé, tous les registres
sont initialisé et le compteur programme se place à une
adresse
spécifique appelée “Vecteur de RESET”.
Registres ANSEL
Pour utiliser PORTA en port Numérique (normal), il faut placer 06h dans le
registre ADCON1 (bank1)
Registers
Toutes les broches du port C peuvent être utilisées soit comme E/S
normales soit comme broches d'accès a différents modules comme le
timer 1, les modules de comparaison et de capture CCP1/2, le timer
2, le port I2C ou le port série.
PORTD peut être utilisé dans un mode particulier appelé parallèle slave
port, pour cela il faut placer le bit PSPMODE (bit 4) de TRISD à 1. Dans
ce cas les 3 bits de PORTD deviennent les entrées de control de ce port
(RE, WE et CS).
Pour utiliser PORTD en mode normal, il faut placer le bit PSPMODE de
TRISD a 0
µContrôleur avancé / GMSA 2 60
Les ports d’E/S
PIC
Le port d' E/S PORTE
Situation au démarrage
oTous les ports sont configurés en entrée
o PORTD et PORTE sont configurés en mode
normal
o PORTA et PORTE sont configurés en analogique
20
Configuration du µC
Directives (suite)
config _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC
▶www.microchip.com