0% ont trouvé ce document utile (0 vote)
97 vues48 pages

Architecture Et Fonctionnement Du Microcontrôleur PIC 16F84

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
97 vues48 pages

Architecture Et Fonctionnement Du Microcontrôleur PIC 16F84

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Programmation C embraquée

ISITCOM 2013-2014
3éme année Licence Télécom

Architecture et fonctionnement
du microcontrôleur PIC 16F84
Objectifs
2

Le but de ce chapitre est de :

• Présentation générale du micro-contrôleur PIC 16F84.

• Architecture interne du micro-contrôleur PIC 16F84.

• Principe de fonctionnement.

• TP1 Initiation PIC 16F84A.


3

Présentation du PIC
Présentation du PIC
4

 Un PIC est un microcontrôleur de MICROCHIP *

 PIC: Peripheral Interface Controller

 Caractérisé par:

• Séparation des mémoires de programmes et de données.

• Communication avec l’extérieur seulement avec des ports.

• Utilisation d’un jeu d’instructions réduit: RISC ( Reduced instruction set computer)

* [Link]
Identification des PICs
5

 Un PIC est identifié par un numéro de la forme


suivante: xx(L) XXyy-zz (Exp : 16F84A)
 xx: famille du composant.
 L : Tolérance plus importante de la plage de tension .
 XX: Type de mémoire de programme:
 C: EPROM ou EEPROM.
 CR: PROM.
 F: Flush.
 yy: Identification.
 zz: Vitesse maximale du quartz.
Les familles des PICs
6

 La famille PIC 16F dispose de 3 sous-familles :

1. Base-Line : Les instructions sont codées sur 12 bits.

2. Mid-Range, qui utilise des mots de 14 bits.

3. High-End, qui utilise des mots de 16 bits.

On s’ intéresse dans ce cours à la famille Mid-Range.


Exemple
7

 Dans ce module, on va étudier le microcontrôleur PIC


16F 84 -10.

 16: Mid-Range (14 bits).


 F: mémoire Flush.
 84: Type.
 10: Quartz à 10 MHZ au maximum.

.
Pourquoi un PIC
8

1. Les performances sont identiques voir supérieurs à


ses concurrents.
2. Les prix sont les plus bas du marché.
3. Très utilisé donc très disponible.
4. Les outils de développement sont gratuits et
téléchargeables sur le WEB.
5. Le jeu d'instruction réduit est souple, puissant et
facile à maîtriser.
6. Les versions avec mémoire flash présentent une
souplesse d'utilisation et des avantages pratiques
indéniables .
Brochage
9

 Le PIC 16F84 est un circuit intégré de 18 broches.


 Le PIC 16F84 peut être présenté sous forme d’un:
 Boitier DIP (Plastic Dual In-line Package) à 18 broches

 Boitier SOIC (Small Outline Integrated Circuit)


Brochage
10
Architecture Interne
11

 La structure générale du PIC 16F84 comporte 4


blocs :
 Mémoire de programme,
 Mémoire de données,
 Processeur,
 Ressources auxiliaires ( périphériques ).
Architecture interne
12
Processeur
13

 Le processeur est composé en deux parties:

 Unité arithmétique et logique(UAL): Chargé d’ exécuter les


opérations arithmétiques ( addition, soustraction, division,…) et
logiques ( ET, Non, AND,…. ).

 Registre de Travail noté W.


Ressources auxiliaires
14

 Les ressources auxiliaires dans le PIC 16F84 sont:


 Ports d’entrées et de sorties.

 Temporisateur.

 Interruptions.

 Chien de garde.

 Mode sommeil.
15

Organisation de la mémoire
Deux mémoires
16

 Le PIC 16F84 est conçu selon l’architecture de


Harvard donc il possède 2 mémoires:
 Mémoire de programme.
 Mémoire des données.
Mémoire de programme
17

 La mémoire programme est constituée de 1K mots


de 14 bits(1024 emplacements).
 Elle contient le programme à exécuter .
 C’est une mémoire non volatile de type FLASH.
 La technologie utilisée permet plus de 1000 cycles
d’effacement et de programmation
Mémoire de programme
18

 Le PIC 16F84 possède un compteur ordinal qui


permet d’adresser 8K * 14 bits.
 L'adresse 0000h contient le vecteur du reset.
 l'adresse 0004h l'unique vecteur d'interruption du
PIC .
 La pile contient 8 valeurs: Ce sont des zones
réservées par le système( pas d’adresse).
Mémoire de programme
19
Mémoire de données
20

 Séparée en deux espaces:


1. Mémoire RAM de 68 octets.
 Mémoire volatile.
 Mot mémoire: 8 [Link]
 Elle contient deux partie:
 Les SFR ( Special Function Registers) qui permet de contrôler les opérations
sur le circuit.
 La seconde partie contient des registres généraux (GPR: General Purpose
Registers) , libres pour l'utilisateur.

