You are on page 1of 6

I.

INTRODUCTION
Les microcontrôleurs sont aujourd’hui implantés dans la plupart des applications grand
public ou professionnelles ; il en existe plusieurs familles. La société américaine Microship a
mis au point dans les années 90 un microcontrôleur PIC (Périphérie Interface Controller).
Permettant le traitement et l’exécution de l’information à laquelle on a ajouté des périphériques
internes pouvant réaliser des montages donc, ils peuvent être programmable et fonctionnelle de
façon autonome. Ils proviennent du PIC1650 développé par la division microélectronique de
General Instrument. Les PIC sont présentement classés en trois grandes familles comportant
chacune plusieurs références (PIC12, PIC16, PIC18). Notre travail consistera à présenter le pic
16f873A pour sa facilité de mise en œuvre du composant, la facilité de programmation, la
gratuité (ou presque) d’outils et des programmateurs et le faible coût du composant. Suite à cela
nous nous appesantirons sur les questions de principe de fonctionnement du PIC16F873A et
son rôle dans la vie réelle. Cela reviendra d’abord à présenter son architecture, ensuite son
fonctionnement et enfin quelques exemples d’utilisation.

II. ARCHITECTURE
1. Généralités

Le PIC16F873A est l’un des microcontrôleurs 8 bits dont l’architecture est simple,
chaque lettre ou groupe de lettre dans ce sigle a une signification bien précise :

 PIC : microcontrôleur de la famille des PIC.


 16 : sous famille des PIC.
 F : signifie que le PIC utilise une mémoire flash effaçable électriquement et qu’il
fonctionne avec une tension de 2.0V – 5.5V.
 873 : représente le modèle du PIC dans la famille PIC16.
 A : représente le boitier et la gamme de température du PIC.
L’organisation générale du PIC 16F873A est composé de 4 blocs principaux :
- La mémoire de programme : elle est de type FLASH et sa taille est de 4*1024*14bits
c’est-à-dire qu’elle dispose de 4*1024 emplacements (de 0000h à 1FFFH) ; la
technologie utilisée permet plus 1000 cycles d’effacement et de programmation.
- La mémoire de donnée : qui est séparée en deux parties : une mémoire RAM de 128octet
et une mémoire EEPROM de 64 octets.
- Le processeur est formé de deux parties : une unité arithmétique et logique
(ALU) chargé de faire les calculs et un registre noté W sur lequel travail ALU.
- Resource auxiliaire les ports d’entrée et de sortie, temporisateur ou compteur,
interruption, chien de garde, mode sommeil, comparateur (qui compare deux signaux
électriques).

Figure1 : PIC16F873A/876A BLOCK DIAGRAM


2. Présentation du composant
Le PIC 16F873A est un circuit intégré de 28 broches.

Figure2: pin Diagrams SOIC, PDIP, SSOP

La fréquence maximale est donnée à 20Mhz, soit 1 cycle d’horloge de 50ns et un temps
par instruction de 4x50ns soit 200ns. En effet chaque instruction demande 4 cycles d’horloge
de la CPU pour être exécutée. Attention, cela dépend aussi du type d’instructions.

Le PIC 16F873A s’alimente par une tension continue comprise entre 2.0V et 5.5V pour
les versions commerciales et industrielles, par les broches VSS (pin 8 et 19) et VDD (pin 20).

Il possède 2 pins pour l’horloge notées OSC1 et OSC2 : on placera le quartz entre ces 2
pattes (patte 9 et patte 10).

On distingue également trois types de ports : A, B et C. Le port B est composé de 8


entrées sorties (IO paramétrables par logiciel) et un port A composé de 6 entrées sorties
uniquement et le port C de 8 entrées et sorties. En tout le nombre d’entrées sorties est de 24.
Chacune de ces entrées sorties peut alimenter une LED.

Il possède une zone de mémoire flash (effaçable 10000fois) pour stocker le programme
(4*1024 mots), une zone de ram (128 octets) pour les variables et une zone d’EEprom (64
octets) pour stocker des données non volatiles qui seront donc conservées après une coupure
d’alimentation.

III. FONCTIONNEMENT
1. Rôle des pins

Comme nous pouvons le constater sur la figure 1, il est constitué de 28 pins ayant
chacune des fonctions allant de l’alimentation à la communication de données. Ainsi, on a :

 Pin 8 et 19 (Vss) : représente la masse du PIC et est à la borne négative de la batterie.


 Pin 20 (Vdd) : approvisionnement du PIC, borne positive et ne dépasse pas 5.5V.
 Pin 1 (MCLR) : joue le rôle de libérateur de mémoire RAM, constamment connecté à
la borne positive afin d’effectuer ce rôle.
 Pin 9&10 (OSC) : oscillateur in/out, il est en général en cristal et peut fonctionner avec
une fréquence max de 20MHZ. Nous tenons à noter que plus cette dernière est grande
plus le PIC fonctionne rapidement.
 Tous les autres pins: sont les 22 pins d’I/O regroupés en trois à savoir A, B et C.

2. Mise en œuvre du PIC16F84A

La mise en œuvre reste assez simple :

 Une alimentation 5V, avec un régulateur de tension linéaire, quelques condensateurs


de découplage et de filtrage
 Un quartz compris entre 32kHz et 20Mhz et ses 2 condensateurs de pied (voir dans les
spécifications du composant pour trouver les valeurs adéquates en fonction de la
fréquence.)
 Un programmateur

On soudera un support 18 points sur une plaque à trou et on évitera de souder


directement le PIC sur le circuit imprimé afin de pouvoir mettre au point le logiciel. Cela
permettra de remplacer le composant en cas de casse.

3. Programmation du PIC16F873A
Les versions de PIC à mémoire flash sont très pratiques à utiliser : en effet, cette
mémoire et réinscriptible (contrairement à la version OTP, One Time Programming) et elle
permet bien sûr de conserver le programme une fois que le composant est mis hors tension.

Pour écrire votre programme en assembleur, il suffit de créer un simple fichier texte.
En suite vous taper votre programme. Pour le compiler, il faudra utiliser un compilateur : son
rôle est de prendre en entrée votre code source et de générer un fichier binaire en sortie : c’est
le fichier hex. Une fois le fichier hex compilé, vous n’avez qu’à le charger dans l’outil de
programmation qui va programmer le composant.

Il existe plusieurs programmeurs tel que SPAM.exe, mikroprog.exe et bien d’autre.

4. Quelques cas d’utilisation

Le microcontrôleur PIC 16F84A a des utilisations énormes et on peut citer :

 Allumage d’une led


 Création d’un chronomètre à l’aide des afficheurs segmentés

IV. CONCLUSION

Tout au long de cet exposé, il était question pour nous de faire une présentation
générale du PIC 16F873A. Chose faite, il résulte que ce PIC est un microcontrôleur des
plus séduisants à utiliser par l’amateur pour la création des systèmes de basiques et
autres et en plus, il est simple et peu couteux.

De nombreux autres fondeurs ont essayé et essaient encore de le concurrencer :


ST, TI par exemple, en proposant des microcontrôleurs similaires et des outils de
développement simples et peu chers. Mais il semble que la communauté reste très
attachée à Microchip pour le moment.