Documente Academic
Documente Profesional
Documente Cultură
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_Etudeetapplicationdemicrocontroleur16f840.html 1/10
18/03/2017 Memoire Online Etude et application de microcontroleur 16f84 Mustapha BOUZIANE
Je dédie ce modeste travail à :
Ma grandmè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_Etudeetapplicationdemicrocontroleur16f840.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 à moimême et tous les étudiants
de génie électrique & électronique.
Bessaïm Benali
http://www.memoireonline.com/04/10/3446/m_Etudeetapplicationdemicrocontroleur16f840.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'estce 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_Etudeetapplicationdemicrocontroleur16f840.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
BaseLine , qui utilise des mots d'instructions de 12 bits, La famille MidRange , qui
utilise des mots d'instructions de 14 bits , La famille HighEnd, 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 MidRange.
Vient ensuite parfois une lettre L : Celleci 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 16F8404 est un PIC MidRange (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_Etudeetapplicationdemicrocontroleur16f840.html 5/10
18/03/2017 Memoire Online Etude et application de microcontroleur 16f84 Mustapha BOUZIANE
( Figure : 11) 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 : 12 ).
http://www.memoireonline.com/04/10/3446/m_Etudeetapplicationdemicrocontroleur16f840.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 : 13 ) La mémoire de programme , PIC 16F84
5.2. La mémoire RAM :
http://www.memoireonline.com/04/10/3446/m_Etudeetapplicationdemicrocontroleur16f840.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 : 14 ) [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 celleci. 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_Etudeetapplicationdemicrocontroleur16f840.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 sousprogramme .le pointeur de pile
est chargé de mémoriser l'adresse courante que contient le compteur de programme
avant le saut à l'adresse du sousprogramme .lorsque le sousprogramme 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_Etudeetapplicationdemicrocontroleur16f840.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 sousprogramme ). celuici 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_Etudeetapplicationdemicrocontroleur16f840.html 10/10