mardi 24 octobre 2017

MPLAB Xpress Evaluation Board: programmation des entrées/sorties

J'amorce avec ce billet une série de tutoriels sur la programmation du MPLAB Xpress Evaluation Board au moyen de l'IDE en ligne MPLAB Xpress.

La carte MPLAB Xpress Evaluation Board comporte un microcontrôleur PIC16F18855, 4 LEDs, un potentiomètre, un bouton poussoir (en plus du bouton reset) et une bonne trentaine d'entrées/sorties.  On programme le microcontrôleur en branchant la carte directement au port USB d'un ordinateur (aucun programmateur n'est donc requis).

Première utilisation

La première fois que vous branchez la carte à un ordinateur, des pilotes sont automatiquement installés.


La carte est ensuite reconnue comme un périphérique de stockage:


En cliquant sur le fichier "README.HTM qui se trouve à l'intérieur du périphérique de stockage, vous accédez à l'IDE en ligne MPLAB Xpress (cliquez sur le bouton "Get Started NOW!"). 

Vous pouvez utiliser l'IDE en mode invité ("Guest Mode") ou vous inscrire et ouvrir une session, ce qui vous permettra d'enregistrer vos programmes sur le cloud ("MyMicrochip Login", dans le coin inférieur droit de la fenêtre ou dans les menus en haut à droite).



Créons un nouveau projet (bouton "New Project")


Il existe des exemples déjà faits, mais choisissons "Standalone Project" afin de créer notre propre projet à partir de zéro.


Dans "Device", on s'assure de sélectionner PIC16F18855, puisque c'est ce microcontrôleur qu'on retrouve sur le MPLAB Xpress Evaluation Board.


Puis on choisit le nom qu'on veut pour notre projet.



Installation de MPLAB Xpress Code Configurator (MCC)

Nous allons maintenant installer MCC:  le MPLAB Xpress Code Configurator.  Pour une raison qui m'échappe, c'est outil doit être téléchargé et installé localement sur votre ordinateur.

Vous cliquez sur le bouton MCC:


...et après avoir au besoin mis à jour votre version de java, vous téléchargez MCC.  La fenêtre vous indique également un code que vous entrez dans MCC quand vous le démarrez pour la première fois.


Au démarrage de MCC, vous entrez le code demandé, ce qui permet à l'application de se connecter au projet actuellement ouvert dans MPLAB Xpress.

Configuration avec MCC


MPLAB XPress Code Configurator permet de générer des fichiers "header" qui configurent le microcontrôleur selon nos besoins.

Sur la carte MPLAB Xpress Evaluation Board les 4 LEDs sont associées aux pins RA0, RA1, RA2 et RA3, alors que le bouton est associés à RA5.

Nous allons donc configurer les pins 0, 1, 2 et 3 du port A en sortie, et la pin 5 du port A en entrée.  Pour ce faire,  vous cliquez dans les cases appropriées pour que les petits cadenas ouverts sur fond bleu se transforment en cadenas fermés sur fond vert.



Cliquez ensuite sur "Pin Module" dans la zone "Project Resources" en haut à gauche.  Décochez toutes les cases "Analog".  Remarquez que, si vous le désirez, vous pouvez également modifier le nom de chacune des pins que nous utiliserons (par défaut, elles se nomment "IO_RA0", "IO_RA1", etc.)

Vous cliquez ensuite sur le bouton "Generate".


Retour à l'IDE MPLAB Xpress:  vous pouvez vérifier que des fichiers ont été ajoutés à votre projet dans le répertoire "MCC Generated Files".



Programmation avec MPLAB Xpress

Il ne nous reste plus qu'à écrire notre programme à l'intérieur du fichier "main.c" qui, lui aussi, a déjà été créé pour nous.

Le fichier pin_manager.h définit une syntaxe qui nous permet de piloter nos entrées/sorties de façon conviviale:
  • IO_RA0_SetHigh()     pour allumer la LED branchée à A0
  • IO_RA1_SetLow()      pour éteindre la LED branchée à A1
  • IO_RA5_GetValue()   pour lire l'état du bouton
Je vous rappelle que j'aurais pu, dans MCC, modifier le nom de chaque GPIO.  Le code serait alors encore plus lisible avec des directives comme "LED1_SetHigh()" et "Bouton_GetValue()".

Voici, par exemple, le traditionnel clignotement d'une LED:



Dans ce deuxième exemple, la première LED à gauche est allumée pendant qu'on appuie sur le bouton, alors que c'est la dernière LED à droite qui s'allume lorsque le bouton est relâché.



Pour téléverser le programme dans le microcontrôleur du MPLAB Xpress Evaluation Board, il s'agit de cliquer sur le bouton "Run project" et de sauvegarder le fichier ".hex" dans la carte, qui apparaît comme un périphérique de stockage.



Dans un prochain billet, nous verrons comment envoyer des informations par liaison série, pour affichage à l'écran de l'ordinateur.

Yves Pelletier   (TwitterFacebook)

Aucun commentaire:

Enregistrer un commentaire