SlideShare une entreprise Scribd logo
1  sur  27
 Un PIC : 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 de composants externes.
• Les performances sont identiques voir supérieurs à ses
concurrents
• Les prix sont les plus bas du marché
• Très utilisé donc très disponible
• Les outils de développement sont gratuits et téléchargeables sur
le WEB
• Le jeu d'instruction réduit est souple, puissant et facile à maîtriser
oscillateur
Entrée interruption
externe
Entrée horloge externe
pour le timer TMRO
reset
Port A Port B
A4 A3 A2 A1 A0 B7 B6 B5 B4 B3 B2 B1 B0
• Une mémoire programme de type flash de 1K (1024) mots de 14 bits
• Une mémoire RAM constituée :
o Des registres de control SFR (Special Function Registers)
o 68 octets de RAM utilisateur appelés aussi GPR (General
Propose Resisters)
• Une mémoire EEPROM de donnée de 64 octets
• Deux ports d'entrée sortie, un de 8 bits et un de 5 bits
• Un timer/Compteur cadencé par une horloge interne ou externe
• Un chien de garde / compteur qui est un timer particulier
• Un prédiviseur de fréquence programmable
• 4 sources d'interruption
• L'horloge peut être générée par 4 types d'oscillateurs sélectionnables
• Protection de code
• Fonctionnement en mode sleep pour réduction de la consommation
68
Le programme est implanté dans la flash à l'aide d'un programmateur
(hard+soft)
* Cette mémoire de 1024 mots stocke le programme.
* Elle est non volatile et reprogrammable à souhait.
* Chaque position de 14 bits contient une instruction.
* Suite à un RESET ou lors de la mise sous tension, le PIC commence
l'exécution à l'adresse 0000H.
* Lorsqu'il y a une interruption, le PIC va à l'adresse 0004H.
Reset+mise s tension 0000h
interruption 0004h
03FFh
Deux parties:
1-Les registres SFR
(Special Function Register)
Fichier registres ce sont les registres
de fonctionnement du pic
2-Les registres GPR
(General Propose Register) :
ce sont les positions memoires pour
Stocker les informations et les variables
Registre status
0: bank 0
1: bank 1
* 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.
* L'accumulateur W est un registre de travail 8 bits,
* Le résultat de l'opération peut être placé soit dans le registre de travail W
soit dans le registre F.
L'horloge peut être soit interne soit externe.
L'horloge interne est constituée d'un oscillateur à quartz ou d'un oscillateur RC.
NB
l'horloge système dite aussi
horloge instruction est obtenue en
divisant la fréquence par 4.
Le port A désigné par PORTA est un port de 5 bits (RA0 à RA4). Chaque E/S
est compatible TTL. La configuration de direction pour chaque bit du port est
Déterminée avec le registre 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 Timer TMR0, le choix se fait à l'aide du bit
T0CS du registre OPTION_REG.
• T0CS = 0 RA4 est une E/S normale
• T0CS = 1 RA4 = horloge externe pour le timerTMR0
Remarque-------------------------------------------------------------------------------------------
* La configuration de direction se fait à l'aide du registre TRISB.
(Voir PORTA / TRISA)
.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
Il est incrémenté soit par horloge interne Fosc/4 soit par
une horloge externe appliquée à la broche RA4 du port
A. Le choix de l'horloge se fait à l'aide du bit T0CS(bit 6)
du registre OPTION_REG
TOCS = 0 horloge interne
TOCS = 1 horloge externe
appliquée à RA4
1
0
0 avec prédivi
1 sans prédivi
Rapport de division
 L’accès au timer en lecture/écriture
Se fait via le registre TMRO d’adresse
01h page0
 au débordement de TMRO (ff à 00);
