SlideShare une entreprise Scribd logo
1  sur  36
Les Microcontrôleurs
Variétés de 16FXXX
Qu’est ce qu’un microcontrôleur?
• Un microcontrôleur est un circuit intégré qui rassemble les éléments
essentiels d'un ordinateur : processeur, mémoires
• Les microcontrôleurs se caractérisent par un plus haut degré
d'intégration, polyvalents utilisés dans les ordinateurs personnels. une plus
faible consommation électrique, une vitesse de fonctionnement plus faible
(de quelques mégahertz jusqu'à plus d'un gigahertz) et un coût réduit par
rapport aux microprocesseurs
Comment on identifie les différentes variétés de pic?
• Le nom PIC initialement appelé "Peripheral Interface Controller".
• Un PIC est généralement identifié par une référence de la forme suivante :
xx(L)XXyy-zz
xx : famille du composant actuellement <<12, 14, 16, 17 et 18 >>
(L): tolérance plus importante de la plage de tension
XX: type de mémoire programme
yy: identificateur
zz: vitesse maximale du quartz de pilotage.
Les PICs 16F
• Les PIC de la famille 16C ou 16F sont des composants de milieu de gamme.
C'est la famille la plus riche en termes de dérivés.
• Actuellement les modèles Microchip, sont classés en 3 grandes familles,
comportant chacune plusieurs références. Ces familles sont :
- Base-line : les instructions sont codées sur 12 bits.
- mid-line : les instructions sont codées sur 14 bits.
- High-End : les instructions sont codées sur 16 bits.
• La famille PIC16F de dispositifs est CMOS (Complementary Metal Oxide Semiconductor)
microcontrôleurs comprenant des types PIC16F83, PIC16C83, PIC16F84, PIC16C84,
PIC16LCR8X et PIC16LF8X.
• TechnologieCMOS offre un certain nombre d'avantages par rapport à d'autres
technologies. Par exemple, les circuits CMOS consomment très peu d'énergie, fonctionnent
sur une gamme assez large de tension et sont assez indulgents de la mauvaise mise en
page et du bruit électrique.
• PIC est une famille de l'architecture des microcontrôleurs modifiés Harvard faites par
MicrochipTechnology, issus de la PIC1650 développé à l'origine par la Division
Microelectronics de General Instrument.
LE Pic 16F876
Que signifie 16F876-20:
- 16 : le circuit appartient à la série Mid-Line.
- F : la mémoire programme est de type FLASH.
- 876 : type(identificateur)
- 20 : Quartz à 20MHz au maximum.
Architecture interne du 16F876 :
Brochage du 16F876:
• MCLR : cette broche sert à initialiser le microcontrôleur PIC: à la mise sous
tension par un front montant. Cette broche peut être simplement reliée à
l’alimentationVDD si on n’a pas besoin de RESET externe
• VDD etVSS: broches d’alimentation du circuit (la tensionVDD peut être
comprise entre 4V à 5,5V).
Les ports du microcontrôleur 16F876 sont couplés à différents modules
(Timers (ports A et C), convertisseur analogique numérique (port A),
plusieurs types de liaisons séries (port C).
• RA0 à RA5: 6 broches du portA. Chaque ligne peut être configurée
individuellement en entrée ou en sortie.
• RB0 à RB7: 8 broches du port B. Chaque ligne peut être configurée
individuellement en entrée ou en sortie. Les broches RB6/PGC
(ProGramming Clock) et RB7/PGD (ProGramming Data) permettent la
connexion à un module ICD (In Circuit Debugger, mise au point de
programme sur site).
• RC0 à RC7: 8 broches du port C. Chaque ligne peut être configurée
individuellement en entrée ou en sortie.
• OSC1 et OSC2: ces broches permettent de faire fonctionner l’oscillateur
interne du microcontrôleur PIC de trois façons différentes.
2- Un quartz ou résonateur céramique permet
d’obtenir une fréquence de fonctionnement
très précise
3- Un oscillateur externe permet une
synchronisation avec un autre circuit
1- Un simple réseau RC peut suffire,
l’oscillateur est peu précis mais
économique.
Organisation de la mémoire RAM
• L’espace mémoire RAM adressable est de 512 positions de 1 octet chacune :
• 96 positions sont réservées au SFR ( Special Function Registers ) qui sont
les registres de configuration du PIC.
• Les 416 positions restantes constituent les registres GPR ( General Propose
Registers ) ou RAM utilisateur. Sur le 16F876 et 16F877, 3 blocs de 16 octets
chacun ne sont pas implantés physiquement d’où une capacité de RAM
utilisateur de 368 GPR.
Organisation de la RAM:
Accès à la RAM par adressage DIRECT:
• La RAM apparaît alors organisée en 4 banks de 128 octets
chacun. L'adresse instruction permet d'adresser à l'intérieur
d'un bank alors que les bits RP0 et RP1 du registre STATUS
permettent de choisir un bank . La Figure II-1 montre
l’organisation de la RAM avec les zones allouée au SFR et aux
GPR. Les zones hachurées ne s ont pas implantées
physiquement.
Si on essaye d’y accéder , on est aiguillé automatiquement vers
la zone [ 70h ,7Fh ] appelée zone commune.
LE PIC 16F628
LE PIC 16F628 : Définition
• Ce composant intègre un microcontrôleur 8 bits, c’est à dire un processeur
et des périphériques, dans un boîtier « Dual in Line » de 18 broches. Il est
réalisé en technologie CMOS et peu cadencé par une horloge allant de 0 à
20 MHz; il doit être alimenté par une tension allant de 3 à 5,5Volts.
Brochage du 16F628
• Les broches du composant possèdent plusieurs affectations entre les ports
d’E/S, les périphériques et les fonctions système.
- 3Timers (8 et 16 bits);
- 1 module Capture/Compare/PWM;
- 2 comparateurs analogiques; 1 référence de tension;
- USART (émission/réception série synchrone et asynchrone)
 En périphérie de l’unité centrale, on peut recenser les ressources
suivantes sur le composant :
 Mémoire Flash Programme : 2048 instructions
 Mémoire RAM Données : 224 Octets
 Mémoire EEPROM Données : 128 Octets
 Ports d’E/S : 2 ports 8 bits
 Périphériques:
Architecture interne:
Mémoire
Ce microcontrôleur est basé sur une architecture de processeur de type
Harvard, c’est à dire qu’il y a séparation des bus d’instructions et de
données ainsi que de l’espace d’adressage
1) Mémoire programme
- Les instructions du programme sont stockées sur 14
bits dans une zone mémoire dont l’adresse s’étend de
000h à 7FFh (2048 lignes de programme pour le 16f628)
- Il y a 2 adresses réservées pour les vecteurs
d’initialisation (Reset et interruptions) ; le processeur
possède une pile de 8 niveaux pour gérer les adresses de
retour de sous programmes ; il n’y a aucun contrôle sur
l’état de la pile par le processeur.
2) Mémoire données (Registres)
La mémoire données correspond aux registres (File Registers) vus par l’unité
centrale ; ces registres sont de2 types :
• Registres « Système » : ils permettent la configuration et la surveillance de
l’état du processeur et de ses périphériques ; ces registres sont accessibles
en lecture ou en écriture suivant leur fonction ; il y a 34 registres de ce type
pour le 16f628
• Registre d’usage général : ils permettent le stockage de variables; ils sont
accessibles en lecture et en écriture par le programme ; il y a 224 registres
de ce type pour le 16f628,
 Le jeu d’instructions du
