Vous êtes sur la page 1sur 13

Institut Supérieur des Technologies Médicales de Tunis

Département Génie électrique

MICROPROCESSEUR
-Microcontrôleur -

TP Microcontrôleur
Tutorial MPLAB V8.00

2ème année Systèmes Electroniques

Année universitaire 2009-2010


ISTMT Tutorial MPLAB V8.00

1. Présentation

Ce document décrit l’utilisation du logiciel MPLAB (dans sa version 8.00) en vue de


développer un programme pour microcontrôleur Microchip PIC, en assembleur.
Les différents points abordés sont :
- la création d’un nouveau projet ;
- l’ouverture d’un projet déjà existant ;
- la mise en œuvre du logiciel MPLAB ;
- description des différentes icônes et fenêtres du logiciel ;
- les différentes étapes du développement avec MPLAB ;
- l’utilisation des points d’arrêts et des variables.

2. Création d’un nouveau projet

Les différents fichiers nécessaires à MPLAB lors d’un développement pour microcontrôleur
sont répertoriés dans un projet. La première action à effectuer est donc la création d’un
nouveau projet :

Après avoir lancé MPLAB, choisir dans


le menu «Project» l’option «Project
Wizard».

• L’assistant de création de projet


s’affiche.
• Cliquer sur «Suivant».

SE2 -2- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

• La première étape consiste à indiquer


la référence du microcontrôleur qui sera
utilisé.
• Cliquer ensuite sur «Suivant».

La seconde étape consiste à choisir pour


la rubrique «Active Toolsuite» le langage
«Microchip MPASM Toolsuite» pour une
programmation en assembleur.

Vérifier bien que les chemins des


différents outils sont corrects

• Cliquer sur «Suivant».

• La troisième étape consiste à


indiquer le nom du projet ainsi que
son emplacement.

Spécifier dans la case «Create New


Project File» le chemin et le nom
souhaité pour le projet. En utilisant le
bouton «Browse…» pour parcourir
l’arborescence des répertoires, et
éventuellement créer un nouveau
répertoire. Par défaut le fichier créé aura
l’extension mcp.

SE2 -3- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

• La dernière étape permet


éventuellement d’ajouter au projet
un fichier source existant (en
Assembleur – extension .asm).
Dans le cas où aucun fichier source
existant n’est à incorporer au
projet, cliquer directement sur
«Suivant».
Pour ajouter un fichier source existant,
parcourir l’arborescence dans la fenêtre
de gauche, sélectionner le fichier désiré
puis cliquer sur le bouton «Add».

Vérifier que le symbole C est affiché à


gauche du nom du fichier pour qu’il soit
copié à partir de son emplacement
d’origine dans le répertoire du projet. Cliquer ensuite sur «Suivant».

• L’assistant de création de projet


affiche un résumé de celui-ci :
- Référence du microcontrôleur,
- Outil utilisé en fonction du
langage,
- Répertoire du projet.
• Cliquer sur «Terminer» pour
valider la création du projet.

• MPLAB affiche dans une fenêtre le nom du


projet (d’extension mcp : MicroChip Project)
Celui-ci mentionne éventuellement le nom du
fichier source spécifié à l’étape précédente.
• Un double clic sur celui-ci permet de l’ouvrir
en vue de l’éditer.

Nom de l’espace de travail

Nom du projet

SE2 -4- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

Si aucun fichier existant n’a été incorporé au


projet, choisir dans le menu «File» l’option
«New» ou cliquer sur l’icône correspondante.
Une fenêtre d’édition apparaît. Taper le texte
du programme source puis enregistrer le
fichier dans le même répertoire que celui
du projet avec l’extension asm.

Incorporer ce nouveau fichier source au


projet en choisissant l’option «Add Files»
dans le menu contextuel (obtenu par un clic
du bouton droit de la souris) de la rubrique
«Source Files». Rechercher puis sélectionner
le fichier sauvegardé précédemment.

MPLAB affiche, en plus de la fenêtre du projet, une fenêtre d’édition dans laquelle on peut
aisément modifier le programme source grâce à la coloration syntaxique :
- En violet les noms et étiquettes,
- En bleu gras les mnémoniques des instructions,
- En bleu fin le texte d’assemblage,
- En rouge les nombres,
- En vert les commentaires.

SE2 -5- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

3. Ouverture d’un projet existant

L’ouverture d’un projet existant (d’extension


mcp) peut se faire en choisissant dans le
menu «Project» l’option «Open» ou en
cliquant sur l’icône verte «Open Project».