Le drapeau TOIF est placé à 1 ceci
peut déclencher une interruption si elle
est validée
compteur 8 bits incrémenté en permanence par une horloge
RC intégrée indépendante de l'horloge système meme en
mode SLEEP, lorsque il déborde (FF à 00)(Time out == 18
ms):
 reset (en fonctionnement normale), commence a l’adresse
0000h
 wake up (en mode sleep), exécute l’instruction après
SLEEP.
Précaution d’utilisation du WDT:
Inhiber le WDT de façon permanente dans l’EEPROM
de configuration
Remettre le WDT à 0 periodiquement dans le programme
(CLRWDT) pour qu’il ne déborde
Instruction SLEEP Programme arrêté(faible consommation)
Sortir du mode sleep WAKE-UP ( 3 possibilités)
 RESET externe sur entrée MCLR
 TIME_out du WDT s’il est validé
 Interruption INT (sur RB0) ou RBI (RB4-7)
ou EEI ( fin d’écriture dans EEPROM données)
Le pic reprend a partir de 0000h
Le pic reprend A partir
instruction après SLEEP
+
Validation du bit validation de l’interruption en
question
GIE=0
GIE=1
Exécution inst après SLEEP
Et branchement a 0004h
Le pic reprend A partir
instruction après SLEEP
Bits de validation: EEIE ;TOIE; INTE et RBIE
Flags ou drapeaux: TOIF; INTF; et BRIF INTCON
Drapeau de EEIE dans registre EECON1
GIE: bit de validation globale d’interruption
Adresse: 2007h
Mot de configuration
FOSC1:FOSC0 Sélection du type d'oscillateur pour l'horloge
WDTE validation du timer WDT (chien de garde)
PWRTE validation d'une temporisation à la mise sous tension
CP Protection en lecture du code programme
C: (carry ) =1 si le résultat dépasse FF ou si le résultat est négative
DC (digital carry) =1 si une retenue est produite entre bit 3 et 4
Z(zéro) =1 si le résultat est nul
5 drapeaux a lecture seule
1- instructions orienté octet (Adressage direct)
OPCODE d f
d=0 résultat dans W
d=1 résultat dans f
f :la donnée est contenue dans le registre f
2- instructions orientés bit OPCODE b f
b= spécifiant le bit a manipuler
f= adresse de registre concerné
3. Instructions opérant sur une donnée
(adressage immédiat) OPCODE K
K :la donnée est contenue dans l’instruction
Ex ADDWF 2Ch,0
MOVF 2Bh,0
MOVWF EEDATA
Ex BCF EECON,4
EX ADDLW 05h
4. Les instructions de saut et d’appel de procédures
OPCODE K
Les instructions Call et GOTO EXP Call tito
5. Adressage indirect En utilisant le registre FSR et INDF
EX MOVLW 1Ah
MOVWF FSR
MOVF INDF,0
1A dans W
Charger W contenant 1A dans FSR
Charge valeur contenue à l’adresse 1Ah dans W
On connecte un interrupteur sur RB0 (entrée) et une
LED sur RB1 (sortie) ; Si on place l'interrupteur à 1(1),
la LED doit s'allumer, si on le met à zéro(2), elle doit
s'éteindre; établir l’organigramme et le programme
assembleur correspondant
(1)
(2)
RB0 RB1
16f84
LED
LIST p=16f84A, f=inhx8m, r = dec
INCLUDE "p16f84A.inc"
__CONFIG _CP_OFF & _XT_OSC & _PWRTE_OFF & _WDT_OFF
bsf STATUS,RP0 ; bank 1
movlw B'00000001'
movwf TRISB ; pour configurer RB0 en entrée
bcf STATUS,RP0 ; bank 0
tst btfss PORTB,0
goto off
bsf PORTB,1
goto tst
off bcf PORTB,1
goto tst
end

Contenu connexe

Tendances

Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
TheCrazyMan
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
yassinesmz
 
Chapitre ii circuits combinatoires
Chapitre ii circuits combinatoiresChapitre ii circuits combinatoires
Chapitre ii circuits combinatoires
Sana Aroussi
 