processeur ne permet
l’adressage des registres
que sur 7 bits (128
registre), l’espace mémoire
est alors décomposé en 4
bancs de 128 registres ; la
cartographie de la mémoire
données est donnée par la
figure suivante ; les zones
grisées ne sont pas
implémentées
LE Pic 16F877
Architecture interne
mémoires
Port I/O
Contrôle
ALU
Timers,
EEPROM,
USART
• Programme : mémoire Flash
de 8k (mots de 14 bits)
• RAM : 368 bytes
• Pile matérielle (stack) : jusqu’à
8 fonctions Imbriquées
• 5 ports 5 PORTS (A,B,C,D et
E) ont une double fonction au
moins, D :I/O pure et/ou port
parallèle 8 bits associé au PORT
E, E(3 bits) I/O pure et/ou
pilotage du PORT E
Décode/contrôle
les instructions (CLK)
• formée de W (accumulateur
8bit) et STATUS(registre d’etat)
T0 (8 bits):incrémenté par la
broche (TOCKI/ RA4) ou par
l’horloge interne
T1 (16 bits): incrémenté soit par
l’horloge interne, par des
impulsions sur la broche
T1CKI/RC0 ou par un
oscillateur (RC ou quartz)
T2 (8 bits) : Il est incrémenté par
l’horloge interne
Brochage du 16F877/16F874:
Remarque : Les 16F873 et 16F874
présentent peu d’intérêt par rapport
aux 16F876 et 16F877, en effet ils
possèdent moins de mémoires
programmes et ils sont à peu près
au même prix.
Le µC dispose de 3 PORTS (A,B et C) pour le 16F876 et 5 PORTS (A,B,C,D et E) pour le 16F877. Tous
les ports d’entrées sorties Input/ Output sont bidirectionnels. La plupart des lignes de PORTs ont une
double fonction.
• Le PORT A (5 bits) I/O pure et/ou convertisseur analogique et/ou TIMER 0. La broche RA4 du PORT
A (Entrée du TIMER 0 T0CKI) est du type DRAIN OUVERT.
• Le PORT B (8 bits) I/O pure et/ou programmation in situ ICSP/ICD (Broche RB3/PGM, RB6/PGC et
RB7/PGD) et l’entrée d’interruption externe RB0/INT.
Remarque : Si le PIC est utilisé en mode ICSP/ICD il faut laisser libre les broches RB3/PGM, RB6/PGC
ainsi que RB7/PGD) et les configurer en entrée.
• Le PORT C (8 bits) I/O pure et/ou TIMER 1 et/ou SPI / I2C et/ou USART.
• Le PORT D (8 bits) I/O pure et/ou port parallèle 8 bits associé au PORT E.
• Le PORT E (3 bits) I/O pure et/ou pilotage du PORT E RE0/RD, RE1/WR et RE2/CS. Toutes les lignes
des PORTs peuvent fournir un courant de 25mA par ligne de PORT. Une limite de 40mA par PORT doit
être respectée pour des questions de dissipation.
Tableaux récapitulatifs des pic16f étudiés
 Différence entre pic 16F627/28:
