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
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
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
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 Intelligent
Contrô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 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)
( 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 ).
( 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 :
-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 .
|
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 :
- 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 .
|