Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
1
Les microcontrôleurs PIC
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
2
Classification des circuits numériques
circuits logiques standards
74HC..
...
microprocesseurs microcontroleurs
PLD, CPLD,
FPGA Asic pré-diffusés
Asic pré-caractérisés Asic full custom circuits à
fonctionnement programmable
circuits à architecture programmable et faible temps de développement
circuits à temps de développement
important Circuits
numériques
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
3
Les gammes de PIC
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
4
Exemple : PIC16F84
-
- 1 Ko de ROM, 1 Ko de ROM, -
- 68 octets de RAM, 68 octets de RAM, -
- 64 octets de ROM, 64 octets de ROM, -
- 13 entrées sorties, 13 entrées sorties, -
- 10 MHz, 10 MHz, -
- un timer, un timer,
4 sources d’interruption 4 sources d’interruption
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
5
Exemple : PIC16F877A
-
- 14,3 Ko de ROM, 14,3 Ko de ROM, -
- 368 octets de RAM, 368 octets de RAM, -
- 256 octets d’EEPROM, 256 octets d’EEPROM, -
- 33 entrées sorties, un CAN, 33 entrées sorties, un CAN, -
- 20 MHz, 20 MHz, -
- 3 timers, 3 timers, -
- 15 sources d’interruptions 15 sources d’interruptions -
- une USART, une USART, -
- un MSSP, un MSSP, -
- 2 comparateurs, 2 comparateurs,
2 modules comparateur et PWM 2 modules comparateur et PWM . .
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
6
Architecture Harvard
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
7
Séquencement des instructions
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
8
Structure orthogonale,
processeur RISC
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
9
Organisation générale
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
10
La mémoire programme (ROM)
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
11
La mémoire données et registres (RAM)
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
12
Le jeu d’instructions
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
13
Le jeu d’instruction
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
14
L’adressage
adressage littéral ; adressage littéral ;
adressage directe ; adressage directe ;
adressage indirecte. adressage indirecte.
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
15
L’adressage littéral
(ne concerne que le registre W)
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
16
L’adressage direct
utilisation des bits RP0 et RP1 du registre d’état utilisation des bits RP0 et RP1 du registre d’état
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
17
L’adressage indirect
adresse écrite dans le registre FSR adresse écrite dans le registre FSR
adresse lue dans le registre IND adresse lue dans le registre IND
exemple d’effaçage de la RAM de 20h à exemple d’effaçage de la RAM de 20h à
2Fh 2Fh
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
18
L’adressage indirect
utilisation du bit IRP du registre d’état utilisation du bit IRP du registre d’état
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
19
Les principaux registres
le registre de travail « W » ou « WREG »; le registre de travail « W » ou « WREG »;
le registre d’état : le registre d’état :
les registre PORTx et TRISx les registre PORTx et TRISx
la pile : la pile :
8 niveaux, 13 bits, non accessible 8 niveaux, 13 bits, non accessible
le registre de configuration le registre de configuration
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
20
Les principaux registres
le compteur programme le compteur programme
compteur 13 bits pour 8 pages de 2 Ko; compteur 13 bits pour 8 pages de 2 Ko;
accessible par PCL (8 bits) et PCLATH (5 bits) accessible par PCL (8 bits) et PCLATH (5 bits)
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
21
Les principaux registres
Le compteur programme : Le compteur programme :
les appels et les sauts : les appels et les sauts :
– exemple d’appel d’une sous-routine en page 1 depuis exemple d’appel d’une sous-routine en page 1 depuis la page 0
la page 0
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
22
Les périphériques
ports d’entrées sorties : ports d’entrées sorties :
configurables bit à bit par le registre TRISx pour PORTx ; configurables bit à bit par le registre TRISx pour PORTx ;
éventuellement drain ouvert, résistance « pull up » ; éventuellement drain ouvert, résistance « pull up » ;
multiplexé avec des fonctions analogiques. multiplexé avec des fonctions analogiques.
timers, compteurs, comparateur, MLI ; timers, compteurs, comparateur, MLI ;
liaison série diverses liaison série diverses
CAN, CNA ; CAN, CNA ;
comparateur analogique ; comparateur analogique ;
tension de référence. tension de référence.
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
23
Références
PIC16 F 877 – 20
Famille 10, 12, 16, 17 ou 18
Fréquence maximale (MHz)
Type de mémoire et alimentation F : Flash 4,5 à 6 V
C : EERPOM et EPROM 4,5 à 6 V CR : ROM 4,5 à 6 V
LF : Flash 2 à 6 V
LC : EEPROM ou EPROM 2 à 6 V LCR : ROM 2 à 6 V
Référence
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
24
Développement d’un projet
DEBUT
ALGORIGRAMME
CODE SOURCE
COMPILATION SIMULATION
CORRECT ? MODE "DEBUG"
CORRECT ?
PROGRAMMATION
CORRECT ?
FIN ou EMULATEUR
non
non
non oui
oui
oui
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
25
Programmation
Programmation des microcontrôleurs PIC ENSET d'Oran / IUFM Aix Marseille - mai 2009 -
26