PIC 16F876 PIC 16F873
Operating Frequency DC-20 MHZ DC-20 MHZ
RESETS (and Delays) POR, BOR
(PWRT, OST)
POR, BOR
(PWRT, OST)
Flash Program Memory (14 bit-
words)
8K 4K
RAM Data Memory (bytes) 368 192
EEPROM Data Memory 256 128
Interrups 13 13
I/O Ports Ports A,B,C Ports A,B,C
Timers 3 3
Capture/compare/PWM Modules 2 2
Serial Communications MSSP,USART MSSP,USART
Parallel Communications -- --
10-bit Analog-to-Digital Module 5 input channels 5 input channels
Instruction Set 35 instructions 35 instructions
 Différence entre pic 16F676/73:
PIC16F874 PIC16F877
Operating Frequency DC-20 MHZ DC-20 MHZ
RESETS (and Delays) POR, BOR
(PWRT, OST)
POR, BOR
(PWRT, OST)
Flash Program Memory (14 bit-
words)
4K 8K
RAM Data Memory (bytes) 192 366
EEPROM Data Memory 128 256
Interrups 14 14
I/O Ports Ports A,B,C,D,E Ports A,B,C,D,E
Timers 3 3
Capture/compare/PWM Modules 2 2
Serial Communications MSSP,USART MSSP,USART
ParallelCommunications PSP PSP
10-bit Analog-to-Digital Module 8 input channels 8 input channels
Instruction Set 35 instructions 35 instructions
 Différence entre pic 16F877/74:
