You are on page 1of 12

Frederic.jobard@eme-enseignement.

fr

Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur

Frdric JOBARD EME 2003

Environnement de dveloppement pour contrleur PIC de chez Microchip

Dans la version MPLAB IDE 6.13.0.0 (2002) le menu Tools ny tait pas

Note : Une version de MPLAB se trouve sur le CD de la formation acadmique 2003 au chemin \M_CHIP\COMPLEMENT\Mplab613. La dernire version est disponible ici (v6.30 en juillet 2003) Cet environnement permet dditer un programme en C ANSI. Pour cela il faut associer lenvironnement de MPLAB loutil HI-TECH PIC C Lite . Il sagit d un compilateur C (dgrad) propos par HI-TECH que lon peut tlcharger ladresse ci-dessous (v8.01PL3 en juillet 2003). On installe cette version en conservant si possible les rpertoires par dfaut.

http://www.microchip.com/1010/index.htm http://www.htsoft.com/products/piclite/
Frdric JOBARD

Liens :

Page 1

Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur

Frdric JOBARD EME 2003

On dbute un projet avec lassistant de projet

Aprs le message de bienvenue On slectionne le composant qui convient. Ici ce sera le PIC16F84

On active la suite HI-TECH PICC pour une dition en C - Pour chaque outil on prcise le chemin C:\PICCLITE\bin\picl.exe

OU BIEN
On active la suite Microchip MPASM Toolsuite pour une dition en assembleur - MPASM Assembler on indique le chemin C:\Program Files MPLAB IDE\MCHIP_Tools\mpasmwin.exe - MPLINK Object Linker on indique le chemin C:\Program Files MPLAB IDE\MCHIP_Tools\mplink.exe Note : La dernire version de MPLAB intgre les chemins par dfaut

Si vous avez install PICC Lite sans modifier le nom du rpertoire dinstallation par dfaut les croix rouges napparaissent pas car MPLAB connat le chemin.

- Puis on nomme le projet, etc

Page 2

Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur

Frdric JOBARD EME 2003

Arborescence conseille

Dans lexemple le projet se nomme Exercice_LED et le dossier cible est Travaux_MPLAB si il na pas t pralablement crer lassistant de MPLAB le cre dans le lecteur spcifi. A ltape qui suit MPLAB demande les fichiers que vous dsirez intgrer au projet en cours de construction. Il suffit alors de trouver le(s) fichier(s), en dveloppant larborescence correcte, de lincorporer par Add puis de cocher la case associe pour en faire une copie dans le rpertoire Travaux_MPLAB.

Pour terminer un rsum rappelle les paramtres du projet et nous indique que le projet est intgr au nouvel environnement de travail que lon vient de crer. A la suite de cette tape MPLAB gnre 2 fichiers, Exercice_LED.mcp et Exercice_LED.mcw qui sont respectivement associs au projet et lespace de travail, quil place dans le dossier Travaux_MPLAB

Page 3

Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur

Frdric JOBARD EME 2003

A ce stade le rpertoire de travail peut contenir 3 fichiers : nomduprojet.mcp Fichier projet Exemple : nomduprojet.mcw Fichier espace de travail nomdusource.c Fichier source en C

Dans le menu View on peut cocher ou dcocher lapparition des fentres Project et/ou Output

Outils de compilation Cration, ouverture, sauvegarde de projet Fichier source en C En cliquant droit sur Sources Files ou sur LED.C un menu apparat

contrleur concern Un double clic dans la fentre du projet sur le fichier source louvre. Dans cette fentre ldition et la sauvegarde sont possible. Si le nom de fichier dans la barre de titre est suivi par un astrisque cest que le source a t modifi et la disquette de la barre doutils est disponible pour enregistrer Un clic droit dans la fentre du fichier source permet de faire apparatre le menu cicontre. On dcouvre des possibilits ddition et de debuggage telle que la possibilit dinsrer un point darrt. Etc

Page 4

Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur

Frdric JOBARD EME 2003

La compilation peut russir (BUILD SUCCEEDED) Elle peut aussi chouer (BUILD FAILED)

