Académique Documents
Professionnel Documents
Culture Documents
Pratiques
Auteur: enseignant:
Ouriya mara Christophe H. kizil
Table des matières
Introduction 2
1 Environnement logiciel 2
1.1 Généralité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Schéma et explication du PIC24FJ128GA010 . . . . . . . . . . . . . . . 6
2 Partie 1 7
2.1 explications et définitions des mots clés . . . . . . . . . . . . . . . . . . 7
2.2 lire et écrire sur les ports E/S d’un pic . . . . . . . . . . . . . . . . . . 8
3 partie 2: compilation 9
3.1 allumer une led . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 chemillard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 chenillard à l’aide d’un boutton . . . . . . . . . . . . . . . . . . . . . . 10
4 conclusion 11
1 Environnement logiciel
1.1 Généralité
Pour réaliser cette manipulation on va utiliser l’environnement de développement
(IDE) de MICROCHIP (( MPLAB )). MPLAB IDE est un environnement gratuit de
programmation pour les micro-contrôleurs de la famille Microchip. Il contient tous les
outils nécessaires à la mise au point d’une application avec un cœur de microcontrôleur
PIC. Il contient un :
• Editeur de texte interactif,
• Compilateur assembleur (et C),
• Simulateur.
Téléchargements et installations: Afin de programmer un PIC, vous aurez besoin de
deux programmes sur votre PC. Un environnement de développement, c’est à dire
le logiciel dans lequel vous écrirez votre programme, qui dispose entre autres d’un
débogueur, et un compilateur. Bien qu’on soit totalement libre d’en choisir d’autre,
MPLAB est l’environnement de développement proposé par Microchip, constructeur
des PICs.
Édition et Compilation du programme: Cette partie permet d’apprendre à créer un
projet MPLAB, saisir un programme en assembleur et le compiler.
1. Démarrage – Avant de commencer, créer le répertoire lab1 puis dans ce répertoire
créer à nouveau un répertoire interrupteur. – Copier dans ce dernier répertoire les fi-
chiers –A la suite Lancer le logicielle MPLAB IDE à partir de l’icône qui se trouve sur
votre bureau.
2. Création d’un nouveau projet avec (( Project )) – Cliquer sur Project )) Project . . . –
Cliquer sur Suivant ¿puis sélectionner PIC24fj128GA010 dans le menu déroulant Device.
2 Partie 1
2.1 explications et définitions des mots clés
MAIN La fonction main est la fonction principale des pro-
grammes en C: Elle se trouve obligatoirement dans tous
les programmes. L’exécution d’un programme entraı̂ne
automatiquement l’appel de la fonction main.
#PRAGMA peut être utilisé pour appeler une fonction avant
l’exécution du main ou à sa sortie La commande
pragma permet au programmeur d’indiquer au com-
pilateur d’exécuter certaines actions.Elle dépend de
l’implémentation qui en est faite sur chaque compila-
teur, son utilisation diffère d’un compilateur à l’autre.
une possibilité de cette commande peut être de tracer.
• LATAx {x −→ A,B}
Le registre LATx définit ou réinitialise la ou les broches du port d’entrée/sortie lors-
qu’aucune autre fonction périphérique n’est affectée à ces broches via les ´’broches libres´’
• TRISx{avec x −→ A,B}
Les registres TRISx permettent de configurer la direction (entrée ou sortie) de chaque
broche du port. Un 1 sur le bit y de ce registre placera Rxy en entrée, un 0 le placera
en sortir. Pour le retenir c’est simple : 1 ressemble à la lettre (( I )) comme (( Input )), 0
ressemble à la lettre (( O )) comme (( Output )). Par exemple pour placer RB2 en sortie,
on placera le bit 2 de TRISB à 0.
• PORTx{A,B}:
Le port est un ensemble de broches sur un microcontrôleur qui représentent la connexion
physique de l’unité centrale de traitement (CPU) avec le monde extérieur et le micro-
contrôleur les utilise pour contrôler ou surveiller d’autres systèmes. Initialisation du
PORT en entrées/ sorties. Les registres PORTx permettent de placer la valeur de sortie
ou de lire la valeur en entrée du port x. Lorsque la broche y du port x est placé en sortie,
placer à 1 le bit y de PORTx placera Rxy à 1, idem avec 0. Lorsque la broche y du port
x est placé en entrée, le bit y de PORTx est l’image de la broche Rxy.Initialisation du
3.2 chemillard
Nous allons faire un chenillard, c’est-à-dire faire allumer l’une après l’autre chacune
des LEDs, connectées au PORTD comme ci-dessus, l’une après l’autre. On remarque que
les anodes des LEDs sont connectées au VDD, et leurs cathodes aux broches du PIC via
une résistance de limitation de courant. Cela signifie que pour allumer une LED, il fau-
dra mettre la broche correspondant à l’état logique 0. La raison pour laquelle les LEDs
ont été branchées dans ce sens plutôt que dans l’autre (plus intuitif), est que le compo-
sant supporte mieux d’absorber du courant que d’en fournir. La première chose à faire
est de configurer correctement votre horloge. Ensuite, puisqu’on utilisera le PORTD
pour allumer des LEDs, nous devons configurer l’ensemble de notre PORTD en sortie.
Il faut donc mettre le registre TRISD à 0. Nous allons aussi initialiser les LEDs de sorte
à ce qu’au démarrage elles soient toutes éteintes, en plaçant à 1 tous les bits de PORTD.
Puis ensuite il vous suffit de créer une boucle infinie, dans laquelle chaque cycle
correspondra à un aller complet de la LED allumée. Pour faire cet aller complet une
solution possible est d’utiliser une boucle for, dans laquelle à chaque cycle le paramètre
est décalé d’un bit à gauche, et ce jusqu’à ce que ce bit dépasse le bit 7 (on a 8 LEDs,
soit des bits de 0 à 7). Entre chaque étape de cette boucle for un placera une tempori-
sation pour limiter la vitesse de défilement de notre chenillard.
while ( 1 )
{
if (( PORTB & 1 ) = = 0x00 ) / * Test du bouton * /
{
for ( j = 1 ; j < 129 ; j < < = 1 )
{
PORTD = (~ j ) ; / * Mise jour des LED * /
for ( i = 0 ; i < 10000 ; i + + ) ; / * Attente * /
}
}
}
}
Références
[1] http://microchipdeveloper.com/tls0101:lab1
[2] http://ww1.microchip.com/downloads/en/devicedoc/39747f.pdf