Nouveauté concernant les pic16F:
Microchip annonce, depuis le salon DESIGNWest à San José (Californie), l’extension de sa famille de
microcontrôleurs à cœur milieu de gamme amélioré : les microcontrôleurs 8 bits PIC16F(LF)178X
intègrent des périphériques analogiques avancés et de communication, tels que des convertisseurs
analogiques-numériques (CAN) 12 bits, des convertisseurs numériques-analogiques (CNA), des
amplificateurs opérationnels et des comparateurs rapides, ainsi qu’un EUSART compatible LIN et des
périphériques de communication SPI et I2C™.Ces nouveaux microcontrôleurs affichent également le
meilleur niveau de contrôle PWM et de précision du marché grâce aux nouveaux modules PSMC
(Programmable Switch-Mode Controllers - contrôleurs programmables à découpage).
Les modèles « LF » de ces microcontrôleurs sont dotés de la technologie XLP très faible consommation,
affichant une consommation en fonctionnement et en mode veille respectivement d’à peine 32 µA/MHz
et 50 nA, permettant d’améliorer la durée de vie des batteries et de réduire la consommation en veille.
Grâce à leur faible consommation et à leur intégration avancée analogique et numérique, les
microcontrôleurs à usage général PIC16F(LF)178X sont idéaux pour les applications du type éclairage par
LED, gestion de batteries, alimentation numérique et contrôle de moteurs entre autres.
les normes relatives à la consommation énergétique se multiplient dans le monde entier. Grâce aux
microcontrôleurs PIC16F(LF)178X, les développeurs peuvent créer de meilleurs produits moins
gourmands en énergie.Le cœur 8 bits milieu de gamme amélioré de Microchip permet de meilleures
performances, dont une vitesse de 32 MHz, l’enregistrement automatique du contexte pour une gestion
plus rapide des interruptions, plus d’efficacité dans le jeu d’instructions avec une densité de code plus
élevée, ainsi qu’un contrôle direct des ports plus rapide et plus performant.
Merci pour votre attention


Contenu connexe

Tendances

Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
TheCrazyMan
 
Programmation des pic_en_c_part1
Programmation des pic_en_c_part1Programmation des pic_en_c_part1
Programmation des pic_en_c_part1
oussamada
 
Programmation des pic_en_c_part2
Programmation des pic_en_c_part2Programmation des pic_en_c_part2
Programmation des pic_en_c_part2
oussamada
 

Tendances (20)

Projet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapportProjet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapport
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic
 
Cours asm (1)
Cours asm (1)Cours asm (1)
Cours asm (1)
 
Microcontroleur
MicrocontroleurMicrocontroleur
Microcontroleur
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
Utilisation et programmation en c
Utilisation et programmation en cUtilisation et programmation en c
Utilisation et programmation en c
 
Afficheur 7 segments
Afficheur 7 segmentsAfficheur 7 segments
Afficheur 7 segments
 
T ps dsp
T ps dspT ps dsp
T ps dsp
 
Généralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicGénéralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasic
 
Pic 16 f84
Pic 16 f84Pic 16 f84
Pic 16 f84
 
Processeur
ProcesseurProcesseur
Processeur
 
Composants reconfigurables
Composants reconfigurablesComposants reconfigurables
Composants reconfigurables
 
Final
FinalFinal
Final
 
Arduino cottenceau1112
Arduino cottenceau1112Arduino cottenceau1112
Arduino cottenceau1112
 
Horloge
HorlogeHorloge
Horloge
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
 
Programmation des pic_en_c_part1
Programmation des pic_en_c_part1Programmation des pic_en_c_part1
Programmation des pic_en_c_part1
 
Programmation des pic_en_c_part2
Programmation des pic_en_c_part2Programmation des pic_en_c_part2
Programmation des pic_en_c_part2
 

En vedette

Cours microcontroleur 8051 v1.1
Cours microcontroleur 8051 v1.1Cours microcontroleur 8051 v1.1
Cours microcontroleur 8051 v1.1
Jack Ilboudo
 
Tp transcodage logique combinatoire
Tp transcodage logique combinatoireTp transcodage logique combinatoire
Tp transcodage logique combinatoire
bilal001
 
Circuits Base Hydraulique
Circuits Base HydrauliqueCircuits Base Hydraulique
Circuits Base Hydraulique
youri59490
 

En vedette (17)

Pic16f84
Pic16f84Pic16f84
Pic16f84
 
Cours microcontroleur 8051 v1.1
Cours microcontroleur 8051 v1.1Cours microcontroleur 8051 v1.1
Cours microcontroleur 8051 v1.1
 
Microcontroleurs
MicrocontroleursMicrocontroleurs
Microcontroleurs
 
Programming pic microcontrollers
Programming pic microcontrollersProgramming pic microcontrollers
Programming pic microcontrollers
 
mourad 2eme
mourad 2ememourad 2eme
mourad 2eme
 
Le Micro Processeur
Le Micro ProcesseurLe Micro Processeur
Le Micro Processeur
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
Cours de c
Cours de cCours de c
Cours de c
 
Logiques sequentielle
Logiques sequentielleLogiques sequentielle
Logiques sequentielle
 
