Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
PROGRAMMATION EN C
1 INTRODUCTION
Les microcontrleurs PIC sont des microcontrleurs fabriqus par la socit Microchip qui
fournit par ailleurs gratuitement la plate-forme logiciel de dveloppement MPLAB IDE.
L'intrt est, pour un faible cot, de disposer d'un composant programmable de nombreuses
fois, pouvant tre utilis de faon autonome : plus besoin d'ordinateur une fois le composant
programm.
L'utilisation d'un microcontrleur dans une application simplifie notablement les montages
lectroniques entranant par la mme occasion un gain de temps et de cot.
Pour dvelopper une application fonctionnant laide dun microcontrleur, il faut disposer dun
compilateur et dun programmateur.
Compilateur : Programmateur :
Fabrique le programme Transfert le programme
du PC au PIC
(hard+soft)
Le compilateur est un logiciel traduisant un programme crit dans un langage donn (C, basic,
assembleur) en langage machine. Ce logiciel peut aussi comporter un debugger permettant la
mise au point du programme, et un simulateur permettant de vrifier son fonctionnement.
MPLAB IDE
Le fabricant Microchip fournit gratuitement le logiciel MPLAB IDE tlchargeable sur le site
www. microchip.com
Dans l'environnement MPLAB, Le programme doit tre crit en assembleur, langage peu volu,
peu convivial, et donc peu accessible aux tudiants bac+2.
On prfre donc un langage de programmation volu : basic ou c. Notre choix se porte sur le
langage c tudi par ailleurs en cours d'informatique d'instrumentation.
Le code source crit en langage c doit donc tre compil en assembleur l'aide d'un compilateur
c.
On peut alors intgrer CC5X dans l'environnement MPLAB. Ainsi CC5X devient un outil de
MPLAB dans lequel l'criture, la simulation et le debugging du programme en c devient alors possible.
2 COMPILATEUR CC5X
2.1 INSTALLATION
Cette installation a dj t ralise. Les indications suivantes vous sont fournies pour
l'installation sur votre ordinateur personnel.
Crer un rpertoire CC5X o vous le souhaitez sur le disque dur de votre PC.
Tlcharger CC5X free sur le site www.bknd.com
Dcompresser ce fichier.
Le rpertoire CC5X contiendra le fichier excutable cc5x.exe et les fichiers de dfinition (header
.h) des microcontrleurs utilisables avec CC5X.
2.2 CARACTERISTIQUES
La version commerciale utilise des types entiers sur 24 et 32 bits et des nombres virgule fixe.
3.1 INSTALLATION
Cette installation a dj t ralise. Les indications suivantes vous sont fournies pour
l'installation sur votre ordinateur personnel.
Pour pouvoir utiliser le debugger, il faut ensuite corriger le fichier TLCC5X.INI situ dans le
rpertoire MPLAB IDE\Core\MTCSuites : Il faut remplacer Target=HEX par Target=COD et
sauvegarder la modification.
3.2 - CONFIGURATION
Prciser le chemin o le
compilateur CC5X est rang
Voir en TP et adapter si
besoin !
Chemin utilis :
Si ncessaire,
remplacer
program Files
par Progra~1
Appliquer la modification
Dans le menu File, slectionner New. Cela fait apparatre la zone de texte pour lcriture du programme.
Taper dans la zone de texte, sans pour linstant chercher comprendre, le programme suivant :
void main(void)
{
CMCON=7 ;
TRISA=0 ;
RA0=0 ;
RA1=1 ;
RA2=1 ;
RA3=0 ;
}
Sauvegarder ensuite le fichier que lon nommera par exemple sorties.c dans le mme rpertoire que le
projet : Menu File/Save as
Le fichier ainsi cr doit alors tre ajout comme fichier source dans le projet :
Nous verrons dans le chapitre suivant, le fichier devant tre transfr dans le PIC.
Comme indiqu au chapitre 1, il faut prciser au logiciel que loutil de mise au point est MPLAB SIM
grce au menu Debbuger, Select Tool :
Dans le menu Debugger, de nouvelles slections apparaissent. Choisir settings pour dfinir quelques
options pour la simulation, en particulier la frquence de l'horloge dpendant du PIC choisi (4 Mhz pour
un 16F628 utilis avec lhorloge interne (Cf Configuration bits INTRC I/O sur on).
Animate : permet de
simuler lexcution du Reset avant de
programme
lancer lanimation
La compilation ayant t ralise auparavant, on peut slectionner Add symbol, RA0 pour visualiser ltat
de RA0 lors de la simulation du programme.
Puis slectionner dans la liste Add SFR : CMCON et TRISA pour visualiser ltat de ces registres.
Slectionner aussi PORTA pour voir le mot binaire disponible sur le port A du pic.
Lancer lexcution de la simulation. On observe alors la modification des valeurs des registres et du
port de sortie.
Noter que PORTA et les bits RA0, RA1 etc affichent en ralit la mme information qui est le
mot binaire disponible sur le port de sortie, donc de chaque bit RA0 RA7.
1 CONSTITUTION DU PROGRAMMATEUR
Le programmateur de PIC est constitu dun circuit imprim reli par cble au port COM de lordinateur.
Le PIC utilis sera plac sur un premier support tulipe, duquel il ne devra pas tre t, afin dviter de
tordre puis casser les pattes du microcontrleur lors des manipulations.
2 INSTALLATION DU LOGICIEL
Dcompresser les fichiers tlchargs dans un rpertoire. Bien vrifier que le fichier systme icprog est
bien prsent dans ce rpertoire.
Sous WindowsXP, avec lexplorateur Windows, il faut slectionner le fichier ICprog.exe. Faire
un clic droit sur le fichier ICprog.exe. Dans le menu Proprits , slectionner longlet
Compatibilit , cocher la case situe dans le cadre Mode de compatibilit , puis slectionner
Windows 98 dans le menu droulant.
Windows 98
3.2 - Configuration\Hardware F3
Programmateur :
JDM programmer pour le programmateur PIC-01
Ports :
COM1 ou COM2. Dans tous les cas la LED verte de votre programmateur doit sallumer lorsque
vous effectuez une opration de lecture ou dcriture. Si ce nest pas le cas changez de port
slectionn.
Dlais I/O :
Ce rglage dpend du PC utilis, essayez sur 1 ou sur 20 en cas de problme de programmation.
Interface :
Slectionner toujours Windows API.
3.3 - Configuration\Options\Misc
Priorit:
Permet de dfinir la priorit du logiciel par rapport aux autres logiciels fonctionnant en
multitches sous Windows. En gnral utiliser le mode normal . Utiliser le mode haute pour
que ICprog soit prioritaire par rapport aux autres logiciels.
4.1 - PRINCIPE
Le logiciel du programmateur utilise un buffer, cest dire une mmoire intermdiaire entre les
fichiers sur disques et les mmoires programmables des composants, tableau hexadcimal visualis
l'cran.
Pour programmer un composant partir dun fichier il faut dabord charger le contenu dun fichier
dans le buffer laide de la commande Fichier\Ouvrir fichier , puis transfrer le contenu du buffer
vers le composant avec le menu Commande\Tout programmer .
Si le composant est vierge ou effac tous les bits de la mmoire seront au niveau logique 1 (FF).
Cette fonction est utiliser avant toute programmation car il nest pas possible de programmer un
composant correctement si celui-ci nest pas vierge ou na pas t effac pralablement.
Si ce nest pas le cas, il faut effacer le composant : menu "Commande\Tout Effacer".
Permet de slectionner un microcontrleur PIC du type 12Cxxx, 12Fxxx, 16Cxxx, 16Fxxx, 18Fxxx
pour une utilisation avec le programmateur PIC-01. Pour les composants de la srie
16C54/55/56/57/58, le mode de programmation est diffrent et il faut utiliser le programmateur
PIC-02.
Diffrentes options apparatront galement dans le cadre "Configuration" permettant de modifier les
registres de configurations. Pour connatre l'utilisation de ces registres veuillez consulter le datasheet
du fabricant concern. Cependant quelques informations vous sont donnes ci-dessous pour les
microcontrleurs PIC.
Validation ou non du CP :
En validant cette case par une croix, le "Code Protect" sera activ. Le programme intgr dans la
mmoire du composant ne sera pas lisible si lon fait une re-lecture de celui-ci. Cependant le
composant reste effaable pour tre reprogramm si celui -ci contient une mmoire Flash.
Attention si vous cochez cette case, le composant ne pourra pas tre vrifi aprs programmation et
un message derreur interviendra systmatiquement lors de la vrification du composant aprs
programmation. On vitera donc de cocher cette case.
Dautres explications sur le rle des fusibles seront donnes plus loin.
Lorsque le transfert du programme dans le pic est ralis, le logiciel procde une vrification. Si
un message derreur apparat, il peut sagir dun mauvaise connexion du programmateur (erreur de port
srie) ou dune mauvaise alimentation du programmateur.
Implanter le composant et son support sur une platine dessais type Labdec.
470 470
470 470
Alim +5V
2,2 k
0
PLATINE UTILISEE
+5V
P
Cmp2
+5V
RA1
+5V
+5V 2,2 k
R RB0 RB7
O RB1 RB6
V RB2 RB5
RB3 RB4
Exercice 1
Lire le chapitre 1 du livret polycopi puis rpondre aux questions suivantes :
1/ De quels outils logiciels faut-il disposer pour raliser une application utilisant Contrle :
un PIC.
Exercice 2
Contrle :
Suivre le chapitre 2 pour raliser un premier projet et utiliser le simulateur et le
dbogueur de de MPLab.
N. B : On ne ralisera pas cette manipulation physiquement.
Exercice 3
Lire le chapitre 3 afin dtre capable de raliser la programmation du pic.
Au vu du schma de la platine de test quel doit tre ltat de RB0 pour allumer la
led rouge ?
Exercice 5 : Timer 0
Ecrire un programme qui fait clignoter la frquence de 4 Hz, la led rouge
connecte sur la sortie RB0 du port B. Contrle :
Exercice 7 : Comparateur
Ecrire un programme dlivrant sur la sortie RB0, le rsultat de la comparaison de
la tension Vin applique sur RA1 et de la tension de rfrence interne rgle 1,25 Contrle :
V.
Compiler, programmer le pic et tester le fonctionnement par action sur le
potentiomtre P de la platine de test.
Le mot binaire rsultat de la conversion sera affich sur 4 leds connectes sur les Contrle :
sorties RB3 RB2 RB1 RB0 du port B.