2. Mémoire EEPROM de 64 octets.


 Accessible pour lecture et écriture.
 Non volatile.
 Plus lente que la RAM.
 On y accède à l'aide des registres EEADR et EEDATA sous le contrôle de deux
registres de contrôle EECON1 et EECON2.
Mémoire de données
21

 La mémoire donnée est divisée en deux banques:


 La banque 0 est sélectionnée en mettant le bit RP0 du
registre STATUS a 0.
 La banque 1 est sélectionnée en mettant le bit RP0 du
registre STATUS a 1.
 Chaque banque est composée de 128 octets.
 Les 12 premières ligne de chaque banques sont
réservées pour les SFR (Special Function Registers).
Mémoire de données
22
Registre STATUS
23
Mémoire EEPROM de données
24

 La mémoire EEPROM de données est constituée de


64 octets 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 EEPROM
25

Principe de fonctionnement
Principe de fonctionnement du PIC
26

 Un microcontrôleur exécute des instructions.


 "le cycle instruction " : le temps nécessaire à
l’exécution d’une instruction.
 Une instruction est exécutée en deux phases :
 Phase de recherche du code binaire de l’instruction stocké
dans la mémoire de programme.
 Phase d’exécution de l’instruction.
Principe de fonctionnement du PIC
27

 Normalement l’exécution d’un instruction dure 8


cycles d’horloges.
 L’architecture particulière des PICs(Bus différents
pour les données et le programme) lui permet de
réduire ce temps par deux.
28

Les ports d’Entrée/Sortie


Ports d’ Entrée / Sortie
29

 Le 16F84 possède 2 ports d’entrée sortie:

 Port A (PORTA).

 Port B (PORTB).
PORTA et registre TRISA
30

 Le port A désigné par PORTA est un port de 5 bits


(RA0 à RA4).
 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
PORTA et registre TRISA
31

 La broche RA4 est multiplexée avec l'entrée


horloge du Timer TMR0.
 Elle peut être utilisée soit:
 comme E/S normale du port A,
 comme entrée horloge pour le Timer TMR0

 le choix se fait à l'aide du bit T0CS du registre


OPTION_REG.
PORTA et registre TRISA
32

 RA4 est une E/S à drain ouvert, si on veut l'utiliser


comme sortie (pour allumer une LED par
exemple), il ne faut pas oublier de mettre une
résistance externe vers Vdd.
 Si RA4 est positionnée à 0, l'interrupteur est
fermé, la sortie est reliée à la masse.
 Si RA4 est placée à 1, l'interrupteur est ouvert,
la sortie est déconnectée d'où la
nécessite de la résistance externe.

LED rouges de 20mA (tension de seuil égale à 1.8V).


PORTB et registre TRISB
33

 Le port B désigné par PORTB est un port


bidirectionnel de 8 bits (RB0 à RB7).
 La configuration de direction se fait à l'aide du
registre TRISB.
 Même configuration que le PORTA.
 En entrée, la ligne RB0 appelée aussi INT peut
déclencher l’interruption externe INT.
 En entrée, une quelconque des lignes RB4 à RB7
peut déclencher l'interruption RBI.
34

Mise en œuvre
Mise en œuvre
35

 L’utilisation et la mise en œuvre très simple des


PICs les a rendus extrêmement populaire.
 Pour faire fonctionner le PIC, il suffit de:
 Alimenter le circuit par ses deux broches VDD et VSS,
 fixer sa vitesse de fonctionnement à l’aide d’un quartz,
 d’élaborer un petit système pour permettre de réinitialiser le
microcontrôleur sans avoir à couper l’alimentation.

Horloge
36

 L'horloge peut être soit interne soit externe ou interne.


 L'horloge interne est constituée d'un oscillateur à quartz ou
d'un oscillateur RC.

 Avec l'oscillateur à Quartz, on peut avoir des fréquences


allant jusqu'à 4, 10 ou 20 MHz selon le type de
microcontrôleur.

 Dans certains cas, une horloge externe au microcontrôleur


peut être utilisée pour synchroniser le PIC sur un processus
particulier.
Horloge
37

 Oscillateur a quartz
Horloge
38

 Oscillateur RC
Horloge
39

 Horloge externe
Horloge
40

 Quelque soit l'oscillateur utilisé, l'horloge système


dite aussi horloge instruction 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 temps pour exécuter
une instruction de 1μs
Reset
41

 Le reset se fait généralement via l’entrée MCLR


(broche 4).

42

TP1 Initiation PIC 16F84A


TP1: Clignotement d’un LED
43
TP1: Clignotement d’un LED
44

 Trouver la valeurs du registres TRISA


(…………………)16
 Ecrire le programme MicroC correspondant à ce
cahier de charge.
 Modifier TH et TB.

© ESPRIT 2009 [Link] & [Link]


TP1: Clignotement d’un LED
45
46

Merci
Lecture dans la EEPROM
47

1. Placer l’adresse relative dans EEADR

2. Mettre le bit RD de EECON1 à 1

3. Lire le contenu du registre EEDATA


Ecriture dans la EEPROM
48

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

Vous aimerez peut-être aussi