picard02
MikroBasic : prise en main

Nous insistons sur le fait que nous sommes dans une série d´initiation au Basic pour PIC et pas dans un espace d´initiation aux PIC ; pour cela, le lecteur devra avoir consulté les premières pages PicTrain de Psi (voir ici), et appréhendé ce que sont un microcontrôleur, un octet, un bit, le rôle des différentes pattes d´un PIC, les noms et rôles des principaux registres, comment et pourquoi on “grave” un fichier .HEX grâce à un programmateur, et plus tard ce que sont un sous-programme, un include, une interruption... Ceci
n´est pas
une initiation
aux PIC !
Car, dans la phrase “ET_testClavier bsf PIE1,TMR1IE”, seul le mot bsf est “de l´assembleur”, le reste “c´est du PIC” et se retrouve (hélas ) à l´identique dans un environnement de programmation évolué pour PIC (PIC IDE), que ce soit en Basic (tous les basics !), en C (tous les C !), en JAL ou en Python...
Bien sûr, nous y reviendrons en utilisant le Basic, mais pas avec autant de super-détaillage pédagogique.
Post-scriptum : nous ne parlons pas ici des langages “hyper-évolués” qui, je cite, “permettent à des utilisateurs non expérimentés de créer en quelques minutes des systèmes électroniques complexes (aucune expérience initiale en programmation)”.

“Mon premier programme”
Le titre ci-dessus est le classique du genre : on le retrouve dans plus de 500000 pages web et nous sacrifierons nous aussi à la tradition ! (N.-B. — En anglais Mon premier programme se dit Hello.)
Vous devez savoir télécharger et installer un programme (mikroBasic compiler) depuis la page de l´éditeur MIKROELEKTRONIKA, http://www.mikroe.com/en/download/ ainsi que, si vous êtes un poil anglophone, le mikroBasic manual, les documents Creating First Project in mikroBasic for PIC, et Quick Reference Guide for Basic language.
Cela fait, votre ordinateur contiendra le langage mikroBasic (avec tout le nécessaire, des exemples de code et des fichiers pour tous les PIC existants), le compilateur... tout ce qui est utile pour créer un fichier .HEX standard (comme ceux de PicTrain) que vous pourrez graver avec le logiciel et le programmateur de votre choix.
Si vous pouvez vous payer le luxe (à 149 euros ou 149 dollars, au choix) d´une carte tout-en-un comme la EasyPic du même fabricant, vous devrez encore installer le logiciel de gravure (FlashPic), encore des exemples de code, des schémas et des aides, et des pilotes USB. Mais à partir de ce moment, vous pourrez écrire, graver (en sept secondes à peu près), déboguer, tester tout ce que voulez sans avoir plus jamais à ôter un PIC !

“Hello”
Eh oui, Hello, car tout est et tout restera sûrement toujours en anglais !
Pour nous consoler, rappelons que les logiciels et la carte sont... serbes et qu´on a plus souvent des notions d´anglais que de serbe — en fait, c´est un service que microElektronika nous a rendu ! Et ceux qui ont connu (en 1980-85) le Basicois de l'Ordinateur individuel ou le Pascal de l'Education nationale se souviendront du ridicule (et en définitive de la perte de temps) des AllerA et des EcrireLigne !

1. Créer un nouveau “projet”
Ouvrir mikroBasic d´un double clic. Dans le menu Project choisir New Project...
La notion de “projet” est la même qu´en assembleur avec son “Project wizard”  : c´est en fait la création d´un dossier avec tous les fichiers qui servent au langage pour créer un programme. Le texte du programme Basic ne sera qu´un des onze fichiers.
Voici la fenêtre du nouveau projet  :
Légendes :
a. Saisir le nom que vous voulez donner à votre projet
b. Saisir ou...
c. Choisir (browse) l´endroit de votre disque dur où sera placé le projet
d. Choisir le type (device) de votre PIC dans une liste déroulante (12F675)
e. Fréquence d´horloge (clock), ici 4 MHz
f. Réglage du “mot de configuration” (comme en assembleur, donc, mais interface différente), cliquez sur les sept cases ; choix que la fenêtre résume à un nombre en hexadécimal :
g. _CONFIG: 0x3F84 (un quasi-standard pour le PIC 12F675. Des détails, plus tard...)
h. OK quand vous avez fini !

2. Saisir le programme
Une fenêtre s´ouvre, qui porte le nom du projet (HelloBasic.pbp), elle est bien sûr vide pour l´instant.
Dans la partie a, cliquer et saisir le code ci-contre. Tout caractère a son importance, de même que ponctuation, espaces, et même majuscules.
Ce code de 10 lignes représente au complet ce qu´il faut écrire pour commander le clignotement de toutes les leds du port GPIO (cinq leds, puisque la patte n° 5 n'est qu'une entrée, jamais une sortie).
La signification exacte, plus tard... Et les couleurs ne seront pas les mêmes chez vous, pour l´instant.

3. Lancer la compilation
Un control-S (ou File, Save as...) pour la sauvegarde du travail, et l´on va commander la compilation de notre projet : mikroBasic va vérifier notre saisie, traduire tout cela en langage assembleur (à notre place, donc, eh eh), écrire ses fichiers perso et enfin engendrer le code .HEX final.
Pour compiler, on appuie sur l´icône ( un jeu d´engrenage), ou control-F9.
Et comme on n´a pas fait de faute de programmation ni d´orthographe le message “Success s´affiche dans la case du bas (Messages). Victoire ! Champagne !
À titre de curiosité voici les onze fichiers de notre premier projet.
Des onze, trois sont “humainement” utiles : HelloBasic.pbas, c´est le code que nous avons saisi (ouvrable et corrigeable avec l´excellent éditeur de texte gratuit NotePad++ ou même le bloc-notes de Windows) ; puis HelloBasic.asm, où nous voyons l´assembleur tel que l´écrit mikroBasic (on retrouve des codes connus et on voit aussi des inutilités tel ce BCF STATUS, RP1, du moins à mon avis ?)...

3. Lancer la compilation (sans carte Easypic)

Voici le fichier .HEX où tout ce qui nécessaire et suffisant au PIC est contenu (vous y voyez par exemple "843F" qui est (à l´envers) le 3F84 du mot de configuration !).Dorénavant, vous vous retrouvez au même point qu´après une courageuse écriture en assembleur telle que PicTrain vous l´a enseignée ; si vous avez déjà un logiciel de gravure (IC-Prog...) et une carte vous transférez le .HEX vers la carte via IC-Prog, et vous insérez le PIC dans votre montage — et les cinq leds du 12F675 clignotent 16 fois par seconde.
Sur une carte d´essais sans soudure,
vite fait, cinq leds, cinq résistances,
un condensateur et un PIC,
et hop, ça clignote grave !  

Vous avez une EasyPic ?
Rendez-vous en page 3.
Ou bien, en attendant d'acheter la carte EasyPic,
quelques exemples de programmes en mikroBasic
...

Si vous trouvez une erreur ou une chose pas claire dans cette page, faites-le-nous savoir par mail, au plus vite, merci !
Les mots marqués d´un astérisque (*) sont ou seront expliqués dans le “P´tit dictionnaire du Meccano électronique”.
Bibl. : PicTrain, divers. — Descr. : PIC, MikroBasic
 

Jidé
août 2008

Rev 3/11/08
Ptitrain, l´e-magazine du train éclectique. — Directeur de la publication : Christophe Franchini.
Rédacteur en chef : Jean-Denis Rondinet