Compteur ARDUINO
Compteur ARDUINOCompteur ARDUINO
Compteur ARDUINO
 
Compteur synchrone
Compteur synchroneCompteur synchrone
Compteur synchrone
 
Présentation microprocesseur finale
Présentation microprocesseur finalePrésentation microprocesseur finale
Présentation microprocesseur finale
 
Cours technologie electrique pneumatique
Cours technologie electrique   pneumatiqueCours technologie electrique   pneumatique
Cours technologie electrique pneumatique
 
Tp transcodage logique combinatoire
Tp transcodage logique combinatoireTp transcodage logique combinatoire
Tp transcodage logique combinatoire
 
Circuits Base Hydraulique
Circuits Base HydrauliqueCircuits Base Hydraulique
Circuits Base Hydraulique
 
Café Numérique Bruxelles - Les Makers - Arduino
Café Numérique Bruxelles - Les Makers - ArduinoCafé Numérique Bruxelles - Les Makers - Arduino
Café Numérique Bruxelles - Les Makers - Arduino
 
Exos de logique séquentielle
Exos de logique séquentielleExos de logique séquentielle
Exos de logique séquentielle
 

Similaire à Micocontroleur16 fxxx (1)

Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdfNotes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
IMADABOUDRAR1
 
cours2 ARM.pptx
cours2 ARM.pptxcours2 ARM.pptx
cours2 ARM.pptx
BesmaOthmaniKrifa
 
Chapitrdfdfdfddddddddddddddddddddddddddddddddddddde3.pdf
Chapitrdfdfdfddddddddddddddddddddddddddddddddddddde3.pdfChapitrdfdfdfddddddddddddddddddddddddddddddddddddde3.pdf
Chapitrdfdfdfddddddddddddddddddddddddddddddddddddde3.pdf
AhmedJguirim
 
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
josue25052001
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mohamedsaidi212001
 

Similaire à Micocontroleur16 fxxx (1) (20)

Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
pic16f84-200306072553.pdf
pic16f84-200306072553.pdfpic16f84-200306072553.pdf
pic16f84-200306072553.pdf
 
prog_reg.pptx
prog_reg.pptxprog_reg.pptx
prog_reg.pptx
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdf
 
Etude-Du-Microcontrleur-Pic16f84-160919133655
Etude-Du-Microcontrleur-Pic16f84-160919133655Etude-Du-Microcontrleur-Pic16f84-160919133655
Etude-Du-Microcontrleur-Pic16f84-160919133655
 
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdfNotes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
 
cours2 ARM.pptx
cours2 ARM.pptxcours2 ARM.pptx
cours2 ARM.pptx
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Tp bus i2_c_partie_2
Tp bus i2_c_partie_2Tp bus i2_c_partie_2
Tp bus i2_c_partie_2
 
8. introduction a larchitecture arm
8. introduction a larchitecture arm8. introduction a larchitecture arm
8. introduction a larchitecture arm
 
Assembleur
AssembleurAssembleur
Assembleur
 
Chapitrdfdfdfddddddddddddddddddddddddddddddddddddde3.pdf
Chapitrdfdfdfddddddddddddddddddddddddddddddddddddde3.pdfChapitrdfdfdfddddddddddddddddddddddddddddddddddddde3.pdf
Chapitrdfdfdfddddddddddddddddddddddddddddddddddddde3.pdf
 
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
Yapsc Manuel
Yapsc ManuelYapsc Manuel
Yapsc Manuel
 
Coursdsp tdi
Coursdsp tdiCoursdsp tdi
Coursdsp tdi
 
cour PIC16F877.pptx
cour PIC16F877.pptxcour PIC16F877.pptx
cour PIC16F877.pptx
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codee
 
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
 