Tendances (20)

Cours pics16 f877
Cours pics16 f877Cours pics16 f877
Cours pics16 f877
 
STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
 
Microcontroleurs
MicrocontroleursMicrocontroleurs
Microcontroleurs
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduino
 
Systèmes de logiques séquentielles-Bascules
Systèmes de logiques séquentielles-BasculesSystèmes de logiques séquentielles-Bascules
Systèmes de logiques séquentielles-Bascules
 
Formation arduino 2018
Formation arduino 2018Formation arduino 2018
Formation arduino 2018
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
 
Microcontroleurs
MicrocontroleursMicrocontroleurs
Microcontroleurs
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1
 
Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 
Présentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODPrésentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HOD
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
Automates Programmables Industriels (API).pdf
Automates Programmables Industriels (API).pdfAutomates Programmables Industriels (API).pdf
Automates Programmables Industriels (API).pdf
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..
 
introduction automatisme industriel
introduction automatisme industrielintroduction automatisme industriel
introduction automatisme industriel
 
Chapitre ii circuits combinatoires
Chapitre ii circuits combinatoiresChapitre ii circuits combinatoires
Chapitre ii circuits combinatoires
 
Tp bus i2_c_partie_2
Tp bus i2_c_partie_2Tp bus i2_c_partie_2
Tp bus i2_c_partie_2
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codee
 

Similaire à presentation pic 16f84.ppt

Automate programmable industriepar_www.cours-electromecanique.com_
Automate programmable industriepar_www.cours-electromecanique.com_Automate programmable industriepar_www.cours-electromecanique.com_
Automate programmable industriepar_www.cours-electromecanique.com_
med benchaib
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mohamedsaidi212001
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2
youri59490
 
PréSentation Tsx37
PréSentation Tsx37PréSentation Tsx37
PréSentation Tsx37
youri59490
 

Similaire à presentation pic 16f84.ppt (20)

Microcontrôleur PIC Microchip part2/2
Microcontrôleur PIC Microchip part2/2Microcontrôleur PIC Microchip part2/2
Microcontrôleur PIC Microchip part2/2
 
Etude-Du-Microcontrleur-Pic16f84-160919133655
Etude-Du-Microcontrleur-Pic16f84-160919133655Etude-Du-Microcontrleur-Pic16f84-160919133655
Etude-Du-Microcontrleur-Pic16f84-160919133655
 
Microcontroller/microcontroleur/pic.pptx
Microcontroller/microcontroleur/pic.pptxMicrocontroller/microcontroleur/pic.pptx
Microcontroller/microcontroleur/pic.pptx
 
pic16f84-200306072553.pdf
pic16f84-200306072553.pdfpic16f84-200306072553.pdf
pic16f84-200306072553.pdf
 
Pic 16 f84
Pic 16 f84Pic 16 f84
Pic 16 f84
 
Arduino cottenceau1112
Arduino cottenceau1112Arduino cottenceau1112
Arduino cottenceau1112
 
prog_reg.pptx
prog_reg.pptxprog_reg.pptx
prog_reg.pptx
 
Automate programmable industriepar_www.cours-electromecanique.com_
Automate programmable industriepar_www.cours-electromecanique.com_Automate programmable industriepar_www.cours-electromecanique.com_
Automate programmable industriepar_www.cours-electromecanique.com_
 
pres_chapter5 (5).pptx
pres_chapter5 (5).pptxpres_chapter5 (5).pptx
pres_chapter5 (5).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
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)
 
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
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
µP
µPµP
µP
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2
 
embarqués.pdf
embarqués.pdfembarqués.pdf
embarqués.pdf
 
Architecture 4
Architecture 4Architecture 4
Architecture 4
 
8. introduction a larchitecture arm
8. introduction a larchitecture arm8. introduction a larchitecture arm
8. introduction a larchitecture arm
 