Une deuxième solution consiste à ouvrir le


«Workspace» (d’extension mcw : MicroChip
Workspace) associé au projet en choisissant
dans le menu «File» l’option «Open
Workspace».

4. Utilisation de MPLAB

4.1. La barre d’outils de MPLAB

Les différentes icônes disponibles dans la barre d’outils de MPLAB sont définies ci-dessous.
Remarque : en fonction du mode de fonctionnement choisi (mode simple, mode «Débogage»,
mode programmation), les icônes de la partie droite ne sont pas les mêmes. La barre d’outils
représentée ici correspond au mode «Débogage»

SE2 -6- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

Nouveau Couper Imprimer Nouveau Construire Exécuter le Modes


fichier projet le projet programme pas à pas
Copier Chercher
Ouvrir un Ouvrir un Options de Arrêter le Initialisation
fichier Coller Chercher projet compilation programme du programme
dans les
Enregistrer fichiers Enregistrer Compiler le Exécuter le
un fichier un projet projet programme avec
Aide
animation
4.2. Les fenêtres de MPLAB

En plus de ces différentes icônes, plusieurs fenêtres peuvent être affichées :


• Les fenêtres qu’il est indispensable d’avoir en permanence ouvertes :
- projet en cours (il est impossible de la fermer) ;
- fichier(s) source(s) du projet : un double clic sur le nom du fichier source dans le
gestionnaire de projet permet de rouvrir celui-ci ;
- Fenêtre de sortie («Output») : les différents onglets permettent d’afficher :
ƒ les résultats de la compilation (onglet «Build») ;
ƒ le résultat de la recherche dans tous les fichiers source du projet (onglet «Find in
files»). Dans le cas où cette fenêtre a été fermée, cocher dans le menu «View» l’option
«Output».

SE2 -7- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

• Certaines fenêtres qu’il est utile d’afficher dans certains cas :


- «Watch» : permet d’afficher le contenu de registres du microcontrôleur ou de variables
(choisir dans le menu «View» l’option «Watch») ;
- «Special Fonction Registers» : permet d’afficher le contenu des registres particuliers du
microcontrôleur (choisir dans le menu «View» l’option «Special Fonction Registers»)
- «File Registers» : permet d’afficher le contenu des registres particuliers du
microcontrôleur (choisir dans le menu «View» l’option «File Registers») ;
- «Disassembly listing» : permet d’afficher le listing du programme en assembleur à la suite
de la compilation, associé au code objet généré (choisir dans le menu «View» l’option
«Disassembly listing»).

Il est possible de visualiser les registres et les


variables en différentes bases. Pour ce faire,
appuyer avec le bouton droit sur l’en-tête de
colonne pour les visualiser et les sélectionner.

4.3. Les différentes étapes du développement

Pour développer une application destinée à être exécutée par un microcontrôleur PIC, les
différentes étapes sont les suivantes :
• saisie du programme source grâce à l’éditeur de texte de MPLAB,
• assemblage ou compilation du programme source,
• débogage du programme, c’est-à-dire recherche et correction des erreurs de programmation.
4.3.1. Saisie du programme source – Assemblage / Compilation
L’éditeur de texte de MPLAB permet, grâce à la coloration syntaxique, d’écrire le programme
source en assembleur. La traduction du programme source en code objet s’effectue grâce à
l’icône «Build All».

SE2 -8- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

• Il est impératif d’observer le résultat de la compilation


dans l’onglet «Build» de la fenêtre «Output» :
- Un message d’erreur («Error») nécessite
obligatoirement une modification du programme
source, la compilation n’étant pas complète. Pour
corriger l’erreur, un double clic sur le message d’erreur
de la fenêtre «Ouput» permet d’arriver directement sur
la ligne du programme source comportant l’erreur.
- Un message d’avertissement («Warning») doit être
examiné avec soin : dans certains cas, il s’agit d’un
oubli ou d’une erreur dans le programme source.
Cependant, un programme destiné à être exécuté par un
microcontrôleur comporte systématiquement une
boucle infinie qui sera signalée par un message
d’avertissement.
• Le message «BUILD SUCCEEDED» indique une
compilation réussie (comportant éventuellement des
avertissements).
4.3.2. Mode débogage
Pour détecter d’éventuelles erreurs de programmation, il est nécessaire de faire exécuter le
programme par le microcontrôleur en mode «débogage». Ce mode permet les différentes
actions suivantes :
• exécution en pas à pas ;
• exécution fonction par fonction ;
• exécution en continu ;
• exécution continue jusqu’à une certaine ligne du programme source («point d’arrêt») ;