Micocontroleur16 fxxx (1)

  • 2. Qu’est ce qu’un microcontrôleur? • Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur : processeur, mémoires • Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, polyvalents utilisés dans les ordinateurs personnels. une plus faible consommation électrique, une vitesse de fonctionnement plus faible (de quelques mégahertz jusqu'à plus d'un gigahertz) et un coût réduit par rapport aux microprocesseurs
  • 3. Comment on identifie les différentes variétés de pic? • Le nom PIC initialement appelé "Peripheral Interface Controller". • Un PIC est généralement identifié par une référence de la forme suivante : xx(L)XXyy-zz xx : famille du composant actuellement <<12, 14, 16, 17 et 18 >> (L): tolérance plus importante de la plage de tension XX: type de mémoire programme yy: identificateur zz: vitesse maximale du quartz de pilotage.
  • 4. Les PICs 16F • Les PIC de la famille 16C ou 16F sont des composants de milieu de gamme. C'est la famille la plus riche en termes de dérivés. • Actuellement les modèles Microchip, sont classés en 3 grandes familles, comportant chacune plusieurs références. Ces familles sont : - Base-line : les instructions sont codées sur 12 bits. - mid-line : les instructions sont codées sur 14 bits. - High-End : les instructions sont codées sur 16 bits.
  • 5. • La famille PIC16F de dispositifs est CMOS (Complementary Metal Oxide Semiconductor) microcontrôleurs comprenant des types PIC16F83, PIC16C83, PIC16F84, PIC16C84, PIC16LCR8X et PIC16LF8X. • TechnologieCMOS offre un certain nombre d'avantages par rapport à d'autres technologies. Par exemple, les circuits CMOS consomment très peu d'énergie, fonctionnent sur une gamme assez large de tension et sont assez indulgents de la mauvaise mise en page et du bruit électrique. • PIC est une famille de l'architecture des microcontrôleurs modifiés Harvard faites par MicrochipTechnology, issus de la PIC1650 développé à l'origine par la Division Microelectronics de General Instrument.
  • 7. Que signifie 16F876-20: - 16 : le circuit appartient à la série Mid-Line. - F : la mémoire programme est de type FLASH. - 876 : type(identificateur) - 20 : Quartz à 20MHz au maximum.
  • 10. • MCLR : cette broche sert à initialiser le microcontrôleur PIC: à la mise sous tension par un front montant. Cette broche peut être simplement reliée à l’alimentationVDD si on n’a pas besoin de RESET externe • VDD etVSS: broches d’alimentation du circuit (la tensionVDD peut être comprise entre 4V à 5,5V). Les ports du microcontrôleur 16F876 sont couplés à différents modules (Timers (ports A et C), convertisseur analogique numérique (port A), plusieurs types de liaisons séries (port C).
  • 11. • RA0 à RA5: 6 broches du portA. Chaque ligne peut être configurée individuellement en entrée ou en sortie. • RB0 à RB7: 8 broches du port B. Chaque ligne peut être configurée individuellement en entrée ou en sortie. Les broches RB6/PGC (ProGramming Clock) et RB7/PGD (ProGramming Data) permettent la connexion à un module ICD (In Circuit Debugger, mise au point de programme sur site). • RC0 à RC7: 8 broches du port C. Chaque ligne peut être configurée individuellement en entrée ou en sortie.
  • 12. • OSC1 et OSC2: ces broches permettent de faire fonctionner l’oscillateur interne du microcontrôleur PIC de trois façons différentes. 2- Un quartz ou résonateur céramique permet d’obtenir une fréquence de fonctionnement très précise 3- Un oscillateur externe permet une synchronisation avec un autre circuit 1- Un simple réseau RC peut suffire, l’oscillateur est peu précis mais économique.
  • 13. Organisation de la mémoire RAM • L’espace mémoire RAM adressable est de 512 positions de 1 octet chacune : • 96 positions sont réservées au SFR ( Special Function Registers ) qui sont les registres de configuration du PIC. • Les 416 positions restantes constituent les registres GPR ( General Propose Registers ) ou RAM utilisateur. Sur le 16F876 et 16F877, 3 blocs de 16 octets chacun ne sont pas implantés physiquement d’où une capacité de RAM utilisateur de 368 GPR.
  • 15. Accès à la RAM par adressage DIRECT: • La RAM apparaît alors organisée en 4 banks de 128 octets chacun. L'adresse instruction permet d'adresser à l'intérieur d'un bank alors que les bits RP0 et RP1 du registre STATUS permettent de choisir un bank . La Figure II-1 montre l’organisation de la RAM avec les zones allouée au SFR et aux GPR. Les zones hachurées ne s ont pas implantées physiquement. Si on essaye d’y accéder , on est aiguillé automatiquement vers la zone [ 70h ,7Fh ] appelée zone commune.
  • 17. LE PIC 16F628 : Définition • Ce composant intègre un microcontrôleur 8 bits, c’est à dire un processeur et des périphériques, dans un boîtier « Dual in Line » de 18 broches. Il est réalisé en technologie CMOS et peu cadencé par une horloge allant de 0 à 20 MHz; il doit être alimenté par une tension allant de 3 à 5,5Volts.
  • 18. Brochage du 16F628 • Les broches du composant possèdent plusieurs affectations entre les ports d’E/S, les périphériques et les fonctions système.
  • 19. - 3Timers (8 et 16 bits); - 1 module Capture/Compare/PWM; - 2 comparateurs analogiques; 1 référence de tension; - USART (émission/réception série synchrone et asynchrone)  En périphérie de l’unité centrale, on peut recenser les ressources suivantes sur le composant :  Mémoire Flash Programme : 2048 instructions  Mémoire RAM Données : 224 Octets  Mémoire EEPROM Données : 128 Octets  Ports d’E/S : 2 ports 8 bits  Périphériques:
  • 21. Mémoire Ce microcontrôleur est basé sur une architecture de processeur de type Harvard, c’est à dire qu’il y a séparation des bus d’instructions et de données ainsi que de l’espace d’adressage 1) Mémoire programme - Les instructions du programme sont stockées sur 14 bits dans une zone mémoire dont l’adresse s’étend de 000h à 7FFh (2048 lignes de programme pour le 16f628) - Il y a 2 adresses réservées pour les vecteurs d’initialisation (Reset et interruptions) ; le processeur possède une pile de 8 niveaux pour gérer les adresses de retour de sous programmes ; il n’y a aucun contrôle sur l’état de la pile par le processeur.
  • 22. 2) Mémoire données (Registres) La mémoire données correspond aux registres (File Registers) vus par l’unité centrale ; ces registres sont de2 types : • Registres « Système » : ils permettent la configuration et la surveillance de l’état du processeur et de ses périphériques ; ces registres sont accessibles en lecture ou en écriture suivant leur fonction ; il y a 34 registres de ce type pour le 16f628 • Registre d’usage général : ils permettent le stockage de variables; ils sont accessibles en lecture et en écriture par le programme ; il y a 224 registres de ce type pour le 16f628,
  • 23.  Le jeu d’instructions du processeur ne permet l’adressage des registres que sur 7 bits (128 registre), l’espace mémoire est alors décomposé en 4 bancs de 128 registres ; la cartographie de la mémoire données est donnée par la figure suivante ; les zones grisées ne sont pas implémentées
  • 24.
  • 25.
  • 26.
  • 28. Architecture interne mémoires Port I/O Contrôle ALU Timers, EEPROM, USART • Programme : mémoire Flash de 8k (mots de 14 bits) • RAM : 368 bytes • Pile matérielle (stack) : jusqu’à 8 fonctions Imbriquées • 5 ports 5 PORTS (A,B,C,D et E) ont une double fonction au moins, D :I/O pure et/ou port parallèle 8 bits associé au PORT E, E(3 bits) I/O pure et/ou pilotage du PORT E Décode/contrôle les instructions (CLK) • formée de W (accumulateur 8bit) et STATUS(registre d’etat) T0 (8 bits):incrémenté par la broche (TOCKI/ RA4) ou par l’horloge interne T1 (16 bits): incrémenté soit par l’horloge interne, par des impulsions sur la broche T1CKI/RC0 ou par un oscillateur (RC ou quartz) T2 (8 bits) : Il est incrémenté par l’horloge interne
  • 29. Brochage du 16F877/16F874: Remarque : Les 16F873 et 16F874 présentent peu d’intérêt par rapport aux 16F876 et 16F877, en effet ils possèdent moins de mémoires programmes et ils sont à peu près au même prix.
  • 30. Le µC dispose de 3 PORTS (A,B et C) pour le 16F876 et 5 PORTS (A,B,C,D et E) pour le 16F877. Tous les ports d’entrées sorties Input/ Output sont bidirectionnels. La plupart des lignes de PORTs ont une double fonction. • Le PORT A (5 bits) I/O pure et/ou convertisseur analogique et/ou TIMER 0. La broche RA4 du PORT A (Entrée du TIMER 0 T0CKI) est du type DRAIN OUVERT. • Le PORT B (8 bits) I/O pure et/ou programmation in situ ICSP/ICD (Broche RB3/PGM, RB6/PGC et RB7/PGD) et l’entrée d’interruption externe RB0/INT. Remarque : Si le PIC est utilisé en mode ICSP/ICD il faut laisser libre les broches RB3/PGM, RB6/PGC ainsi que RB7/PGD) et les configurer en entrée. • Le PORT C (8 bits) I/O pure et/ou TIMER 1 et/ou SPI / I2C et/ou USART. • Le PORT D (8 bits) I/O pure et/ou port parallèle 8 bits associé au PORT E. • Le PORT E (3 bits) I/O pure et/ou pilotage du PORT E RE0/RD, RE1/WR et RE2/CS. Toutes les lignes des PORTs peuvent fournir un courant de 25mA par ligne de PORT. Une limite de 40mA par PORT doit être respectée pour des questions de dissipation.
  • 31. Tableaux récapitulatifs des pic16f étudiés
  • 32.  Différence entre pic 16F627/28:
  • 33. PIC 16F876 PIC 16F873 Operating Frequency DC-20 MHZ DC-20 MHZ RESETS (and Delays) POR, BOR (PWRT, OST) POR, BOR (PWRT, OST) Flash Program Memory (14 bit- words) 8K 4K RAM Data Memory (bytes) 368 192 EEPROM Data Memory 256 128 Interrups 13 13 I/O Ports Ports A,B,C Ports A,B,C Timers 3 3 Capture/compare/PWM Modules 2 2 Serial Communications MSSP,USART MSSP,USART Parallel Communications -- -- 10-bit Analog-to-Digital Module 5 input channels 5 input channels Instruction Set 35 instructions 35 instructions  Différence entre pic 16F676/73:
  • 34. PIC16F874 PIC16F877 Operating Frequency DC-20 MHZ DC-20 MHZ RESETS (and Delays) POR, BOR (PWRT, OST) POR, BOR (PWRT, OST) Flash Program Memory (14 bit- words) 4K 8K RAM Data Memory (bytes) 192 366 EEPROM Data Memory 128 256 Interrups 14 14 I/O Ports Ports A,B,C,D,E Ports A,B,C,D,E Timers 3 3 Capture/compare/PWM Modules 2 2 Serial Communications MSSP,USART MSSP,USART ParallelCommunications PSP PSP 10-bit Analog-to-Digital Module 8 input channels 8 input channels Instruction Set 35 instructions 35 instructions  Différence entre pic 16F877/74:
  • 35. Nouveauté concernant les pic16F: Microchip annonce, depuis le salon DESIGNWest à San José (Californie), l’extension de sa famille de microcontrôleurs à cœur milieu de gamme amélioré : les microcontrôleurs 8 bits PIC16F(LF)178X intègrent des périphériques analogiques avancés et de communication, tels que des convertisseurs analogiques-numériques (CAN) 12 bits, des convertisseurs numériques-analogiques (CNA), des amplificateurs opérationnels et des comparateurs rapides, ainsi qu’un EUSART compatible LIN et des périphériques de communication SPI et I2C™.Ces nouveaux microcontrôleurs affichent également le meilleur niveau de contrôle PWM et de précision du marché grâce aux nouveaux modules PSMC (Programmable Switch-Mode Controllers - contrôleurs programmables à découpage). Les modèles « LF » de ces microcontrôleurs sont dotés de la technologie XLP très faible consommation, affichant une consommation en fonctionnement et en mode veille respectivement d’à peine 32 µA/MHz et 50 nA, permettant d’améliorer la durée de vie des batteries et de réduire la consommation en veille. Grâce à leur faible consommation et à leur intégration avancée analogique et numérique, les microcontrôleurs à usage général PIC16F(LF)178X sont idéaux pour les applications du type éclairage par LED, gestion de batteries, alimentation numérique et contrôle de moteurs entre autres. les normes relatives à la consommation énergétique se multiplient dans le monde entier. Grâce aux microcontrôleurs PIC16F(LF)178X, les développeurs peuvent créer de meilleurs produits moins gourmands en énergie.Le cœur 8 bits milieu de gamme amélioré de Microchip permet de meilleures performances, dont une vitesse de 32 MHz, l’enregistrement automatique du contexte pour une gestion plus rapide des interruptions, plus d’efficacité dans le jeu d’instructions avec une densité de code plus élevée, ainsi qu’un contrôle direct des ports plus rapide et plus performant.
  • 36. Merci pour votre attention 