Vous êtes sur la page 1sur 10

18/03/2017 Memoire Online ­ Etude et application de microcontroleur 16f84 ­ Mustapha BOUZIANE

République Algérienne démocratique Et populaire

UNIVERSITE DE MASCARA
FACULTE DES SCIENCES ET DE LA TECHNOLOGIE
Génie Electrique Et Electronique

Pour obtenir
Diplôme d'Etude Universitaire Appliquée

Thème

Présenté par :

­ Mr BOUZIANE MUSTAPHA ­ Mr BESSAIM

BENALI

Encadré par : Mr Chaouche
Membre du jury :

Président du jury : M r AZZEDDINE Examinateurs : M r TAYBI

: M elle MESKINE

Année universitaire : 2006 / 2007

http://www.memoireonline.com/04/10/3446/m_Etude­et­application­de­microcontroleur­16f840.html 1/10
18/03/2017 Memoire Online ­ Etude et application de microcontroleur 16f84 ­ Mustapha BOUZIANE

Je dédie ce modeste travail à :

Ma grand­mère pour leur aides et leur
soutien durant toute la période de mes études
Ma mère et mon père,
la lumière de ma vie
Tous mes frères, ma famille et mes oncles
Et tous les habitants d'Adrar.
Mon binôme et tous mes amis

En fin à tout les étudiants
de génie électrique & électronique.

Bouziane Mustapha

http://www.memoireonline.com/04/10/3446/m_Etude­et­application­de­microcontroleur­16f840.html 2/10
18/03/2017 Memoire Online ­ Etude et application de microcontroleur 16f84 ­ Mustapha BOUZIANE

Je dédie ce modeste travail à :

Mes chers parents pou leur patience,
leur soutien et leur confiances

Mes frères, mes soeurs et mes oncles
A toute ma famille

A toute la familles Bessaïm

A mon binôme, notre encadreur et tous mes amis

En fin à moi­même et tous les étudiants
de génie électrique & électronique.

Bessaïm Benali

http://www.memoireonline.com/04/10/3446/m_Etude­et­application­de­microcontroleur­16f840.html 3/10
18/03/2017 Memoire Online ­ Etude et application de microcontroleur 16f84 ­ Mustapha BOUZIANE

Tous d'abord nous remercions

Le plus puissant qui nous donne le courage
de résoudre tout les problèmes.
Nous tenons à remercier tout ce qui nous ont
aidés de prés ou de loin par leur conseilles,
informations et leur encouragements pour
réaliser ce projet de fin d'étude ,ainsi à notre

encadreur Mr" Djamel chaouche ".

Nous remercions aussi tous les enseignants
de département de Génie Électrique.
En fin nous remercions tous nos amis
et les étudiants de 3éme année Génie
Électrique & Électronique

étude de PIC 16F84

1. Qu'est­ce qu'un PIC ? (PIC : Programmable IntelligentContrôler).

­ Un PIC n'est rien d'autre qu'un microcontrôleur, c'est à dire une unité de traitement de
l'information de type microprocesseur à laquelle on a ajouté des périphériques internes
http://www.memoireonline.com/04/10/3446/m_Etude­et­application­de­microcontroleur­16f840.html 4/10
18/03/2017 Memoire Online ­ Etude et application de microcontroleur 16f84 ­ Mustapha BOUZIANE

permettant de réaliser des montages sans nécessiter l'ajout de composants externes.

­  Les  PICs  sont  des  composants  dits  RISC  (Reduce  Instruction  Construction  Set),ou
encore  composant  à  jeu  d'instructions  réduit.  Pourquoi  ?  Et  bien,  sachez  que  plus  on
réduit le nombre d'instructions , plus facile et plus rapide en est le décodage , et plus
vite le composant fonctionne.

­  On  trouve  sur  le  marché  2  familles  opposées  ,  les  RISC  et  les  CISC  (Complex
Instructions Construction Set).Chez les CISC ,on diminue la vitesse de traitement, mais
les  instructions  sont  plus  complexes  ,  plus  puissantes  ,  et  donc  plus  nombreuses.  Il
s'agit donc d'un choix de stratégie.