SE2 -9- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

• affichage du contenu de registres du microcontrôleur et/ou variables (valeurs actualisées à


chaque arrêt du programme).

Activer le simulateur de débogage en


choisissant l’option «MPLAB SIM» à
partir du menu «Bebugger» puis «Select
Tool».

Les principales icônes utilisées pour le débogage apparaissent :

Exécuter le Exécuter le Initialisation


programme programme avec du programme
animation

Arrêter le Modes
programme pas à pas

4.3.2.1. Etapes du mode débogage


La procédure habituelle est la suivante :
• Compiler le programme (en cliquant sur l’icône «Build all») afin de s’assurer qu’il ne
comporte pas d’erreurs.
• Activer l’outil de débogage «MPLAB SIM».
• Lancer le débogage :
- soit en mode continu (icône «Run») ;

- soit en mode animation (icône « Animate »),

- soit en mode pas à pas (icônes « Step Into», « Step Over » ou « Step Out »).

• La réinitialisation du programme se fait en cliquant sur l’icône «Reset».

Remarque : A chaque modification du code source, il est impératif de recompiler le


programme («Build All») avant de relancer le débogage.

SE2 -10- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

L’information Après un lancement en mode


«Running» apparaît à continu du programme,
la gauche de la barre l’arrêt de celui-ci s’effectue
d’état. grâce à l’icône «Halt».

En mode animation («Animate»), une


flèche verte pointe l’instruction qui va
être exécutée.

4.3.2.2. Affichage de Registres / Variables.


L’observation du contenu de certains registres du microcontrôleur ainsi que des variables
facilite la mise au point.
L’affichage de la fenêtre s’effectue en choisissant dans le menu «View» l’option «Watch».

SE2 -11- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

Choisir le nom d’un registre du


microcontrôleur puis cliquer sur
«Add SFR». Choisir le nom d’une variable
puis cliquer sur «Add Symbol»

Il est possible de définir jusqu’à 4 ensembles de variables/registres


pouvant être affichés dans l’un des 4 onglets de la fenêtre «Watch».

Les valeurs des registres et/ou variables s’affichent en hexadécimal ainsi qu’en
décimal à chaque arrêt du programme (arrêt manuel, pas à pas ou point d’arrêt). Un
clic du bouton droit sur l’en-tête de colonne permet aussi de visualiser les valeurs en
binaire ainsi que les caractères.

4.3.2.3. Utilisation de points d’arrêt


L’exécution du programme en continu ne permet pas toujours de détecter l’origine d’un
fonctionnement incorrect.
Les modes pas à pas ou fonction par fonction sont parfois d’une mise en œuvre laborieuse.
Il peut alors être judicieux
d’utiliser les points
d’arrêts : une ligne du
programme source est
affectée d’un marqueur
qui déclenchera l’arrêt du
programme lorsque le
microcontrôleur exécutera
l’instruction
correspondante.
La définition et la
suppression des points
d’arrêts est réalisée par un
double clic sur la ligne
souhaitée, ou en choisissant
lors d’un clic droit sur celle-
ci l’option «Set Breakpoint»
ou «Remove Breakpoint».

La suppression de tous les


points d’arrêts s‘effectue en
choisissant lors d’un clic
droit dans la fenêtre d’édition
l’option «Breakpoints» puis
«Remove All Breakpoints».

SE2 -12- A.U. 2009/2010


ISTMT Tutorial MPLAB V8.00

5. Les fichiers indispensables

Lors d’une session de travail avec MPLAB, de nombreux fichiers sont générés. Seuls certains
d’entre eux méritent d’être sauvegardés :
• NomFichier.asm : fichiers source en assembleur : sauvegarde primordiale
• NomProjet.mcp : définition du projet de MPLAB : sauvegarde souhaitable
• NomProjet.mcw : définition de l’espace de travail de MPLAB : sauvegarde souhaitable
• Les autres fichiers de nom générique identique au nom du projet et d’extension COD, err,
HEX, lst ne sont pas indispensables : ils seront recréés lors d’une nouvelle session de
travail.
- NomProjet.cod est un fichier non texte, non lisible ;
- NomProjet.lst donne le détail des opérations d’assemblage, contient le texte de départ, les codes
machine et position mémoire et éventuellement les erreurs trouvées ;
- NomProjet.hex donne la liste des mots de 14 bits constituant le programme suivant le format
Intel ;
- NomProjet.err donne le détail des erreurs s’il y en a.

SE2 -13- A.U. 2009/2010