Introduction :
Contrairement
aux versions flash de la famille PIC16Fxxx,
la famille
PIC12Cxxx
se distingue
par une programmation un peu plus délicate
qui mérite d'être explicitée
en détails. En
effet, ces circuits disposent d'une mémoire
PROM (OTP) programmable une
seule fois
et sont dotés d'un
code à signature
composé de deux
octets
consécutifs
en fin de mémoire programme.
Lors de la phase de
programmation, il faudra veiller
à réintroduire
ce code à signature
dans votre programme HEX
afin de se prémunir de tout problèmes
ultérieurs lors de la phase de programmation. Cette
spécificité de programmation
de la famille 12Cxxx s'applique pour tous
les types de programmateurs PIC.
Voici
les deux microcontrôleurs les plus
utilisés de la famille 12Cxxx.
Désignation
|
Type
|
Mémoire
|
E/S
|
PIC12C508A
|
OTP/UV
|
512
|
6
|
PIC12C509A
|
OTP/UV
|
1024
|
6
|
Dans
l'exemple qui va suivre, nous allons nous
baser sur le modèle PIC12C508A
et le logiciel ICPROG.
Exemple
de procédure
de programmation d'un microcontrôleur PIC
12C508(A) :
Conditions
initiales :
-
Le microcontrôleur 12C508A doit être
implanté
dans le support
correspondant du programmateur. -Votre
programmateur est relié
à votre PC et
sous tension. -Vous
disposez du
fichier HEX
à implanter dans la mémoire
du PIC. -Vous
utilisez le logiciel
ICPROG.
Lancement
d'ICPROG :
Sélectionnez
la bonne version du PIC. Ici le 12C508A.
Lecture
du code signature du PIC :
-
Le code signature étant différent
d'un chip à l'autre, vous devez commencer par
effectuer une lecture de la mémoire
PROM vierge de votre 12C508A.
-
Pour ce faire, cliquez sur
et attendez la fin de la procédure.
- Utilisez l'ascenseur pour accéder
à la fin de la mémoire programme.
La dernière
adresse contient
le code signature sur 16 bits.
-
Voici le code signature de mon PIC12C508A
:
-
La
valeur du code signature est donc :
$0C7C.
-
Mémorisez
provisoirement cette valeur
afin de l'inclure ultérieurement
dans votre fichier programme HEX.
Inclusion
de la signature : -
Sélectionnez le fichier HEX à
programmer en cliquant sur l'icône .
Cliquez sur "Ouvrir"
afin de charger le fichier dans le buffer
d'ICPROG.
-
Au moyen de l'ascenseur, dirigez-vous vers
la dernière adresse mémoire.
Vous devez y trouver une valeur
non affectée par le fichier HEX valant
$0FFF
tel que :
-
Double-cliquez sur cette valeur afin
de procéder à l'inclusion
de la signature. Une fenêtre d'édition
s'ouvre.
-
Double-cliquez sur la zone hexadécimale
et entrez la valeur précédemment
mémorisée. -
En ce qui me concerne, cette valeur était
$0C7C.
Je dois obtenir .
-
La fenêtre d'édition affiche
donc :
-
Validez en cliquant sur OK.
Programmation
du PIC12C508A :
-
En fonction des directives du concepteur
du soft HEX, choisissez le
bon type d'horloge
associé au PIC.
-
Par exemple, l'oscillateur RC interne :
-
Assurez-vous d'avoir
les fusibles
correctement configurés selon les
directives du concepteur du soft HEX. Généralement
on emploi la sélection suivante :
,
mais ce n'est pas une règle !!!
-
Lancez
la programmation
du PIC12C508A en cliquant sur .
Attendez la fin de la procédure.
|