Vous êtes sur la page 1sur 12

Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique

Institut des sciences et technologies Année 2021/2022

TP 1
Prise en main de l’environnement MPLAB pour la programmation en
Assembleur des microcontrôleurs PICs

I. Objectifs
 Maitriser l’outil MPLAB pour le développement des applications à base d’un
microcontrôleur PIC.
 Apprendre la programmation en Assembleur PIC.
 Manipulation des LEDs et création d’un signal d’horloge à l’aide du microcontrôleur
PIC16F628.
 Compiler et implémenter les fichiers Hexa des codes élaborés sous Proteus.

II. Présentation de MPLAB


La société Microchip propose pour le développement de ses microcontrôleurs, un «
environnement de développement intégré » (IDE), sous la forme d’un logiciel du nom de MPLAB.
L’outil MPLAB permet d’éditer le code source de votre programme en assembleur, de le
compiler, le simuler et le déboguer.
Il contient :
Un éditeur du code source.
Un assembleur.
Un simulateur.
Il permet :
La rédaction du programme en langage Assembleur (fichier.ASM).
Compiler ce programme avec l'assembleur MPASM. Le résultat est un fichier avec
l'extension .hex contenant une suite d'instruction compréhensible par le PIC.
Exécution du programme par le microcontrôleur en mode « débuggage ».

1. Création d’un nouveau projet


Lancez MPLAB IDE v8.0 à partir de l’icône représenté ci-dessous, qui se trouve dans votre
bureau.

1
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Après quelques instants, vous vous retrouvez avec un écran vide avec menu et barre d’outils.
Si certaine fichiers ou projets s’ouvrent lors du démarrage, fermez-les.

Après avoir lancé


MPLAB, choisissez dans
le menu « Project »
l’option « Project
Wizard… »
(voir la figure 1).

Figure 1

L’assistant de création
de projet s’affiche. (Fig.2)
Cliquez sur « Suivant »

Figure 2

2
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

La première étape
(figure.3) consiste à
indiquer la référence du
microcontrôleur qui sera
utilisé (exemple-16F877A).
Cliquez ensuite sur
« Suivant »

Figure 3

La seconde étape (voir la


figure. 4) consiste à indiquer
l’outil qui sera utilisé
pour la programmation en
assembleur, choisissez
pour la rubrique « Active
Toolsuite » le langage
« Microchip MPASM
Toolsuite »
Cliquez ensuite sur
« Suivant » Figure 4

La troisième étape (voir la figure 5) consiste à indiquer le nom du projet ainsi que son
emplacement.
Indiquez dans la case « Project Name » le nom souhaité pour le projet (par exemple : TP4)
Spécifiez le répertoire dans la case « Project Directory » en utilisant le bouton « Browse
» pour parcourir l’arborescence des répertoires. Dans notre cas c’est le répertoire
«TP___MPLAB» et sous -répertoire (voir la figure 5). Cliquer « Select »

3
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Cliquez ensuite sur « Suivant »

Figure 5

La dernière étape permet d’ajouter au projet un fichier source existant (figure.6 a et b). Ce
dernier est un fichier source d’extension ‘’.asm’’.
Pour ajouter un fichier source existant, parcourir l’arborescence dans la fenêtre ci-dessous,
sélectionner le fichier désiré puis cliquer sur « Add ».

Figure 6a

4
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Il faut, aussi, rajouter un deuxième fichier d’extension ‘’.lkr’’ (figure 6 b). Ce dernier est un
fichier de lien, il contient la configuration de la mémoire ainsi que les noms des registres du
PIC considéré (dans notre cas le PIC16F877A).

Figure 6b

Note. Le fichier de lien se trouve dans le répertoire suivant : C:\Program


Files(×86)\Microchip\MPASM Suite\LKR\18f8722.lkr.
L’assistant de création de projet (figure.7) affiche un résumé sur les différentes
considérations. Cliquez sur « Terminer » pour valider la création du projet. :

Figure 7

5
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

2. Gestion du projet
2.1 Visualisation du projet et des fichiers
Pour visualiser le projet, aller vers View et sélectionner Project et Output (figure 8). Afin
d’afficher le programme en Assembleur déjà rajouter, sélectionner le fichier ensuite « éditer »
(figure 9).

Figure 8 Figure 9

2.2 Les fenêtres de MPLAB


Après la visualisation du projet et des fichiers reliés à ce dernier, trois fenêtres sont
indispensables d’avoir en permanences ouvertes (figure 10) :
Fenêtre 1
Affichage de tous les fichiers relatifs au projet.
Fenêtre 2
Affichage de programme en Assembleur (code source).
Fenêtre 3
Les différents onglets permettent d’afficher : Les résultats de la compilation (onglet «
Build ») et les résultats de la recherche dans tous les fichiers source du projet (onglet «
Find in files »).

6
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Figure 10

2.3 La barre d’outils de MPLAB


Les différentes icônes disponibles dans la barre d’outils de MPLAB sont présentées sur la
figure 11.

7
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Figure 11

2.4 Assemblage et compilation du code source


Pour la compilation du programme, aller vers la barre d’outils et appuyez sur « Buils »
comme présente la figure 12.

Figure 12

8
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Si il n’est ya pas d’erreurs, une fenêtre de sortie vous affichera :

Figure 13

