SlideShare une entreprise Scribd logo
1  sur  38
Présentée par :
MOHAMED BABAOUI
Les microcontrôlleurs PIC
1
2
3
4
5
6
7
Microprocesseur / microcontrôleur?
Quelle est la difference ?
Un microprocesseur est un moteur de calcul programmable constitué
d’une unité arithmétique et logique, d’un processeur et de registres,
capable d’effectuer des calculs et de prendre des décisions.
Tandis qu’un microcontrôleur est un microprocesseur spécialisé
considéré comme un ordinateur sur une puce car il intègre
des composants tels qu’un microprocesseur, une mémoire et des E/S.
1
Microprocesseur / microcontrôleur?
Architecture d’un
microprocesseur
Architecture d’un
microcontrôleur
2
Un microcontrôleur est un circuit intégré qui rassemble les éléments
essentiels d'un ordinateur.
Les microcontrôleurs se caractérisent par un plus haut degré
d'intégration, une plus faible consommation électrique, une vitesse d
e fonctionnement plus faible et un coût réduit par rapport aux
microprocesseurs polyvalents utilisés dans les ordinateurs personnels
Définition d’un microcontrôlleur
3
Les architectures des microcontrôleur
Von Neuman Harvard
Le μP utilise le même canal
d’échange pour lire les instruction
s et manipuler des données :
le bus de données.
La CPU utilise 2 canaux d'échange(
lire les instructions et manipuler les
données) : le bus instruction et le b
us de donnée.
4
Programmation des microcontrôleurs
les uCs se programmaient en assembleur. Fortement
bas niveau 'assembleur posa et pose toujours d'énormes problèmes
pour la maintenance et l'évolution des logiciels embarqués.
On utilise de plus en plus des langages de haut niveau, notamment l
e langage C , capable de faciliter la programmation de uC.
Une base solide en
Langage C embaquée est requise
pour
programmer les microcontrolleurs !!
5
Différence entre CISC et RISC
RISC et CISC sont les caractérisations de jeux d'instructions
informatiques qui font partie de l'architecture informatique
RISC
les jeux d'instructions contiennent
généralement moins de 100 instructions et
utilisent un format d'instructions fixe
Il utilise quelques modes d'adressage
simples.
Des instructions basées sur des registres
sont utilisées, ce qui signifie qu'un mécanis
me d'enregistrement pour enregistrer est
utilisé.
les jeux d'instructions contient environ 120
à 350 instructions. Il utilise des formats
d'instruction / données variables, mais un
petit ensemble de registres à usage général
, à savoir 8-24. La raison des grands
ensembles d'instructions est l'utilisation
d'instructions à format variable. Un grand
nombre d'opérations de référence de
mémoire sont exécutées en utilisant un
nombre énorme de modes d'adressage.
CISC
6
Familles de microcontrôleurs
Et autres familles ….
7
Le microcontrôleur PIC de MICROCHIP
Un PIC est un microcontrôleur, c’est une unité de traitement de l’information
de type microprocesseur à laquelle on a ajouté des périphériques internes
permettant de faciliter l'interfaçage avec le monde extérieur sans nécessiter l’ajout d
e composants externes.
Les PICs sont des composants RISC L'avantage est que plus on réduit le nombre d’i
nstructions, plus facile et plus rapide en est le décodage, et plus vite le composant
fonctionne.
8
Le microcontrôleur PIC
Le nom PIC initialement appelé "Peripheral Interface Controller".
Un PIC est 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.
Exemple :
16F84A/16F877-16F876….
C EEPROM
CR ROM
FFLASH
9
LE PIC 16F84
10
LE PIC 16F84
Architecture interne du pic 16F84 Aspect externe du pic 16F84
11
La mémoire FLASH
Adresse Contenu(14 bits)
0X0000
0X0004
Mot 1
Mot 2
Mot 3
Mot 1024
Mot 4
.…….
Elle est non volatile et
reprogrammable à
Souhait e PIC commence
l'exécution à l'adresse
0X0000
De plus, lorsqu'il y a
une interruption, le PIC va
à l'adresse 0X0004
12
La mémoire RAM - Registres
IRP RP1 RP0 T0 PD Z DC CRegistre STATUS
La mémoire RAM est constituée de deux parties :
• Les registres SFR (Special Function Register)
• Les registres GPR (General Propose Register)
La mémoire RAM est organisée en deux banks,
le bit RP0 du registre STATUS. (RP0 = 0
→ Bank 0, RP0 = 1 → Bank 1)
Pour la mémoire utilisateur,
l'utilisation des pages (Bank) n'est
pas nécessaire puisque le Bank
1 est "mapped" avec le Bank0.
13
La mémoire RAM - Registres
Etat de quelque registre à l'initialisation
Lors de démarrage du Pic les registres ont
des valeurs par défaut
Pour faire fnctionner le Pic dépend nos
objectifs il faut faire attention à l’état
initiale de ces registeres
L'ALU et le registre W
W
UAL
16 registres
système
User RAM(64 octets)
Registre F
Résultat
C'est une ALU 8 Bits qui réalise
les opérations arithmétique et
logique entre l'accumulateur W
et n'importe quel autre registre
'F' ou constante K
Le résultat de
l'opération peut
être placé soit
dans le registre de
travail W soit dans l
e registre F.
14
L'Horloge
L'horloge peut être soit interne soit
externe.
L'horloge interne est constituée d’un
oscillateur à quartz ou d'un oscillateur
RC.
L'horloge système est obtenue en divisant
la fréquence par 4.
Avec un quartz de 4 MHz, on obtient une
horloge instruction de 1 MHz, soit le tem
ps pour exécuter une instruction de 1µs
𝑇 =
1
𝐹𝑜𝑠𝑐
=
4
𝐹𝑒𝑥𝑡
15
Le port d’E/S PORTA
RA4 RA3 RA2 RA1 RA0
Compatibles TTL
La configuration de direction pour chaque bit du port est déterminée avec le re
gistre TRISA.
• Bit i de TRISA = 0 bit i de PORTA configuré en sortie
• Bit i de TRISA = 1 bit i de PORTA configuré en entrée
La broche RA4 peut donc être utilisée
soit comme E/S normale du port A, soit comme entrée horloge pour le Tim
er TMR0
• T0CS = 0 RA4 est une E/S normale
• T0CS = 1 RA4 = horloge externe pour le timerTMR0
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0Registre OPTION_REG
16
Le port B
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
Compatibles TTL
La configuration de direction se fait à l'aide du registre TRISB.
• Bit i de TRISB = 0 bit i de PORTB configuré en sortie
• Bit i de TRISB = 1 bit i de PORTB configuré en entrée
En entrée, la ligne RB0 appelée
aussi INT peut déclencher l’inter
ruption externe INT.
En entrée, une quelconque des
lignes RB4 à RB7 peut déclench
er l'interruption RBI
17
Le Timer TMR0
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0Registre OPTION_REG
C’est un compteur 8 bits ayant les caractéristiques suivantes :
o TOCS = 0 horloge interne
o TOCS = 1 horloge externe appliquée à RA4
Dans le cas de l'horloge externe.
o TOSE = 0 incrémentation sur fronts montants
o TOSE = 1 incrémentation sur fronts descendants
Quelque soit l'horloge choisie:
PSA = 0 on utilise le prédiviseur
PSA = 1 pas de prédiviseur (affecté au chien de garde)
18
Le Watchdog Timer WDT
C’est un compteur 8 bits incrémenté en permanence (même si le µC est en mode sleep)
(WDT TimeOut)
Si le µC est en
fonctionnement
normal, le WDT time-out
provoque un RESET
Si le µC est en mode
SLEEP, le WDT time-out
provoque un WAKE-UP
o PSA = 1 on utilise le prédiviseur
o PSA = 0 pas de prédiviseur (affecté à TMR0)
L'utilisation du WDT doit se faire avec précaution
mettant à 0 le bit WDTE dans l'EEPROM de
Configuration
remettre le WTD périodiquement avec
l’instrcution CLRWDT
19
Le mode SLEEP
Le PIC peut être placé en mode faible consommation à l'aide de l'instruction
SLEEP.
Pour sortir du mode SLEEP, il faut provoquer un WAKE-UP, pour cela il
y a 3 possibilités :
RESET externe dû
à l'initialisation
du PIC en
mettant l'entrée M
CLR à 0
Timeout du chien de g
arde WDT si
celui-ci est validé
Interruption INT (sur
RB0) ou RBI (sur RB4-
RB7) ou
EEI
20
La mémoire EEPROM de configuration
4 Mots d’identificationMot de configuration
0X2000
0x2007
le type de l'oscillateur
pour l'horloge
Validation WDT
Permettre ou interdire
la lecture de L’EEPROM
CP CP CP CP CP CP CP CP CP PWRTE WDTE FOSC0 FOSC0 FOSC0
21
La mémoire EEPROM de configuration
CP CP CP CP CP CP CP CP CP CP PWRTE WDTE FOSC1 FOSC0
FOSC
1
FOSC
0
Horloge
0 0 Oscillateur RC
0 1 Oscillateur HS
1 0 Oscillateur XT
1 1 Oscillateur LP
WDTE WDT
0 Validé
1 Inhibé
PWRTE Temporisation
0 Validé
1 Inhibé
CP Protection du code
0 Activée
1 Désactivée
22
La mémoire EEPROM de données
Cette mémoire est constituée de 64 octets commençant à l'adresse 0x2100 que l'on peut
lire et écrire depuis un programme.
Ces octets sont conservés après une coupure de courant et sont très utiles pour conserver
des paramètres semi permanents.
On y accède à l'aide des registres EEADR et EEDATA.
Deux registres de contrôle (EECON1 et EECON2) sont associés à la mémoire EEMROM.
Adresse Contenu
0X2100
…..
23
Procédure de lecture dans l'EEPROM
de données
• Placer l’adresse relative dans EEADR
• Mettre le bit RD de EECON1 à 1
• Lire le contenu du registre EEDATA
Procédure d'écriture dans l'EEPROM
de données
1. L'écriture dans L'EEPROM doit être autorisée :
bit WREN = 1
2. Placer l’adresse relative dans EEADR
3. Placer la donnée à écrire dans EEDATA
4. Placer 0x55 dans EECON2
5. Placer 0xAA dans EECON2
6. Démarrer l'écriture en positionnant le bit WR
7. Attendre la fin de l'écriture, (10 ms)
(EEIF=1 ou WR=0)
8. recommencer au point 2 si on a d'autres
données à écrire
- - - EEIF WRERR WREN WR RDRegistre EEICON1
La mémoire EEPROM de données
24
Les interruptions
Adresse Contenu(14 bits)
0X0000
0X0004
.…….
Bit de validation
globale des interruptions
GIE
INTRBIT0IEEI
INTFINTFEEIFEEIE T0IFT0IE RBIFRBIE
Dans l’interruption INT:
on choisit le front de déclenchement en agissant sur le bit INTEDG
du registre OPTION_REG
INTEDG front
0 Descendant
1 Montant
25
Le compteur program (PC) et L'adressage relatif
26
PCLPCH
Le PC contient l'adresse de la prochaine instruction que doit
exécuter le programme.
Le programme est stocké dans la mémoire de programme aux
adresses 0x0000 à 0x3FF (soit 1024 adresses).
(PCL) = B'10110011’
(PCLATH) =B'---00010’
(PC) = B'0001010110011' adresse 0x2B3
Les instructions du 16F84
26
 Les PICs Mid-Range ont un jeu de 35 instructions.
 Chaque instruction est codée sur un mot de 14 bits.
 L’instruction est constituée du code opération (OC) ainsi que
