Outils de Développement

Langage de programmation

 
La programmation des microcontrôleurs se fait naturellement en langage assembleur.
 Microchip propose MPLAB IDE

Télécharger  MPLAB IDE


On peut aussi programmer les microcontrôleurs par :

     Langage C

     Pascal

     Basic

Télécharger ICI


Le programmateur (logiciel)


C’est un logiciel développé par Bonny Gijzen, vous pouvez le  télécharger :    ICI

Il permet le transfert le fichier (.HEX) généré par le compilateur dans la mémoire Flash du microcontrôleur.




Pour que IC-Prog puisse fonctionner sous Windows XP / Vista / Windows 7 , vous devez faire la manipulation suivante :

 Settings => Hardware (F3) => et cocher la case Windows API   
   
   1)   Après le lancement  de notre logiciel la première étape à faire est de choisirez le PIC qu’on va programmer par exemple (16f876A).
   2)   La deuxième étape et de choisir le type de notre programmateur  dans notre cas on va choisir le JDM qui sera branché sur le port COM1 de notre PC.
   3)   La troisième étape consiste à ouvrir notre fichier (.HEX) et ceci en cliquant sur le menu file, puis ouvrir notre fichier (.HEX) avec la commande (open file).
   4)   Enfin et après avoir vérifié la connexion de notre PIC on envoie  le programme vers notre PIC avec la clique sur l’icône « Program All ».  


Le programmateur (hardware)


Il existe des cartes de programmation qui se branchent sur le port série, le port parallèle ou bien le port USB d'un ordinateur.

Pour moi , j'utilise le programmateur JDM (sur port série)





schéma de base pour un simple programmateur



Le Pic se programme en série sur les broches RB7 et RB6
-   RB7 fonctionne dans les deux sens, on l'utilise pour envoyer les données sur le PIC ou pour lire les données qui s'y trouve (c'est la broche DATA). 
-   RB6 est utilisée comme horloge vue que la programmation se fait mode synchrone. C'est le programmeur qui la génère (c'est la broche CLOCK).
-  Pendant la phase de programmation, il faut placer le PIC en mode programmation, pour cela, deux méthodes sont possibles :

Programmation haute tension (HVP) :  il faut appliquer une tension de 12V sur la broche MCLR. Une fois la programmation terminée, il faut placer la broche MCLR à Vdd pour passe en mode "run", ne pas oublier le quartz bien sur.

Programmation Basse tension (LVP) :  il faut appliquer 5V sur L'entrée MCLR et faire passer la tension sur l'entrée RB3 de 0V à 5V. Une fois la programmation terminée, il faut placer le MCLR à Vdd et le RB3 à la masse pour passer en mode "run".
Le PIC étant bien entendu alimenté entre Vss (masse) et Vdd (5V)

Pour plus de détails visité ce site :  ICI


Le programmateur utilise aussi la programmation avec Un BootLoader 

Le BootLoader est un programme résidant dans le PIC en haut de la ROM (256 dernières adresses). Il permet de mettre à jour le programme contenu dans le PIC en écrivant directement dans la ROM via l’UART et le port RS232 du PC. Le BootLoader est protégé contre les écritures dans la zone réservée à son code. Il ne permet pas d’écrire les fusibles ni l’EEPROM interne.
Au démarrage du PIC, celui-ci scrute le port série pendant environ 2 secondes ; s’il reçoit le caractère ‘A’ envoyé par le logiciel de téléchargement, il passe en mode programmation, sinon il exécute le programme. On peut prévoir de reseter le PIC à la réception du caractère ‘A’ dans le programme pour passer directement dans le bootloader.

Les avantages d'un bootloader sont :
  • Grande rapidité! il faut de l'ordre de 10 secondes pour programmer la totalité de la mémoire sur un PIC de la famille 16Fou bien 18F contre une bonne minute (selon le I/O delay) avec ICPROG
  • Très pratique! Fini les pattes arrachées, les pins enfoncés dans le pouce etc... il suffit de tirer trois fils (masse, RX et TX) de votre circuit, et c'est tout!.

Le principe du bootloader est de programmer le PIC avec ICPROG et le programmateur JDM une et une seule fois : on envoie le code du bootloader qui va, lors du démarrage du PIC, scruter le port série de ce PIC. Si il détecte qu'il y a un PC connecté dessus, avec le programme PICdownloader (telecharger ICI avec le bootloader) en attente d'écriture, il va recevoir le fichier .hex envoyé et l'écrire dans la mémoire du PIC. Votre PIC sera ainsi programmé sans le retirer du circuit, juste en reliant son port série à celui du PC par le biais d'un MAX232. Vous trouverez un schéma sur cette page (ATTENTION il y a une erreur dans le schéma : le condensateur relié sur la patte 2 du MAX232 doit être inversée par rapport à ce qui est indiqué).

Le BootLoader est compatible avec 16F870/1/3/4/6/7 et 16F876, 16F876A, 16F877, 16F877A. aussi avec les familles 18F,24F...

vous trouver le code source avec le logiciel dans ce site :  ICI
pour 18F,24F...  ICI

Vous avez maintenant tout ce qu'il vous faut pour commencer la programmation des microcontrôleurs de Microchip