[1]

2. Les différentes familles des PICs :

La famille des PICs est subdivisée à l'heure actuelle en 3 grandes familles : La famille
Base­Line , qui utilise des mots d'instructions de 12 bits, La famille Mid­Range , qui
utilise des mots d'instructions de 14 bits , La famille High­End, qui utilise des mots
d'instructions de 16 bits.

[1]

3. Identification d'un PIC :

Pour identifier un PIC, vous utiliserez simplement son numéro .

­Les 2 premiers chiffres indiquent la catégorie du PIC , 16 indique un PIC Mid­Range.

Vient ensuite parfois une lettre L : Celle­ci indique que le PIC peut fonctionner avec une plage de
tension beaucoup plus tolérante . Ensuite, vous trouvez :

C : indique que la mémoire programme est une EPROM ou plus rarement une EEPROM

CR : pour indiquer une mémoire de type ROM .

F : pour indiquer une mémoire de type FLASH.

­ Notez à ce niveau que seule une mémoire FLASH ou EEPROM est susceptible d'être effacée,

­ Puis vous constatez que les derniers chiffres identifient précisément le PIC (84) .

­  Finalement  vous  verrez  sur  les  boîtiers  le  suffixe  <<­XX  >>  dans  lequel  XX  représente  la
fréquence d'horloge maximale que le PIC peut recevoir. Exemple ­04 pour un 4MHz.

­ Donc, un 16F84­04 est un PIC Mid­Range (16) donc la mémoire programme est de type FLASH
(F) donc réinscriptible de type 84 et capable d'accepter une fréquence d'horloge de 4MHz. [1]

4. Brochage du PIC 16f84 :

­ Le PIC 16f84 c'est un circuit intégré, boîte de 18 branches. ­ Le brochage proposé à la (figure : 1­
1)

http://www.memoireonline.com/04/10/3446/m_Etude­et­application­de­microcontroleur­16f840.html 5/10
18/03/2017 Memoire Online ­ Etude et application de microcontroleur 16f84 ­ Mustapha BOUZIANE

( Figure : 1­1) Brochage du PIC 16 F84

4.1 Les branches ( les pattes ) :

­ Les ports d'entrées / sorties :

­  Permettent  de  dialoguer  avec  l'extérieur  du  microcontrôleur,  pare  exemple  pour  prendre  en
compte  l'état  d'un  interrupteur  (entrée  logique)  ou  encore  pour  commander  un  relais  (  sortie
logique ) .

­ Le PIC 16F84 possède 13 lignes d'entrées / sorties : RB0 à RB7 et RA0 à RA4.

RA0 à RA4 : Constituent le (PORTA) du microcontrôleur ce port bidirectionnel . ­La ligne RA4de
type drain ouvert en sortie peut aussi être utilisée comme entrée d'horloge du compteur (Timer) ,
TMR0 .

RB0 et RB7 : Constituent le PORTB du microcontrôleur , ce port bidirectionnel. ­ La ligne RB0 peut
servir d'entrée de demande d'interruption externe .

VDD et VSS : Ce sont les connexions d'alimentation du circuit .Il est alimenté avec une tension de
5 volts VSS = 0 v , VDD = +5 v .

MCLR  :Cette  connexion  active  au  niveau  0,  est  l'entrée  de  Reset  (Master  CLear  Reset  )  elle
permet  aussi  le  branchement  de  la  haute  tension  VPP  nécessaire  à  la  programmation  du
composant .

OSC1 et OS : Ces connexion permettent l'entrée des signaux nécessaires au fonctionnement de
l'horloge . [3]

5. Organisation du PIC 16F84:

­ Nous allons maintenant nous intéresser à la structure interne du PIC 16f84 avec lequel nous
allons travailler ( figure : 1­2 ).

http://www.memoireonline.com/04/10/3446/m_Etude­et­application­de­microcontroleur­16f840.html 6/10
18/03/2017 Memoire Online ­ Etude et application de microcontroleur 16f84 ­ Mustapha BOUZIANE