Avant de lancer la compilation il faut sassurer que les options dclares ci-contre sont correctes FAIRE OK pour fermer la fentre ci-contre en conservant les proprits par dfaut des autres onglets. Lancer la compilation Elle devrait russir et crer des fichiers du type suivant nomduprojet.cod nomduprojet.lde nomduprojet.sym nomduprojet.hex voire nomduprojet.map dans le dossier : Qui est dclar la rubrique Output Directory, $(BINDIR): dans longlet General

Ici on indiquera le chemin : C:\Travaux_MPLAB\Projet_C Montrer le chemin par le bouton Browse Ne pas faire de copier coller.

nomdusource.lst, nomdusource.cce, nomdusource.obj et nomdusource Package Appfix,

Outre les fichiers ci-dessus la compilation gnre les fichiers dans le dossier : Qui est dclar la rubrique Intermediates Directory, $(TMPDIR):

Page 5

Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur

Frdric JOBARD EME 2003

La fentre Output nous renseigne sur loccupation et la taille du programme ainsi que sur le rsultat de la compilation.

Grce la suite PROTEUS on peut diter un schma avec ISIS et crer une animation (simulation) qui tourne avec le fichier nomdusource.hex issu de la compilation du programme source.
X1
16 15 4MHz 4

U1
OSC1/CLKIN OSC2/CLKOUT MCLR RA0 RA1 RA2 RA3 RA4/TOCKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC16F84 Cette animation fonctionne avec un fichier .hex obtenu par la compilation d'un fichier source dit en C sous MPLAB. Le compilateur C utilis est celui de HI-TECH dans sa version LITE. 17 18 1 2 3 6 7 8 9 10 11 12 13

R1
330

C2
27pF

C1
27pF

Un clic droit sur le composant programmable fait apparatre la fentre ci-contre Un appui sur le ? permet de montrer le chemin du fichier .hex

Page 6

Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur

Frdric JOBARD EME 2003

La compilation peut hlas chouer Notamment si Isis est ouvert et que le .hex est utilis

En cochant la case Generate map file et en relanant la compilation, celle-ci peut russir. On pourra aussi ressayer en restaurant les proprits par dfaut.

REMARQUE : La case cocher Produce MPLAB debugging info Intgre la directive -FAKELOCAL Si aucune case nest coche louverture on a : -O"$(TARGETBASE).hex" or si on appuie sur le bouton Restore Defaults on a : -O"$(TARGETBASE).cof" Une fois que la compilation a russie on peut dcocher les cases puis relancer la compilation cela fonctionne

Page 7

Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur /********************************************************************* * Clignotement LED sur platine BIGONOFF * Exercice 1 de source en C * Frdric JOBARD ********************************************************************/ #include <pic1684.h> #define XTAL_FREQ 4 /*frquence en MHz (4 MHz)*/ /*******************************************************************/ void Delay250Us(void); // dclaration des fonctions crites void DelayMs(unsigned int cnt); // aprs le programme principal /*******************************************************************/ /* PROGRAMME PRINCIPAL /*******************************************************************/ void main(void) { TRISA2 = 0; //Bit 2 de TRISA en sortie while (1>0) //Boucle sans fin { RA2 = 1; //Bit 2 de PORTA 1 DelayMs(250); // appel temporisation avec valeur RA2 = 0; //Bit 2 de PORTA 0 DelayMs(100); // appel temporisation avec valeur } } /*******************************************************************/ /* Temporisations*/ /*******************************************************************/ //dlais de 250s et X fois 250s //ATTENTION compiler en 'full optimization' pour obtenir //l'excution d'une boucle en 3 cycles d'horloge void Delay250Us(void) { unsigned char _dcnt; _dcnt = 250/(12/XTAL_FREQ); while(--_dcnt) continue; } void DelayMs(unsigned int cnt) { unsigned char i; do { i=4; do { Delay250Us(); } while(--i); } while(--cnt); }

Frdric JOBARD EME 2003

Ci-contre le source en C du programme de clignotement dune LED. Cet exercice est inspir des travaux diffuss sur le Net par BIGONOFF http://www.abcelectronique.com/bigonoff/index.php Le source de cet exercice est inspir des travaux diffuss galement sur le Net par Claude DRESCHEL. http://microcontroleur.fr.st/ Le debuggage dun programme dit en C nest pas ais avec MPLAB. Il sera utile dutiliser le compilateur HI-TECH sous son environnemment DOS. On le trouve au chemin C:\PICCLITE\bin\htlpic.exe

