pages

26 janv. 2016

Je fais clignoter une Led

Faire clignoter une led est souvent le premier programme quand on aborde la programmation des microcontrôleurs.

Ce petit programme est l'occasion de présenter quelques notions sur le langage C utilisé pour les microcontrôleurs PIC de Microchip.

Avant de commencer la programmation il faut bien entendu avoir installé l'IDE (MPLABX) et le compilateur (XC8), ces logiciels sont disponibles sur le site de Microchip.Voir le précédent billet installation MPLAB X et XC8.

Le programme est :

programme mplab x


Nous allons maintenant voir les différentes parties du programme.
La première partie non obligatoire mais fortement conseillée car elle permet d'informer sur les caractéristiques du programme. Chacun défini les informations qu'il désire mettre.

 /*
 *File :   test_led.c
 *Auteur : patou149
 *Created on 23 janvier 2015
 *version : 1
 *programme pour faire clignoter une led à l'aide d'un 16F690
 */

Les commentaires sont donc inclus entre les deux délimiteurs "/*" et "*/"

Il existe une autre possibilité d'écrire un commentaire l'utilisation de "//"

 // pour faire clignoter une led à l'aide d'un 16F690

Cette autre possibilité est souvent utilisée pour commenter une ligne de code.

  if(choix>12)        // test si choix supérieur à 12

toute la partie gauche avant le "//" c'est du code, la partie après c'est du commentaire.

Nous trouvons ensuite l'instruction :

 #include <xc.h>

cette instruction est obligatoire elle permet au compilateur-linker d'accéder aux caractéristiques du microcontrôleur choisi, elle remplace :

 #include  <p18cxxx.h>

qui est utilisée dans MPLAB 8.
Nous arrivons à la section qui permet de définir la configuration du PIC : oscillateur, reset, ........, ces lignes de configuration commencent par

  __#pragma config__

Après cette section de configuration nous arrivons à la section de déclaration : variables, pins ...... ces lignes de déclaration commencent par :

 __#define__

exemple :

 #define LED PORTCbits.RC3  

permet de donner l'étiquette  "LED" à la pin 3 du  portC.

Si dans le programme l'étiquette "LED" est utilisée elle sera remplacée, lors de la compilation, par "PORTCbits.RC3".

Les étiquettes sont souvent utilisées car elle permettent une meilleur lisibilité  et une maintenance plus simple du programme.
Nous arrivons au programme principal, celui ci est délimité par :

 main () {


 }

ce programme comporte une partie initialisation et une boucle infinie délimitée par :

 while (1) {


 }

Dans le prochain billet nous créerons le programme dans l'environnement MPLAB X.
Le programme est en pièces jointes : test_led_main.c

Aucun commentaire:

Enregistrer un commentaire