l'opérande
Les instructions
« orientées octet »
(adressage direct)
Les instructions
« orientées bits »
Les instructions opérant
sur une donnée
(adressage immédiat)
Les instructions
de saut et appel
de procédures
Exemples d’instructions:
MOVWF F recopie W dans le registre d'adresse F :
F (File) désigne l'adresse de n'importe quel registre SFR ou GPR. Pour les registres SFR
MOVWF 0x2C ; recopie W dans la case mémoire d'adresse 2Ch
MOVWF EEDATA ; recopie W dans le registre EEDATA
MOVF 0x08 ; recopie W dans le registre EEDATA
MOVF F,d ; recopie le registre F soit dans W soit dans lui-même
27
Le jeux d’instructions
Les instructions orientées Octets »
28
Le jeux d’instructions
Les instructions orientées bits»
Les instructions opérant sur donnés »
Les instructions Générales»
29
29
30
31
Adressage indirect
L'adressage indirect se fait par l'intermédiaire des registres FSR et
INDF.
Exemple
movf PORTB, W movlw H'06’
movwf FSR
movf INDF, W
Pic 16 f84

Contenu connexe

Tendances

Digital Signal Processor ( DSP ) [French]
Digital Signal Processor ( DSP )  [French]Digital Signal Processor ( DSP )  [French]
Digital Signal Processor ( DSP ) [French]Assia Mounir
 
