Microprocesseurs et Microcontrôleurs
RST(S6)-ENSA
EEA(S3)-EST-KENITRA
-KENITRA 1
Plan
Introduction
Gestion d’un projet
Les directives de MPASM
Format des nombres
Prise en main de MPLAB X IDE
lancement de MPLAB X IDE
Création d’un projet
Ajout d’un nouveau fichier source au projet
Compilation du projet
Simulation du projet
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 2
1
04/12/2019
introduction
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 3
Gestionnaire de projet
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 4
2
04/12/2019
Gestionnaire de projet
Les fichiers sources (Source Files) sont des fichiers texte qui doivent être
écrit selon les règles d’un Assembleur ou d’un Compilateur
.
L’Assembleur ou le Compilateur convertit ces fichiers sources en code
machine et des espaces réservés faisant références au stockage des fonctions
et des données
L'éditeur de liens (Linker) résout ces espaces réservés et combine tous les
modules dans un fichier de code machine exécutable (Executable File)
L'éditeur de liens produit également un fichier de débogage (Debug File) qui
permet à MPLAB X IDE de relier les codes machine d'exécution vers les
fichiers source
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 5
Gestionnaire de projet
programmer
Program.hex
assembler/ (machine language)
translator 11 00xx 0010 0000
programmer
MOVLW 0x20
3
04/12/2019
Dans une première phase nous allons, éditer, compiler et simuler, sous le logiciel
MPLAB X IDE, un programme écrit en assembleur pour un pic 8 bits,
PIC16F84A
Chaque programme écrit en assembleur contient un ensemble de directives de
l’assembleur MPASM
Les directives de l'assembleur sont des instructions qu'on ajoute dans le
programme et qui seront interprétées par l'assembleur MPASM
Les directives ne sont pas des instructions destinées pour le PIC
Les directives les plus utilisées sont :
• LIST : permet de définir un certain nombre de paramètres comme le processeur
utilisé (p), la base par défaut pour les nombres, radix (r), le format du fichier
hex à produire (f) ainsi que d'autres paramètres
Exemple : LIST p=16F84A, r=dec, f=inhx8m
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 7
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 8
4
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 9
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 10
5
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 11
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 12
6
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 13
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 14
7
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 15
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 16
8
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 17
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 18
9
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 19
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 20
10
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 21
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 22
11
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 23
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 24
12
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 25
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 26
13
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 27
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 28
14
04/12/2019
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 29
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 30
15
04/12/2019
• Une partie concernant les codes des routines de service des interruptions
(ISR)
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 31
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 32
16
04/12/2019
Partie 1/2
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 33
Partie 2/2
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 34
17
04/12/2019
Compilation du projet
Cliquer sur l’un des boutons de compilation suivants et vérifier que la compilation a été
réussie :
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 35
Simulation du projet
Cliquer sur le bouton de débogage comme le montre la capture d’écran suivante :
Boutons de débogage
Cliquer sur le bouton « pause » pour marquer une pause :
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 36
18
04/12/2019
Simulation du projet
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 37
Simulation du projet
File Registres
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 38
19
04/12/2019
Simulation du projet
Mettre 05 et 0A respectivement dans les adresses 0x1C et 0x1D en procédant comme suit :
• Taper 0x1C dans le champ Enter a Hex Address
• Cliquer sur le bouton « GO TO »
• Cliquer sur le bouton « Close »
• Cliquer deux fois sur la case mémoire d’adresse 0x1C pour modifier son contenu
• Procéder de la même manière pour mettre 0A dans la case 0x1D
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 39
Simulation du projet
File Registres
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 40
20
04/12/2019
Simulation du projet
Cliquer plusieurs fois sur le bouton de de débogage « Step Into » jusqu’a atteindre l’instruction
« GOTO $ »
Vérifier que la case mémoire d’adresse, 0x1E, contient 0F, qui est aussi le résultat de
l’addition de 05+0A
File Registres
RST(S6)-ENSA
EEA(S6)-EST-KENITRA
-KENITRA 41
21