2.5 Le mode « Débogage »


Le mode « débogage » permet de simuler le PIC en situation. C.-à-d, exécuter le programme
par le microcontrôleur tout en gardant le contrôle de 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
»);
Affichage du contenu de registres du microcontrôleur et/ou variables (valeurs
actualisées à chaque arrêt du programme).

Pour bénéficier du mode de fonctionnement « Débuggage », choisissez dans le menu «


Debugger » l’option « Select tool » le simulateur de MPLAB « MPLAB SIM ». Cela comme
présente la figure 14.

9
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Figure 14

Les principales icônes utilisées pour le « débuggage » apparaissent dans la partie droite de la
barre d’outils de MPLAB :

Figure 15

Une barre d’outils permet de commander le simulateur :


Icône 1 : mode « Run », la simulation est exécuté à grande vitesse, jusqu’à un point
d’arrêt ou l’appui sur l’icône « Halt » ;
Icône 2 : « Halt », arrête le mode « Run » et « Animate » ;
Icône 3 : mode « Animate », exécute le programme lentement (en pas à pas) jusqu’à
l’appui sur « Halt » ;
Icône 4 : mode « Step Into », exécute le programme pas à pas en passant dans tous les
sous programmes ;
Icône 5 : mode « Step Over », exécute le programme pas à pas sans passer dans les
sous programmes ;
Icône 6 : mode « Step Out », exécute le programme pas à pas en sortant des sous
programmes ;
Icône 7 : mode « Reset », place le compteur programme à l’adresse 0x0000.

Lorsque l’on exécute le programme, il est intéressant de voir évoluer le contenu des registre
utilisés dans le programme. Cela est accessible via le menu View.

10
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

III. Travail demandé


Partie 1
Nous voulons programmer (en Assembleur) le PIC16F628A afin d’allumer les LEDs reliées aux
pines du PORTB, comme montre le schéma de la figure suivante :

X1 U1
16 17
RA7/OSC1/CLKIN RA0/AN0
15 18
RA6/OSC2/CLKOUT RA1/AN1
1
CRYSTAL RA2/AN2/VREF
4 2
RA5/MCLR RA3/AN3/CMP1
3
RA4/T0CKI/CMP2
C1 C2 D1
39pF 39pF 6 R1
RB0/INT
7
RB1/RX/DT
8
RB2/TX/CK 390
9 LED-GREEN
RB3/CCP1
10
RB4
11 D2
RB5
12
R2
RB6/T1OSO/T1CKI
13 390
RB7/T1OSI
LED-GREEN
PIC16F628A
D3
R3

390 LED-GREEN

D4
R4
390
LED-GREEN

Pour cela,
1) Lancez MPLAB puis créer un nouveau projet. Suivez les étapes détalées dans les figures :
1, 2, 3, 4, et 5. Sauvegarder le projet dans un dossier (nommé TP_MPLAB, par exemple).
2) Rajouter le fichier de lien (.lkr) comme montre la figure 6 b.
3) Rajouter un fichier source (.asm) comme montre la figure 6 a.
4) Afficher le projet ainsi que les fenêtres utiles, comme présentent les figures : 8, 9 et 10.
5) Saisissez le programme puis compiler avec « Build All », comme présente la figure 12.
6) Compiler et implémenter le fichier hexa du code élaboré sous ISIS Proteus.

NOTES
 Le fichier de lien (.lkr) se trouve dans le répertoire : C:\Program\Microchip\MPASM
Suite\LKR\16f628a.lkr.
 Mettez le fichier du code source (.asm) dans le même répertoire du projet crée.
 Dans le cadre de ce premier TP les programmes sont donnés par l’enseignant.

11
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Partie 2
Nous voulons programmer (en Assembleur) le PIC 16F628A afin de générer une horloge en
RB0, comme montre le schéma de la figure suivante :

X1 U1
16 17
RA7/OSC1/CLKIN RA0/AN0
15 18
RA6/OSC2/CLKOUT RA1/AN1
1
CRYSTAL RA2/AN2/VREF
4 2
RA5/MCLR RA3/AN3/CMP1
3
RA4/T0CKI/CMP2
C1 C2
39pF 39pF 6
RB0/INT A
7
RB1/RX/DT
8
RB2/TX/CK B
9
RB3/CCP1
10
RB4 C
11
RB5
12
RB6/T1OSO/T1CKI D
13
RB7/T1OSI
PIC16F628A

Pour cela,
1) Modifier le code source de la Partie 1 afin de générer une horloge en RB0.
2) Compiler avec « Build All », comme présente la figure 12.
3) Sélectionner dans le menu « Debugger » l’option « Select tool » le simulateur de
MPLAB « MPLAB SIM ». Comme présente la figure 14.
4) Exécuter le programme en mode pas à pas (voir la figure 15). Puis,
 Afficher l’état des registres SFR (aller à View) ainsi que la mémoire programme.
 Effectuer la simulation de la sortie RB0 en fonction du temps avec l’outil
« Simulator Logic Analyzer » (allez à View>Simulator Logic Analyzer>Channel,
puis sélectionner RB.0 et en fin Add).
5) Compiler et implémenter le fichier hexa du code sous ISIS Proteus.
6) Donner l’organigramme et le programme permettant au PIC de réaliser cette tâche.

12

Vous aimerez peut-être aussi