PréSentation Tsx37
PréSentation Tsx37PréSentation Tsx37
PréSentation Tsx37
 
Codeur rizki
Codeur rizkiCodeur rizki
Codeur rizki
 

presentation pic 16f84.ppt

  • 1.
  • 2.
  • 3.  Un PIC : 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 de composants externes.
  • 4. • Les performances sont identiques voir supérieurs à ses concurrents • Les prix sont les plus bas du marché • Très utilisé donc très disponible • Les outils de développement sont gratuits et téléchargeables sur le WEB • Le jeu d'instruction réduit est souple, puissant et facile à maîtriser
  • 5.
  • 6. oscillateur Entrée interruption externe Entrée horloge externe pour le timer TMRO reset Port A Port B A4 A3 A2 A1 A0 B7 B6 B5 B4 B3 B2 B1 B0
  • 7.
  • 8. • Une mémoire programme de type flash de 1K (1024) mots de 14 bits • Une mémoire RAM constituée : o Des registres de control SFR (Special Function Registers) o 68 octets de RAM utilisateur appelés aussi GPR (General Propose Resisters) • Une mémoire EEPROM de donnée de 64 octets • Deux ports d'entrée sortie, un de 8 bits et un de 5 bits • Un timer/Compteur cadencé par une horloge interne ou externe • Un chien de garde / compteur qui est un timer particulier • Un prédiviseur de fréquence programmable • 4 sources d'interruption • L'horloge peut être générée par 4 types d'oscillateurs sélectionnables • Protection de code • Fonctionnement en mode sleep pour réduction de la consommation 68
  • 9. Le programme est implanté dans la flash à l'aide d'un programmateur (hard+soft) * Cette mémoire de 1024 mots stocke le programme. * Elle est non volatile et reprogrammable à souhait. * Chaque position de 14 bits contient une instruction. * Suite à un RESET ou lors de la mise sous tension, le PIC commence l'exécution à l'adresse 0000H. * Lorsqu'il y a une interruption, le PIC va à l'adresse 0004H. Reset+mise s tension 0000h interruption 0004h 03FFh
  • 10. Deux parties: 1-Les registres SFR (Special Function Register) Fichier registres ce sont les registres de fonctionnement du pic 2-Les registres GPR (General Propose Register) : ce sont les positions memoires pour Stocker les informations et les variables Registre status 0: bank 0 1: bank 1
  • 11. * 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. * L'accumulateur W est un registre de travail 8 bits, * Le résultat de l'opération peut être placé soit dans le registre de travail W soit dans le registre F.
  • 12. L'horloge peut être soit interne soit externe. L'horloge interne est constituée d'un oscillateur à quartz ou d'un oscillateur RC. NB l'horloge système dite aussi horloge instruction est obtenue en divisant la fréquence par 4.
  • 13. Le port A désigné par PORTA est un port de 5 bits (RA0 à RA4). Chaque E/S est compatible TTL. La configuration de direction pour chaque bit du port est Déterminée avec le registre 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 Timer TMR0, le choix se fait à l'aide du bit T0CS du registre OPTION_REG. • T0CS = 0 RA4 est une E/S normale • T0CS = 1 RA4 = horloge externe pour le timerTMR0 Remarque-------------------------------------------------------------------------------------------
  • 14. * La configuration de direction se fait à l'aide du registre TRISB. (Voir PORTA / TRISA) .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
  • 15. Il est incrémenté soit par horloge interne Fosc/4 soit par une horloge externe appliquée à la broche RA4 du port A. Le choix de l'horloge se fait à l'aide du bit T0CS(bit 6) du registre OPTION_REG TOCS = 0 horloge interne TOCS = 1 horloge externe appliquée à RA4 1 0 0 avec prédivi 1 sans prédivi Rapport de division
  • 16.  L’accès au timer en lecture/écriture Se fait via le registre TMRO d’adresse 01h page0  au débordement de TMRO (ff à 00); Le drapeau TOIF est placé à 1 ceci peut déclencher une interruption si elle est validée
  • 17. compteur 8 bits incrémenté en permanence par une horloge RC intégrée indépendante de l'horloge système meme en mode SLEEP, lorsque il déborde (FF à 00)(Time out == 18 ms):  reset (en fonctionnement normale), commence a l’adresse 0000h  wake up (en mode sleep), exécute l’instruction après SLEEP.
  • 18. Précaution d’utilisation du WDT: Inhiber le WDT de façon permanente dans l’EEPROM de configuration Remettre le WDT à 0 periodiquement dans le programme (CLRWDT) pour qu’il ne déborde
  • 19. Instruction SLEEP Programme arrêté(faible consommation) Sortir du mode sleep WAKE-UP ( 3 possibilités)  RESET externe sur entrée MCLR  TIME_out du WDT s’il est validé  Interruption INT (sur RB0) ou RBI (RB4-7) ou EEI ( fin d’écriture dans EEPROM données) Le pic reprend a partir de 0000h Le pic reprend A partir instruction après SLEEP + Validation du bit validation de l’interruption en question GIE=0 GIE=1 Exécution inst après SLEEP Et branchement a 0004h Le pic reprend A partir instruction après SLEEP
  • 20. Bits de validation: EEIE ;TOIE; INTE et RBIE Flags ou drapeaux: TOIF; INTF; et BRIF INTCON Drapeau de EEIE dans registre EECON1 GIE: bit de validation globale d’interruption
  • 21. Adresse: 2007h Mot de configuration FOSC1:FOSC0 Sélection du type d'oscillateur pour l'horloge WDTE validation du timer WDT (chien de garde) PWRTE validation d'une temporisation à la mise sous tension CP Protection en lecture du code programme
  • 22.
  • 23. C: (carry ) =1 si le résultat dépasse FF ou si le résultat est négative DC (digital carry) =1 si une retenue est produite entre bit 3 et 4 Z(zéro) =1 si le résultat est nul 5 drapeaux a lecture seule
  • 24. 1- instructions orienté octet (Adressage direct) OPCODE d f d=0 résultat dans W d=1 résultat dans f f :la donnée est contenue dans le registre f 2- instructions orientés bit OPCODE b f b= spécifiant le bit a manipuler f= adresse de registre concerné 3. Instructions opérant sur une donnée (adressage immédiat) OPCODE K K :la donnée est contenue dans l’instruction Ex ADDWF 2Ch,0 MOVF 2Bh,0 MOVWF EEDATA Ex BCF EECON,4 EX ADDLW 05h
  • 25. 4. Les instructions de saut et d’appel de procédures OPCODE K Les instructions Call et GOTO EXP Call tito 5. Adressage indirect En utilisant le registre FSR et INDF EX MOVLW 1Ah MOVWF FSR MOVF INDF,0 1A dans W Charger W contenant 1A dans FSR Charge valeur contenue à l’adresse 1Ah dans W
  • 26. On connecte un interrupteur sur RB0 (entrée) et une LED sur RB1 (sortie) ; Si on place l'interrupteur à 1(1), la LED doit s'allumer, si on le met à zéro(2), elle doit s'éteindre; établir l’organigramme et le programme assembleur correspondant (1) (2) RB0 RB1 16f84 LED
  • 27. LIST p=16f84A, f=inhx8m, r = dec INCLUDE "p16f84A.inc" __CONFIG _CP_OFF & _XT_OSC & _PWRTE_OFF & _WDT_OFF bsf STATUS,RP0 ; bank 1 movlw B'00000001' movwf TRISB ; pour configurer RB0 en entrée bcf STATUS,RP0 ; bank 0 tst btfss PORTB,0 goto off bsf PORTB,1 goto tst off bcf PORTB,1 goto tst end