Vous êtes sur la page 1sur 10

I.

1 Introduction
Les procds industriels utilisent des dispositifs ou composants programmables
afin d'assurer la synchronisation, le contrle et la commande des organes d'excution.
Parmi ces composants nous trouvons la famille des microcontrleurs PIC fabriqu par la
socit Microship. Ces derniers disposent d'une capacit d'acquisition et de traitement et
de commande souvent suffisante pour les systmes de petite dimension. Le concepteur
dispose d'une varits assez suffisantes de ces composants qui couvrent une large gamme
d'application.
Dans ce chapitre, nous allons prsenter le microcontrleur PIC16F887 ainsi que
ses principaux fonctionnalits.
Ce chapitre est organis comme suit : aprs l'introduction du PIC16F877, nous
allons expos ses caractristiques ainsi que sa configuration minimale. Dans la section
suivante, nous dveloppons ses fonctionnalits de conversion analogique/numrique et la
temporisation.
I.2 Prsentation du PIC16F877
Le PIC16F887 40 pins dispose de 35 entres/ sorties configurables. Plusieurs
fonctionnalits sont offertes aux choix allant de la conversions analogique numrique,
compteur, temporisateur, comparateur. Les protocoles de communications sont intgr
tels que la communication srie, asynchrone et la commande en MLI (Modulation par
Largeur d'Impulsion). A architecture RISC (Reduced Instruction Set Complex), et avec
un nombre de 35 instructions il est possible d'exploiter toutes les fonctionnalits offertes.
Ce PIC est commercialis sen plusieurs formes de botier. La plus utilise est celle
en PDIP montre dans la figure (I.1).
Principales Telle

Les caractristiques de base PIC16F887 :


L'architecture RISC
o seulement 35 les instructions pour apprendre

Le PIC16F887 en botier DIP


o tout seul cycle instructions sauf les branches
Frquence de fonctionnement 0-20 MHz
oscillateur interne Prcis
o calibr en usine
o gamme de frquence slectionnable par logiciel de 8MHz 31khz
Tension d'alimentation 2.0-5.5V

o consommation : 220uA (2.0V, 4 MHz), 11uA (2.0 V, 32kHz) 50nA (mode veille)
Le Mode veille d'conomie d'nergie
Brown-out Reset (BOR) avec option de contrle de logiciel
broches d'entre/sortie 35

o source/descente actuel lev entranement direct de LED


o logiciel et la rsistance de pull-up individuellement programmables
o broche o interruption-sur-Change
8K de mmoire ROM en technologie FLASH

o puce peut tre reprogramm jusqu' 100.000 fois


La possibilit de programmation srie en Circuit

o puce peut tre programm mme incorpor dans l'appareil cible


mmoire d'EEPROM de 256 octets

o o donnes peut tre crites plus de 1.000.000 fois


mmoire de 368 octets de RAM
Convertisseur A/D :

o 14 canaux
o rsolution de 10 bits
3 indpendant tempo/compteurs
Minuterie - chien de garde
Module de comparateur analogique avec

o Deux comparateurs analogiques


o rfrence de tension fixe (0.6V)
o rfrence de tension sur puce Programmable
PWM sortie commande de direction
Module USART amlior

o supporte RS-485, RS-232 et LIN2.0


o Dtection automatique de dbit
Master Synchronous Serial Port (MSSP)

o supporte le mode SPI et I2C

DESCRIPTION DE BROCHAGE :
La plupart des broches du microcontrleur PIC16F887 sont multifonctionnels
comme on le voit sur la figure ci-dessus. Par exemple, l'indicateur RA3/AN3/Vref + /
C1IN + pour la cinquime broche du micro-contrleur indique qu'il a les fonctions
suivantes :
RA3 Port une troisime entre/sortie numrique
Troisime AN3 entre analogique
Rfrence de tension Vrf + positif
Comparateur C1 C1IN + entre positive

Ces fonctionnalits de pin sont trs utile car il rend le paquet microcontrleur plus
compact sans affecter son fonctionnement. Ces diverses fonctions de broche ne peuvent
pas tre utilises simultanment, mais peuvent tre modifies tout moment au cours de
l'opration.
Les tableaux suivants mentionnent le microcontrleur PDIP 40.

nom
RE3/MCL
R/Vpp

Numro
(DIP40)
1

RA2/AN2/ 4
Vref/CVref/C2I
N+
RA3/AN3/
Vref+/C1I
N+

RA4/T0CK 6
I/C1OUT
RA5/AN4/ 7
SS/C2OUT

RE0/AN5

RE3
MCLR

RA0/AN0/ 2
ULPWU/C
12IN0RA1/AN1/
C12IN1-

Description

Vpp
RA0
AN0
ULPWU
C12IN0RA1
AN1
C12IN1RA2
AN2
Vref
CVref
C2IN+
RA3
AN3
Vref
C1IN+
RA4
TOCKI
C1OUT
RA5
AN4
SS
C2OUT
RE0

Rinitialiser le code pin. Niveau logique bas sur


cette broche rinitialise le microcontrleur
Tension de programmation
Usage gnral I/O port A
A/N entre du canal 0.
Stand by mode dsactivation d'entre
Comparateur C1 ou C2 negetive d'entre
Usage gnral I/O port A
A/N canal 1
Comparateur C1 ou C2 negetive d'entre
Usage gnral I/O port A
A/N canal 2
Entre de tension ngative A/D de rfrence
Sortie de rfrence de tension comparateur
Entre positive de comparateur C2
Usage gnral I/O port A
A/N canal 3
Entre de tension ngative A/D de rfrence
Entre positive de comparateur C1
Usage gnral I/O port A
Temps de l'horloge d'entre
Sortie de comparateur de C1
Usage gnral I/O port A
A/N canal 4
Entre de module SPI (slection de l'esclave).
Sortie de comparateur de C2
Usage gnral I/O port E

RE1/AN6

RE2/AN7

10

Vdd
11
Vss
12
RA7/OSC1 13
/CLKIN
RA6/OSC2 14
/CLKOUT
RC0/T1OS 15
O/T1CKI
RC1/T1OS 16
O/T1CKI
RC2/P1A/
CCP1

17

RC3/SCK/
SCL

18

RD0
RD1
RD2
RD3
RC4/SDI/S
DA

19
20
21
22
23

RC5/SDO
RC6/TX/C
K

24
25

AN5
RE1
AN6
RE2
AN7
+
RA7
OSC1
CLKIN
OSC2
CLKO
RA6

A/N canal 5

RC0
T1OSO
T1CKI
RC1
T1OSI
CCP2
RC2
P1A
CCP1
RC3
SCK
SCL
RD0
RD1
RD2
RD3
RC4
SDI
SDA
RC5
SDO
RC6
TX
CK

Usage gnral I/O port C


Temps de sortie oscillateur T1

Usage gnral I/O port E


A/N canal 6
Usage gnral I/O port E
A/N canal 7
alimentation positive
Masse (GND).
Usage gnral I/O port A
Oscillateur quartz d'entre
Sortie d'horloge externe.
Oscillateur quartz de sortie
FOSC/4 sorties
Usage gnral I/O port A

Horloge T1 d'entre
Usage gnral I/O port C
Temps dentre oscillateur T1
CCP1 et PWM1 module I/O
Usage gnral I/O port C
PWM module Dentre
CCP1 et PWM1 module I/O
Usage gnral I/O port C
Module MSSP l'horloge I/O en mode SPI
Module MSSP l'horloge I/O en mode I2C
Usage gnral I/O port D
Usage gnral I/O port D
Usage gnral I/O port D
Usage gnral I/O port D
Usage gnral I/O port A
MSSP module saisie des donnes en mode SPI
MSSP module des donnes en mode I2C
Usage gnral I/O port C
MSSP module sortie des donnes en mode SPI
Usage gnral I/O port C
Sortie asynchrone USART
Temps asynchrone USART

RC7/RX/D 26
T
RD4
RD5/P1B
RD6/P1C
RD7/P1D

27
28
29
30

Vss
31
Vdd
32
RB0/AN12 33
/INT
RB1/AN10 34
/C12INT3RB2/AN8

35

RB3/AN9/ 36
PGM/C12I
N2RB4/AN11 37
RB5/AN13 38
/T1G
RB6/ICSP
CLK

39

RB7/ICSP
DAT

40

RC7
RX
DT
RD4
RD5
P1B
RD6
P1C
RD7
P1D
+
RB0
AN12
INT
RB1
AN10
C12INT3RB2
AN8
RB3
AN9
PGM
C12IN2RB4
AN11
RB5
AN13
T1G
RB6
ICSPCLK
RB7
ICSPDAT

Usage gnral I/O port C


Ente asynchrone USART
Les donnes asynchrone USART
Usage gnral I/O port D
Usage gnral I/O port D

Sortie PWM
Usage gnral I/O port D

Sortie PWM
Usage gnral I/O port D

Sortie PWM
Masse (GND)
alimentation positive
Usage gnral I/O port B
A/N canal 12
Usage gnral I/O port B
A/N canal 10
Comparateur C1 ou C2 negetive d'entre
Usage gnral I/O port B
A/N canal 8
Usage gnral I/O port B
A/N canal 9
Programmation enable code pin
Comparateur C1 ou C2 negetive d'entre
Usage gnral I/O port B
A/N canal 11
Usage gnral I/O port B
A/N canal 13

Temps T1 externe dentre


Usage gnral I/O port B
Horloge de programmation srie
Usage gnral I/O port B
Programmation enable code pin

UNIT DE PROCESSEUR CENTRAL (CPU) :


Nous n'allons pas vous ennuyer avec le fonctionnement de la CPU ce stade.
Toutefois, on sera juste dire que le CPU est fabriqu avec la technologie RISC comme
c'est un facteur important pour dcider quel microcontrleur utiliser.
RISC signifie rduit Instruction Set Computer, qui donne les PIC16F877 deux
grands avantages :
Le processeur ne reconnat que 35 instructions simples. Pour ne citer qu'afin de
programmer les autres microcontrleurs en langage d'assemblage, il est ncessaire de
connatre plus de 200 instructions par cur.
La dure d'excution est le mme pour presque toutes les instructions et dure pendant 4
cycles d'horloge. La frquence de l'oscillateur est stabilise par un cristal de quartz. La
dure d'excution des instructions de saut et de la direction gnrale est de 2 cycles
d'horloge. Cela signifie que si la vitesse de fonctionnement du microcontrleur est
20MHz, le temps d'excution de chaque instruction sera 200nS, c.--d. le programme
excutera les 5 millions d'instructions par seconde !

MMOIRE :
Le PIC16F887 dispose de trois types de mmoire ROM, RAM et EEPROM. Chacun
d'eux sparment discutera puisque chacun a organisation, des caractristiques et des
fonctions spcifiques.

MMOIRE ROM :
Mmoire ROM permet d'enregistrer en permanence le programme en cours
d'excution. C'est pourquoi on l'appelle souvent programmer la mmoire . Le
PIC16F887 a 8 Ko de ROM (8192 emplacements au total). Puisque la mmoire ROM est
fabrique avec la technologie FLASH, son contenu peut tre modifi en fournissant une
tension de programmation spciale (13V).
Cependant, il n'est pas ncessaire de l'expliquer en dtail comme tant
automatiquement ralise au moyen d'un programme spcial sur le PC et un dispositif
lectronique simple, appel le programmeur.

MMOIRE EEPROM :
Semblable la mmoire de programme, le contenu de l'EEPROM est
dfinitivement sauv, mme quand le courant est hors tension. Toutefois, contrairement
la ROM, le contenu de l'EEPROM peut tre modifi au cours de l'opration du
microcontrleur. C'est pourquoi cette mmoire (256 emplacements) est parfaite pour
l'enregistrement de certains des rsultats cr et utilis lors de l'opration en permanence.

MMOIRE RAM :
Il s'agit de la troisime et la partie la plus complexe de la mmoire du
microcontrleur. Dans ce cas, il se compose de deux parties : registres usage gnral et
registres fonction spciale (SFR). Tous ces registres sont diviss en quatre blocs de
mmoire pour tre expliqu plus loin dans le chapitre.
Mme si les deux groupes de registres sont dsactives lorsque l'alimentation
s'teint, et mme si ils sont fabriqus de la mme manire et Loi de la mme manire,
leurs fonctions n'ont pas en commun beaucoup de choses.

REGISTRES USAGE GNRAL :


Registres usage gnral sont utiliss pour stocker des donnes temporaires et
rsultats crs au cours de l'opration. Par exemple, si le programme effectue le
comptage (produits sur la chane de montage), il est ncessaire de disposer d'un registre
qui est synonyme de ce que nous avons dans la vie quotidienne appellent somme .
tant donn que le microcontrleur n'est pas du tout cratif, il est ncessaire de spcifier
l'adresse de certains Registre d'usage gnral et l'assigner cette fonction. Un programme
simple pour incrmenter la valeur de ce registre par 1, aprs que chaque produit passe par
un capteur, devrait tre cr.
Maintenant, le microcontrleur peut excuter le programme comme il sait quoi et
o la somme incrmenter est. De mme, chaque variable de programme doit tre
prattribu certains des registres universel.
REGISTRES FONCTION SPCIALE (SFR) :

Spcial-fonction registres sont galement des emplacements de mmoire RAM,


mais la diffrence des registres usage gnral, leur but est prdtermine pendant les
processus de fabrication et ne peut pas tre modifi. tant donn que leurs morceaux est
raccords des circuits particuliers sur la puce (convertisseur A/N, module de
communication srie, etc.), toute modification de leur contenu affecte directement le
fonctionnement du microcontrleur ou certains de ses circuits. Par exemple, le registre
ADCON0 contrle le fonctionnement du convertisseur A/N. En changeant ses bits on
dtermine quel port pin est tre configurs en tant que convertisseur d'entre, le
moment de commencer la conversion est ainsi que la vitesse de conversion.
Une autre caractristique de ces lieux de mmoire, c'est qu'ils ont leurs noms
(registres et leurs bits), ce qui simplifie considrablement le processus d'criture d'un
programme. tant donn que les langages de programmation haut niveau peuvent utiliser
la liste de tous les registres avec leurs adresses exactes, il suffit de spcifier le nom d'un
registre pour lire ou modifier son contenu.

BANCS DE MMOIRE RAM :


La mmoire RAM est partitionne en quatre banques. Avant d'accder tout
registre durant le programme d'criture (pour lire ou modifier son contenu), il est
ncessaire de choisir la Banque qui contient ce registre. Deux bits du Registre STATUS
sont utiliss pour la slection de la Banque qui sera discut plus tard. Afin de simplifier
l'opration, les SFRs plus couramment utiliss ont la mme adresse dans toutes les
banques, qui leur permet d'tre facilement accessible.