//************************************************************** // FIN //**************************************************************

Page 8

Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur

Frdric JOBARD EME 2003

Pour programmer le composant 16F84 on slectionne le programmateur PICSTART Plus dans le menu. Lorsque cette slection est active : - les outils concernant PICSTART plus apparaissent dans la barre doutils - un onglet de plus apparat dans la fentre Output - PICSTART Plus apparat dans la barre des tches de la fentre de MPLAB

On connecte physiquement sur un port srie du PC le programmateur PICSTART Plus. Alimentation teinte, on place le PIC sur le support dans la partie 18 broches . On met sous tension (Voyant POWER allum).

On complte les paramtres dans le menu Programmer ! Settings

On valide la connexion et la mise sous tension du programmateur par Programmer ! Enable Programmer

Page 9

Outils de dveloppement pour les PICs de Microchip PICSTART puis Clear pour Editeur, simulateur et programmateur

Un clic droit sur la fentre

effacer.

Frdric JOBARD EME 2003

Dans longlet PICSTART de la fentre Output des messages vous informent A newer version of the PICSTART Plus firmware operating system is available, and may be required for programming some devices. The newer version is located in your MPLAB IDE main directory. Refer to the topic, 'Upgrading the PICSTART Plus Operating System' in the PICSTART Plus Help file for instructions.

Traductions

MPLAB IDE main directory. Refer to the topic,


Cannot Transmit. Please verify connection and retry the previous operation.

Une version plus rcente du PICSTART Plus le logiciel d'exploitation est disponible, elle peut tre ncessaire pour programmer certains composants. Une version plus rcente est situe dans le rpertoire MPLAB IDE. Mettez jour le logiciel d'exploitation de votre PICSTART Plus. Rfrez-vous au fichier daide pour plus dinformations. Ne peut pas Transmettre. Veuillez vrifier le raccordement et ressayez l'opration prcdente.

Avant la compilation et la programmation il faut vrifier ltat du registre de configuration. Si le setting des bits nest pas celui qui convient il faudra reconfigurer ce registre en passant par le menu Configure ! Configurations Bits

On lance la programmation du PIC par Programmer ! Program Ou Par licne de la barre doutil A ce moment l le tlchargement dbute Une animation apparat en bas gauche de la fentre de MPLAB. Le voyant jaune ACTIVE situ sur le programmateur PICSTART Plus sallume pendant la dure du transfert. Un message nous informe que la programmation a russi. Et que la vrification a t accompli avec succs. Le composant est programm. On peut linsrer sur son application et procder aux essais.

Page 10

Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur

Frdric JOBARD EME 2003

En ce qui concerne ldition dun programme en assembleur on peut utiliser lAssistant de MPLAB comme prcdemment la condition de spcifier les outils suivants :
! !

MPASM Assembler (mpasmwin.exe) MPLINK Object Linker (mplink.exe)

Jai expriment cette partie, en reprenant un exercice de BIGONOFF Led_cli.asm. Ce programme fait clignoter une LED connecte sur la ligne de port PA2. Aprs compilation on peut tester le simulateur livr avec MPLAB en visualisant une fentre watch. La compilation gnre quelques fichiers dont Led_cli.hex. Jai connect PICSTART Plus et la programmation sest bien passe. Jai plac le pic sur la platine et cela a march
X1
16 15 4MHz 4

U1
OSC1/CLKIN OSC2/CLKOUT MCLR RA0 RA1 RA2 RA3 RA4/TOCKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC16F84 17 18 1 2 3 6 7 8 9 10 11 12 13

R1
330

C2
27pF

C1
27pF

Pour que la simulation fonctionne il faut mettre en commentaire la ligne ci-dessous du programme souce puis compiler et animer. __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC

Enfin je me suis servi de cet exercice pour tester une animation sous ISIS. Cela a march partir du moment ou jai fait ignor la ligne de programme concernant le registre spcial de programmation ; __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC ; '__CONFIG' prcise les paramtres encods dans le processeur au moment de ; la programmation du processeur. Les dfinitions sont dans le fichier include.

Page 11

You might also like