Exercices-et-problemes-d-electrotechnique
Exercices-et-problemes-d-electrotechniqueExercices-et-problemes-d-electrotechnique
Exercices-et-problemes-d-electrotechniquemohatiareti
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoiresSana Aroussi
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1SinGuy
 
cour PIC16F877.pptx
cour PIC16F877.pptxcour PIC16F877.pptx
cour PIC16F877.pptxKamalZeghdar
 
Microcontroleur Pic16 F84
Microcontroleur Pic16 F84Microcontroleur Pic16 F84
Microcontroleur Pic16 F84guest1e7b02
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic nawzat
 
Prévention des risques électriques
Prévention des risques électriquesPrévention des risques électriques
Prévention des risques électriquesBoubakri Mohamed
 
Conception &amp; dimensionnement d'une installation photovoltaïque autonome
Conception &amp; dimensionnement d'une installation photovoltaïque autonomeConception &amp; dimensionnement d'une installation photovoltaïque autonome
Conception &amp; dimensionnement d'une installation photovoltaïque autonomesalem ben moussa
 
تمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automatesتمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automateselectrolouhla
 
Logiques sequentielle
Logiques sequentielleLogiques sequentielle
Logiques sequentielleAbdelAm20
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseurISIG
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREHajer Dahech
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codeeMohammedFassih
 