( figure : 1­ 2 ) Structure interne du PIC 16F84 [2]

5.1. La mémoire de programme :

­C'est  une  mémoire  contient  le  code  binaire  correspondant  aux  instructions  que  doit  exécuter  le
microcontrôleur  .  la  capacité  de  cette  mémoire  est  variable  selon  les  PICs  .  ­Le  PIC  16F84
possède une mémoire de programme de 1024 × 14 bits . (figure : 1­ 3 ) [2]

( figure : 1­3 ) La mémoire de programme , PIC 16F84

5.2. La mémoire RAM :
http://www.memoireonline.com/04/10/3446/m_Etude­et­application­de­microcontroleur­16f840.html 7/10
18/03/2017 Memoire Online ­ Etude et application de microcontroleur 16f84 ­ Mustapha BOUZIANE

­C'est une mémoire qui sauvegarde temporairement des données. La capacité de cette RAM est
variable selon les PICs . le PIC 16F84 possède une mémoire RAM de 68 octets . ( figure : 1­4 ) [2]

5.3. La mémoire EEPROM :

­La mémoire EEPROM (Electrical Erasable Programmable Read Only Memory), est constituée de
64 octets que vous pouvez lire et écrire depuis votre programme . ­Ces octets sont conservés
après une coupure de courant et sont très utiles pour conserver des paramètres semi permanents.

­Leur utilisation implique une procédure spéciale car ce n'est pas de la RAM , mais
bien une ROM de type spécial. Il est donc plus rapide de la lire que d'y écrire.

[1]

5.4. Unité Arithmétique et Logique : ( UAL ) ou ALU en anglais .

­ UAL est chargée effectuer toutes les opérations arithmétiques de base ( addition ,
soustraction , etc.) ainsi que les opérations logiques de base ( ET ,OU logique , etc.).

[2]

5.5. Horloge système :

­L'horloge fournie au PIC est pré divisée par 4 au niveau de celle­ci. C'est cette base de temps qui
donne le temps d'un cycle.

L'horloge du microcontrôleur peut utiliser différents systèmes il faut configurer le PIC en fonction
du câblage réalisé et de ses caractéristique de fonctionnement .

( Voire tableau : 1 ).

OSC1 OS Type d'oscillateur
0 0 Oscillateur avec réseau résistance capacité Fmax = 4 MHz .
1 0 Oscillateur XT à quartz ou oscillateur extérieur Fmax = 4 MHz .
http://www.memoireonline.com/04/10/3446/m_Etude­et­application­de­microcontroleur­16f840.html 8/10
18/03/2017 Memoire Online ­ Etude et application de microcontroleur 16f84 ­ Mustapha BOUZIANE

0 1 Oscillateur HS à quartz grande vitesse Fmax = 10 MHz .
1 1 Oscillateur LP à quartz basse consommation Fmax = 200 KHz .

(tableau : 1 ) Choix de l'oscillateur [3]

5.6. Définition du reset :

­ Après avoir placé le programme en mémoire on peut se demander comment faire pour le lancer
et ainsi mettre en route l'application, l'opération reset permet ce démarrage .

­ Cette procédure d'initialisation interne est déclenchée soit à la mise sous tension du composant
c'est le Power On Reset (P.O.R), soit par un niveau bas appliqué sur la connexion MCLR (Master
Clear Reset ).

­ le POR est généré grâce à un détecteur de niveau quand la montée de la tension d'alimentation
atteint un seuil 1,2 et 1,7 volt . le reset initialise un certain nombre de registres.

5.7. Chien de garde ( Watch Dog ) :

­ C'est un système de protection contre un blocage du programme . Par exemple , si le programme
attend le résultat d'un système extérieur ( conversion analogique numérique par exemple ) et qu'il
n'y a pas de réponse, il peut rester bloquer. Pour en sortir on utilise un chien de garde . Il s'agit
d'un compteur qui , lorsqu'il arrive en fin de comptage , permet de redémarrer le programme. Il est
lancé au début du programme.

