Description du microcontroleur PIC
Les mots ecrits en jaune sont explicités à la fin de la page.
Photos:
Voici une photo de 2
Microcontroleurs PIC:
Le premier PIC (le plus petit) est effacable electriquement (memoire EEPROM). Le deuxieme PIC possede une fenetre pour l'effacement, il faut des Ultras Violets. Quant au dernier, c'est l'un des dernier né et des plus puissant de la categorie. Il s'efface egalement electriquement.
L'avantage de la memoire EEPROM est indéniable: elle s'efface en une fraction de seconde contre une vingtaine de minutes avec les U.V.
Il existe egalement des modeles dit OTP (One Time Programable), c'est à dire qu'ils ne sont programmables qu'une fois. Ils coutent evidemment moins cher.
Les principales caracteristiques des microcontroleurs PIC16F84:
A partir de maintenant on va s'interesser plus particulierement au PIC16F84:
Il ne coute qu'une quarantaine de francs
Il s'efface electriquement
Il possede une
structure RISC (Reduced Instruction Set Computer), c'est à
dire que le nombre d'instructions est réduit (35 pour notre
PIC16F84).
L'un des avantages de ce type de structure est une
tres grande vitesse d'execution du programme. En plus, la plupart
des instructions sont executées
en un cycle d'horloge. Tout ceci fait
que les PIC font partie des microcontroleurs les plus rapides du
marché.
Les differents types de memoire:
Memoire pour le programme que vous faites: FLASH (= EEPROM qui dure moins longtemps) (1024 Mots de 14 bits), seul le programmateur est capable de l'effacer et de l'écrire. Le PIC ne peut faire que la lire (l'executer)
Memoire pour les variables, la configuration, ... : memoire de type RAM (68 octets pour l'utilisateur): dés qu'on coupe l'alimentation, tout est perdu. Cette memoire ne sert que pendant l'execution du programme.
Memoire pour stocker
des données de maniere permanente: EEPROM (64 octets = 64 *
8bits). Mais le PIC peut ecrire des informations dans cette
memoire!
C'est tres pratique, ca peut par exemple permettre de
memoriser un code, et ce meme si le PIC n'est plus alimenté.
Toutes ces memoires ont des adresses. On les exprime generalement en hexadecimal:
La memoire de
programme à une adresse allant de H'000' à H'3FF'
(le H signifie Hexadecimal). Je rapelle que H'F' vaut 15 en
décimal.
On remarque qu'on retrouve bien nos 1024 Mots
de memoire: F * F * 3 = 16 * 16 * 4 valeurs = 1024 Mots (16
valeurs, car de 0 à 15 on a bien 16 valeurs)
La memoire RAM se
subdivise en 2:
~ De l'adresse H'00' à H'0B', et de
H'80' à H'8B', ce sont des cases memoires reservés
pour la configuration, ... du PIC
~ De l'adresse H'OC' à
H'4F', ce sont des cases memoires pour l'utilisateur (68 cases
memoire)
La memoire EEPROM de données à une adresse allant de H'00' à H'3F'. C'est à dire qu'on a 64 cases memoire de données.
Le registre de travail: Il s'appele W. C'est une sorte de variable, qui sert trés souvent. Dés qu'on veut manipuler des nombres (addition, ...), on est obligé de passer par ce registre. Cette variable (W) contient une valeur de 8 bits (par exemple 01100010). Nous verrons des exemples plus tard.
Quelques définitions:
Instruction:
c'est un ordre qu'on donne au PIC.
Par exemple "ADDLW toto"
aura pour effet d'additionner le contenu de W (voir plus haut) avec
la constante toto. (on aura préalablement fixé la
valeur de toto dans le programme).
Cycle d'horloge: il s'écoule un cycle d'horloge entre l'execution de deux instructions.
Registre:
c'est une zone memoire de la RAM. Le PIC à des registres
reservés pour la configuration (utilisation des pattes en
entrée ou en sortie, ...). Il y a le registre W que nous
avons vu precedement, et il y a egalement des registres à
usage général (pour stocker nos variables, ...).
Les
registres reservés et les registres à usage général
sont stockés dans la memoire RAM.
1024 Mots de 14 bits: En faisant une analogie avec des tiroirs, cela signifie qu'on a 1024 tiroirs à 14 compartiments, et que dans chaque compartiment il peut y avoir quelque chose (equivalent à un "1" logique), et il peut ne rien avoir (equivalent à un "0" logique)
Ecrivez nous: xizard@enib.fr et rbourdon@enib.fr