Rapport PFE installation electrique
Rapport PFE installation electriqueRapport PFE installation electrique
Rapport PFE installation electriqueZinebPROTIM
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le MicroprocesseurTheCrazyMan
 
cm_machine_synchrone.ppt
cm_machine_synchrone.pptcm_machine_synchrone.ppt
cm_machine_synchrone.pptIMADABOUDRAR1
 

Tendances (20)

Digital Signal Processor ( DSP ) [French]
Digital Signal Processor ( DSP )  [French]Digital Signal Processor ( DSP )  [French]
Digital Signal Processor ( DSP ) [French]
 
Exercices-et-problemes-d-electrotechnique
Exercices-et-problemes-d-electrotechniqueExercices-et-problemes-d-electrotechnique
Exercices-et-problemes-d-electrotechnique
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoires
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1
 
cour PIC16F877.pptx
cour PIC16F877.pptxcour PIC16F877.pptx
cour PIC16F877.pptx
 
Microcontroleur Pic16 F84
Microcontroleur Pic16 F84Microcontroleur Pic16 F84
Microcontroleur Pic16 F84
 
Chap1 intro 1pp
Chap1 intro 1ppChap1 intro 1pp
Chap1 intro 1pp
 
Ch6 pal fpla
Ch6 pal fplaCh6 pal fpla
Ch6 pal fpla
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic
 
Prévention des risques électriques
Prévention des risques électriquesPrévention des risques électriques
Prévention des risques électriques
 
Conception &amp; dimensionnement d'une installation photovoltaïque autonome
Conception &amp; dimensionnement d'une installation photovoltaïque autonomeConception &amp; dimensionnement d'une installation photovoltaïque autonome
Conception &amp; dimensionnement d'une installation photovoltaïque autonome
 
تمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automatesتمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automates
 
Logiques sequentielle
Logiques sequentielleLogiques sequentielle
Logiques sequentielle
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codee
 
Rapport PFE installation electrique
Rapport PFE installation electriqueRapport PFE installation electrique
Rapport PFE installation electrique
 
Chapitre3 prog dsplf3
Chapitre3 prog dsplf3Chapitre3 prog dsplf3
Chapitre3 prog dsplf3
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
 
cm_machine_synchrone.ppt
cm_machine_synchrone.pptcm_machine_synchrone.ppt
cm_machine_synchrone.ppt
 