­ En fonctionnement normal , il est remis à zéro régulièrement dans une branche du programme
qui  s'exécute  régulièrement.  Si  le  programme  est  bloqué  ,il  ne  passé  plus  dans  la  branche  de
remise  à  zéro  et  le  comptage  va  jusqu'au  bout,  déclenche  le  chien  de  garde  qui  relance  le
programme.

[1]

5.8. Les registres fondamentaux :

5.8.1 Le registre ( W ) :

­Ce  registre  de  travail  que  l'on  peut  appeler  accumulateur  est  un  registre  utilisé  pou
réaliser des calculs , le résultat d'un calcul peut être sauvegardé dans un emplacement
RAM (F) ou dans le registre de travail (W) .(il n'y a pas d'adresse ) . [3]

5.8.2. Le registre pointeur de pile : ( PP ou SP en anglais ) .

­ Est essentiellement utilisé lorsque l'on réalise un sous­programme .le pointeur de pile
est  chargé  de  mémoriser  l'adresse  courante  que  contient  le  compteur  de  programme
avant le saut à l'adresse du sous­programme .lorsque le sous­programme est terminé,
le pointeur restitue l'adresse sauvegardée vers le compteur de programme .

[2]

5.8.3. Le registre d'instruction :

­ Contient tous les codes binaires correspondant aux instructions à réaliser par le
microcontrôleur, le PIC 16F84 comporte 35 instructions . [2]

Observation : On a autres registre , registre compteur de programme (PC ) et registre
d'état ( STATUS ) et on a aussi des registres spéciaux on fait détaille on suit .

6. Les interruptions :
http://www.memoireonline.com/04/10/3446/m_Etude­et­application­de­microcontroleur­16f840.html 9/10
18/03/2017 Memoire Online ­ Etude et application de microcontroleur 16f84 ­ Mustapha BOUZIANE

­  Une  interruption  comme  son  nom  l'indique  ,  interrompt  un  programme  en  cours
(programme  principal)  pour  faire  exécuter  à  le  microcontrôleur  un  autre  travail  (suite
d'instructions appelée aussi sous­programme ). celui­ci se termine par une instruction
de  retour  d'interruption  (RETFIE)  qui  permet  à  le  microcontrôleur  de  reprendre  le
programme principale ou il a été quitté.

[3]

7. Le Pré diviseur :

­ C'est  un  diviseur  de  fréquence  de  l'horloges  ,  un  prédiviseur  ,  partagé  avec  le
chien  de  garde,  est  disponible.  La  période  de  l'horloge  d'entrée  est  divisée  par
une  valeur  comprise  entre  2  et  256  suivant  les  bits  PS2,  PS1  et  PS0
(respectivement OPTION_REG 2, 1 et 0). ­Le bit PSA (OPTION_REG . 3) permet de
choisir entre la prédivision de timer0 (PSA=0) ou du chien de garde (PSA=1).

[1]

8. Les registres spéciaux : ( les registres internes du PIC 16F84 ) .

­Le  tableau  suivant  (:2).Fait  découvrir  de  nouveaux  registres  directement  accessibles  par
l'utilisateur , ce sont en réalité des cases mémoires RAM regroupées dans une zone appelée par
le constructeur FILE .

­Certains de ces registre sont situés en page 0 entre les adresses 00 et 0B , et d'autre sont situés
en  page  1  entre  les  adresses  80  et  8B  ,  il  y  a  deux  pages  mémoire  donnant  accès  a  certains
emplacements:en positionnant le bit RP0 du registre STATUS ( registre d'état ) à 0 , on accède aux
registre de la page mémoire 0 ; en positionnant ce bit à 1 , on accède à la page mémoire 1 . Il en a
16  registres  plus  le  registre  (  W,  Pointeur  de  pile  et  registre  d'instruction  ),  et  sont  si  importants
qu'ils conditionnent véritablement la programmation .

http://www.memoireonline.com/04/10/3446/m_Etude­et­application­de­microcontroleur­16f840.html 10/10