Similaire à Pic 16 f84

Microcontrôleur PIC Microchip part2/2
Microcontrôleur PIC Microchip part2/2Microcontrôleur PIC Microchip part2/2
Microcontrôleur PIC Microchip part2/2Mohammed Lamghari
 
Microcontroller/microcontroleur/pic.pptx
Microcontroller/microcontroleur/pic.pptxMicrocontroller/microcontroleur/pic.pptx
Microcontroller/microcontroleur/pic.pptxSABIR Hamza
 
Arduino cottenceau1112
Arduino cottenceau1112Arduino cottenceau1112
Arduino cottenceau1112Hafid Moujane
 
Etude-Du-Microcontrleur-Pic16f84-160919133655
Etude-Du-Microcontrleur-Pic16f84-160919133655Etude-Du-Microcontrleur-Pic16f84-160919133655
Etude-Du-Microcontrleur-Pic16f84-160919133655Abdo Brahmi
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Karim Touati
 
8. introduction a larchitecture arm
8. introduction a larchitecture arm8. introduction a larchitecture arm
8. introduction a larchitecture armAbdelwahab Wahib
 
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.pdfAliRami3
 
presentation pic 16f84.ppt
presentation pic 16f84.pptpresentation pic 16f84.ppt
presentation pic 16f84.pptsaidmahfoud2
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptxSihemNasri3
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxFazaTabbana1
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmohamedsaidi212001
 
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 PicBasicmorin moli
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdfHouBou3
 
Projet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_pptProjet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_pptMouhcine Nid Belkacem
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
a_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdfa_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdfAnasAsran1
 

Similaire à Pic 16 f84 (20)

Microcontrôleur PIC Microchip part2/2
Microcontrôleur PIC Microchip part2/2Microcontrôleur PIC Microchip part2/2
Microcontrôleur PIC Microchip part2/2
 
Microcontroller/microcontroleur/pic.pptx
Microcontroller/microcontroleur/pic.pptxMicrocontroller/microcontroleur/pic.pptx
Microcontroller/microcontroleur/pic.pptx
 
Arduino cottenceau1112
Arduino cottenceau1112Arduino cottenceau1112
Arduino cottenceau1112
 
Etude-Du-Microcontrleur-Pic16f84-160919133655
Etude-Du-Microcontrleur-Pic16f84-160919133655Etude-Du-Microcontrleur-Pic16f84-160919133655
Etude-Du-Microcontrleur-Pic16f84-160919133655
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)
 
8. introduction a larchitecture arm
8. introduction a larchitecture arm8. introduction a larchitecture arm
8. introduction a larchitecture arm
 
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
 
prog_reg.pptx
prog_reg.pptxprog_reg.pptx
prog_reg.pptx
 
presentation pic 16f84.ppt
presentation pic 16f84.pptpresentation pic 16f84.ppt
presentation pic 16f84.ppt
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptx
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
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
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdf
 
le-pic-16f84.pdf
le-pic-16f84.pdfle-pic-16f84.pdf
le-pic-16f84.pdf
 
Projet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_pptProjet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_ppt
 
Tp bus i2_c
Tp bus i2_cTp bus i2_c
Tp bus i2_c
 
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
 
a_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdfa_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdf
 

Plus de babaoui mohamed

Plus de babaoui mohamed (9)

Rapport pfe BABAOUI MOHAMED
Rapport pfe BABAOUI MOHAMEDRapport pfe BABAOUI MOHAMED
Rapport pfe BABAOUI MOHAMED
 
Rapport pfe BABAOUI MOHAMED
Rapport pfe BABAOUI MOHAMEDRapport pfe BABAOUI MOHAMED
Rapport pfe BABAOUI MOHAMED
 
Datalogger finale
Datalogger finaleDatalogger finale
Datalogger finale
 
Asservissement de vitesse_du_mcc
Asservissement de vitesse_du_mccAsservissement de vitesse_du_mcc
Asservissement de vitesse_du_mcc
 
Tp3
Tp3Tp3
Tp3
 
Tp matlab dc machines partie 1
Tp matlab dc machines partie 1Tp matlab dc machines partie 1
Tp matlab dc machines partie 1
 
Rapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakizRapport tp matlab babaoui arrakiz
Rapport tp matlab babaoui arrakiz
 
Matlab simulink partie 2
Matlab simulink partie 2Matlab simulink partie 2
Matlab simulink partie 2
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 

Dernier

JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 

Dernier (11)

JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 

Pic 16 f84

  • 1. Présentée par : MOHAMED BABAOUI Les microcontrôlleurs PIC
  • 3. Microprocesseur / microcontrôleur? Quelle est la difference ? Un microprocesseur est un moteur de calcul programmable constitué d’une unité arithmétique et logique, d’un processeur et de registres, capable d’effectuer des calculs et de prendre des décisions. Tandis qu’un microcontrôleur est un microprocesseur spécialisé considéré comme un ordinateur sur une puce car il intègre des composants tels qu’un microprocesseur, une mémoire et des E/S. 1
  • 4. Microprocesseur / microcontrôleur? Architecture d’un microprocesseur Architecture d’un microcontrôleur 2
  • 5. Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur. Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible consommation électrique, une vitesse d e fonctionnement plus faible et un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels Définition d’un microcontrôlleur 3
  • 6. Les architectures des microcontrôleur Von Neuman Harvard Le μP utilise le même canal d’échange pour lire les instruction s et manipuler des données : le bus de données. La CPU utilise 2 canaux d'échange( lire les instructions et manipuler les données) : le bus instruction et le b us de donnée. 4
  • 7. Programmation des microcontrôleurs les uCs se programmaient en assembleur. Fortement bas niveau 'assembleur posa et pose toujours d'énormes problèmes pour la maintenance et l'évolution des logiciels embarqués. On utilise de plus en plus des langages de haut niveau, notamment l e langage C , capable de faciliter la programmation de uC. Une base solide en Langage C embaquée est requise pour programmer les microcontrolleurs !! 5
  • 8. Différence entre CISC et RISC RISC et CISC sont les caractérisations de jeux d'instructions informatiques qui font partie de l'architecture informatique RISC les jeux d'instructions contiennent généralement moins de 100 instructions et utilisent un format d'instructions fixe Il utilise quelques modes d'adressage simples. Des instructions basées sur des registres sont utilisées, ce qui signifie qu'un mécanis me d'enregistrement pour enregistrer est utilisé. les jeux d'instructions contient environ 120 à 350 instructions. Il utilise des formats d'instruction / données variables, mais un petit ensemble de registres à usage général , à savoir 8-24. La raison des grands ensembles d'instructions est l'utilisation d'instructions à format variable. Un grand nombre d'opérations de référence de mémoire sont exécutées en utilisant un nombre énorme de modes d'adressage. CISC 6
  • 9. Familles de microcontrôleurs Et autres familles …. 7
  • 10. Le microcontrôleur PIC de MICROCHIP Un PIC est un microcontrôleur, c’est une unité de traitement de l’information de type microprocesseur à laquelle on a ajouté des périphériques internes permettant de faciliter l'interfaçage avec le monde extérieur sans nécessiter l’ajout d e composants externes. Les PICs sont des composants RISC L'avantage est que plus on réduit le nombre d’i nstructions, plus facile et plus rapide en est le décodage, et plus vite le composant fonctionne. 8
  • 11. Le microcontrôleur PIC Le nom PIC initialement appelé "Peripheral Interface Controller". Un PIC est 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. Exemple : 16F84A/16F877-16F876…. C EEPROM CR ROM FFLASH 9
  • 13. LE PIC 16F84 Architecture interne du pic 16F84 Aspect externe du pic 16F84 11
  • 14. La mémoire FLASH Adresse Contenu(14 bits) 0X0000 0X0004 Mot 1 Mot 2 Mot 3 Mot 1024 Mot 4 .……. Elle est non volatile et reprogrammable à Souhait e PIC commence l'exécution à l'adresse 0X0000 De plus, lorsqu'il y a une interruption, le PIC va à l'adresse 0X0004 12
  • 15. La mémoire RAM - Registres IRP RP1 RP0 T0 PD Z DC CRegistre STATUS La mémoire RAM est constituée de deux parties : • Les registres SFR (Special Function Register) • Les registres GPR (General Propose Register) La mémoire RAM est organisée en deux banks, le bit RP0 du registre STATUS. (RP0 = 0 → Bank 0, RP0 = 1 → Bank 1) Pour la mémoire utilisateur, l'utilisation des pages (Bank) n'est pas nécessaire puisque le Bank 1 est "mapped" avec le Bank0. 13
  • 16. La mémoire RAM - Registres Etat de quelque registre à l'initialisation Lors de démarrage du Pic les registres ont des valeurs par défaut Pour faire fnctionner le Pic dépend nos objectifs il faut faire attention à l’état initiale de ces registeres
  • 17. L'ALU et le registre W W UAL 16 registres système User RAM(64 octets) Registre F Résultat C'est une ALU 8 Bits qui réalise les opérations arithmétique et logique entre l'accumulateur W et n'importe quel autre registre 'F' ou constante K Le résultat de l'opération peut être placé soit dans le registre de travail W soit dans l e registre F. 14
  • 18. L'Horloge L'horloge peut être soit interne soit externe. L'horloge interne est constituée d’un oscillateur à quartz ou d'un oscillateur RC. L'horloge système est obtenue en divisant la fréquence par 4. Avec un quartz de 4 MHz, on obtient une horloge instruction de 1 MHz, soit le tem ps pour exécuter une instruction de 1µs 𝑇 = 1 𝐹𝑜𝑠𝑐 = 4 𝐹𝑒𝑥𝑡 15
  • 19. Le port d’E/S PORTA RA4 RA3 RA2 RA1 RA0 Compatibles TTL La configuration de direction pour chaque bit du port est déterminée avec le re gistre TRISA. • Bit i de TRISA = 0 bit i de PORTA configuré en sortie • Bit i de TRISA = 1 bit i de PORTA configuré en entrée La broche RA4 peut donc être utilisée soit comme E/S normale du port A, soit comme entrée horloge pour le Tim er TMR0 • T0CS = 0 RA4 est une E/S normale • T0CS = 1 RA4 = horloge externe pour le timerTMR0 RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0Registre OPTION_REG 16
  • 20. Le port B RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 Compatibles TTL La configuration de direction se fait à l'aide du registre TRISB. • Bit i de TRISB = 0 bit i de PORTB configuré en sortie • Bit i de TRISB = 1 bit i de PORTB configuré en entrée En entrée, la ligne RB0 appelée aussi INT peut déclencher l’inter ruption externe INT. En entrée, une quelconque des lignes RB4 à RB7 peut déclench er l'interruption RBI 17
  • 21. Le Timer TMR0 RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0Registre OPTION_REG C’est un compteur 8 bits ayant les caractéristiques suivantes : o TOCS = 0 horloge interne o TOCS = 1 horloge externe appliquée à RA4 Dans le cas de l'horloge externe. o TOSE = 0 incrémentation sur fronts montants o TOSE = 1 incrémentation sur fronts descendants Quelque soit l'horloge choisie: PSA = 0 on utilise le prédiviseur PSA = 1 pas de prédiviseur (affecté au chien de garde) 18
  • 22. Le Watchdog Timer WDT C’est un compteur 8 bits incrémenté en permanence (même si le µC est en mode sleep) (WDT TimeOut) Si le µC est en fonctionnement normal, le WDT time-out provoque un RESET Si le µC est en mode SLEEP, le WDT time-out provoque un WAKE-UP o PSA = 1 on utilise le prédiviseur o PSA = 0 pas de prédiviseur (affecté à TMR0) L'utilisation du WDT doit se faire avec précaution mettant à 0 le bit WDTE dans l'EEPROM de Configuration remettre le WTD périodiquement avec l’instrcution CLRWDT 19
  • 23. Le mode SLEEP Le PIC peut être placé en mode faible consommation à l'aide de l'instruction SLEEP. Pour sortir du mode SLEEP, il faut provoquer un WAKE-UP, pour cela il y a 3 possibilités : RESET externe dû à l'initialisation du PIC en mettant l'entrée M CLR à 0 Timeout du chien de g arde WDT si celui-ci est validé Interruption INT (sur RB0) ou RBI (sur RB4- RB7) ou EEI 20
  • 24. La mémoire EEPROM de configuration 4 Mots d’identificationMot de configuration 0X2000 0x2007 le type de l'oscillateur pour l'horloge Validation WDT Permettre ou interdire la lecture de L’EEPROM CP CP CP CP CP CP CP CP CP PWRTE WDTE FOSC0 FOSC0 FOSC0 21
  • 25. La mémoire EEPROM de configuration CP CP CP CP CP CP CP CP CP CP PWRTE WDTE FOSC1 FOSC0 FOSC 1 FOSC 0 Horloge 0 0 Oscillateur RC 0 1 Oscillateur HS 1 0 Oscillateur XT 1 1 Oscillateur LP WDTE WDT 0 Validé 1 Inhibé PWRTE Temporisation 0 Validé 1 Inhibé CP Protection du code 0 Activée 1 Désactivée 22
  • 26. La mémoire EEPROM de données Cette mémoire est constituée de 64 octets commençant à l'adresse 0x2100 que l'on peut lire et écrire depuis un programme. Ces octets sont conservés après une coupure de courant et sont très utiles pour conserver des paramètres semi permanents. On y accède à l'aide des registres EEADR et EEDATA. Deux registres de contrôle (EECON1 et EECON2) sont associés à la mémoire EEMROM. Adresse Contenu 0X2100 ….. 23
  • 27. Procédure de lecture dans l'EEPROM de données • Placer l’adresse relative dans EEADR • Mettre le bit RD de EECON1 à 1 • Lire le contenu du registre EEDATA Procédure d'écriture dans l'EEPROM de données 1. L'écriture dans L'EEPROM doit être autorisée : bit WREN = 1 2. Placer l’adresse relative dans EEADR 3. Placer la donnée à écrire dans EEDATA 4. Placer 0x55 dans EECON2 5. Placer 0xAA dans EECON2 6. Démarrer l'écriture en positionnant le bit WR 7. Attendre la fin de l'écriture, (10 ms) (EEIF=1 ou WR=0) 8. recommencer au point 2 si on a d'autres données à écrire - - - EEIF WRERR WREN WR RDRegistre EEICON1 La mémoire EEPROM de données 24
  • 28. Les interruptions Adresse Contenu(14 bits) 0X0000 0X0004 .……. Bit de validation globale des interruptions GIE INTRBIT0IEEI INTFINTFEEIFEEIE T0IFT0IE RBIFRBIE Dans l’interruption INT: on choisit le front de déclenchement en agissant sur le bit INTEDG du registre OPTION_REG INTEDG front 0 Descendant 1 Montant 25
  • 29. Le compteur program (PC) et L'adressage relatif 26 PCLPCH Le PC contient l'adresse de la prochaine instruction que doit exécuter le programme. Le programme est stocké dans la mémoire de programme aux adresses 0x0000 à 0x3FF (soit 1024 adresses). (PCL) = B'10110011’ (PCLATH) =B'---00010’ (PC) = B'0001010110011' adresse 0x2B3
  • 30. Les instructions du 16F84 26  Les PICs Mid-Range ont un jeu de 35 instructions.  Chaque instruction est codée sur un mot de 14 bits.  L’instruction est constituée du code opération (OC) ainsi que l'opérande Les instructions « orientées octet » (adressage direct) Les instructions « orientées bits » Les instructions opérant sur une donnée (adressage immédiat) Les instructions de saut et appel de procédures Exemples d’instructions: MOVWF F recopie W dans le registre d'adresse F : F (File) désigne l'adresse de n'importe quel registre SFR ou GPR. Pour les registres SFR MOVWF 0x2C ; recopie W dans la case mémoire d'adresse 2Ch MOVWF EEDATA ; recopie W dans le registre EEDATA MOVF 0x08 ; recopie W dans le registre EEDATA MOVF F,d ; recopie le registre F soit dans W soit dans lui-même
  • 31. 27 Le jeux d’instructions Les instructions orientées Octets »
  • 32. 28 Le jeux d’instructions Les instructions orientées bits» Les instructions opérant sur donnés » Les instructions Générales»
  • 33. 29
  • 34. 29
  • 35. 30
  • 36. 31
  • 37. Adressage indirect L'adressage indirect se fait par l'intermédiaire des registres FSR et INDF. Exemple movf PORTB, W movlw H'06’ movwf FSR movf INDF, W