Réalisations à base de microcontoleurs  

Programmation sur PC  

Réalisations diverses  

Etudes actuelles  

Expériences  

Etudes parallèles  

Lectures intéressantes  

Divers  

Projets avortés  

Thèmes obsolètes  

Mise à Jour  
DECOUVERTE DU PIC
Mode d'emploi.


 

Comme tout le monde, on s'y intéresse et on passe du temps !

OBJECTIF :

  • Cette approche se veut comme un petit " guide du routard " pour vous permettre d'être efficace le plus rapidement.
  • Cette approche ne devrait pas être redondante avec d'autres sites que j'ai déjà fréquentés. Je tiens à préciser que ces sites m'ont permis d'évoluer et je remercie tous ces internautes. Je veux dire que je ne donnerai qu'une démarche de découverte et des liens intéressants, donc je n'ajouterai pas la première expérience qui est de faire clignoter une LED.
    • Beaucoup l'ont fait avant moi et je ne ferai que les plagier.
    • Pour débuter, je pense qu'il est indispensable de faire cette expérience, ne serait-ce que :
      • Pour s'approprier le langage assembleur du PIC.
      • Son environnement de développement MPLAB.
      • Sa programmation.

DIVERSITES :

Lorsque l'on veut se mettre au PIC, on est rapidement submergé par une multitude d'informations. Les microcontrôleurs PICs font partie d'une très grande famille, qui elle-même est divisée en gamme 12, 14, 16 bits. Et chaque gamme possède des ressources internes différentes. Sans parler des programmateurs proposés, soit par Microchip, soit par d'autres internautes.
Trop d'informations tuent l'information.
Pour simplifier toute cette approche, j'ai fait le choix, en toute modestie, du PIC 16F84 et du PIC 16F876.
Pourquoi le 16F84 ?
  • Il a une mémoire programme FLASH EEPROM de 1 kmots qui peut être reprogrammée environ 1000 fois. Ce qui donne la possibilité :
    • De modifier souvent ces programmes.
    • D'écrire des programmes conséquents ( 1000 lignes effective de programme).
    • Du fait que ce soit de la FLASH, pas besoin de lumière U.V. pour effacer, juste une petite seconde d'attente. Pour écrire, c'est un petit peu plus long !
  • Des entrées / Sorties programmables, interruptions comprises.
  • Un petit TIMER simple d'emploi.
  • Une EEPROM de données de 64 octets.
  • Des notes d'applications variées et disponibles chez le fondeur MICROCHIP.
  • Une bonne popularité et des possibilités d'échanges entres internautes.

Pourquoi le 16F876 ?
  • Il a plus de mémoire : 8 kmots.
  • En plus des entrées / Sorties programmables et des interruptions, il possède certaines ressources internes tel que :
    • Convertisseur Analogique / Digital 10 bits.
    • Plusieurs TIMERs
    • Des liaisons séries SCI, I2C, SPI.
    • Des sorties P.W.M. ou Modulation de Largeur d'Impulsion (M.L.I.)

RESSOURCES QUASI INDISPENSABLES :

  • Le site de

    MICROCHIP ou je vous conseille :
    • La documentation technique.
    • Les notes d'applications.
    • Le téléchargement de MPLAB qui est l'environnement de Développement Intégré (IDE). MPLAB possède un éditeur de texte, un assembleur, un simulateur performant. Il a aussi la possibilité de programmer le PIC via PRO MATE ou PICSTART Plus, sans oublier l'émulateur MPLAB ICE (si vous avez les moyens),PICMASTER outil de débuggage matériel.
  • La lecture du livre de

    BIGONOFF : "LA PROGRAMMATION DES PICs". N'hésiter surtout pas à l'imprimer, il recèle de bons conseils, des méthodes de travail, des astuces et des exemples pour débuter (dont la diode qui clignote). Je le considère comme LA REFERENCE pour débuter et aller plus loin dans la programmation. Il vous Boostera dans l'étude du PIC !
  • D'autres sites qui donnent des exemples ou schémas divers sur ce sujet :

LES PROGRAMMATEURS :

Ecrire des programmes c'est bien, les voir s'exécuter dans des applications c'est mieux !
  • Il existe ceux de MICROCHIP, si votre budget le permet.
  • Il existe ceux d'internautes passionnés qui ont adopté différentes démarches de conception et les différents ports du PC. L'inconvénient est qu'il faut se faire les cartes.

LE PORT SERIE

Le magazine ELEKTOR en a proposé un. Ce montage vient du numéro double d'Elektor 2000. Son auteur est Jürgen Klein qui en détient les droits conjointement avec Elektor. Son avantage est de ne nécessiter aucune alimentation externe. Pour avoir un scan du document de cette réalisation, Faire un click droit et sauvegardez le lien sur votre Disque Dur (le fichier s'appelle pic16F.gif ~189ko).
Ce schéma est reproduit avec l'aimable autorisation d'Elektor.


Lien pour accéder à l'article original d'Elektor.
 



ATTENTION:
Ce type de programmateur est à déconseiller pour l'utilisation sur un portable, car les niveaux du port série sont généralement insuffisants.
Il pose souvent problème pour les 16F84A qui ont été programmées en code-protect. Il semblerait dans ce cas que la tension de programmation doive être plus conforme aux prescriptions et l'absence d'alimentation externe pose alors en général des problèmes de reprogrammation.

 
Le logiciel de programmation adapté à cette carte, proposé par ELEKTOR à l'époque était PIP02 qui fonctionnait sous DOS. Ce programme n'a jamais marché sur mon PC. Mais j'en ai trouvé d'autres qui sont PICPROG, NT PICPROG et

IC PROG qui fonctionnent bien sous W98. Je ne parlerai que de

IC PROG par la suite car il peut travailler sur mes 2 programmateurs (et il en fait encore plus). Ces logiciels ont juste besoin du fichier programme de téléchargement avec l'extension *.HEX.

LE PORT PARALLELE

J'ai repris le schéma de TAIT qui fonctionne bien. J'ai aussi choisi ce port car MICROCHIP conseille des temps de programmation qui me semblent plus fiable à réaliser en utilisant le port parallèle. Ce programmateur utilise une alimentation externe tel les blocs secteurs habituels possédant la tension de sortie 12V. Pour avoir un aperçu du document de cette réalisation, cliquer sur l'image ~40ko.
 



 

ICSP

Comme j'en avais marre de déplacer le PIC entre la platine de travail et le programmateur (même si l'on a un support d'insertion nulle !), je me suis fait un programmateur In Situ (ou ICSP selon MICROCHIP ) inspiré du schéma de TAIT et des notes AN 656 et TB 016 de MICROCHIP. Pour avoir un aperçu du document de cette réalisation, cliquer sur l'image ~46ko.
 


  • Il faut prévoir sur la platine cette possibilité d'extension :
    Connecteurs 6 points. 0, +5V, MCLR, RB6, RB7 (et PGM ou RB3 pour PIC 16F876).
    RB6 et RB7 doivent être en entrée sur votre platine ou bien isolé du reste du montage pendant la programmation.

  •  

     
  • Ce programmateur In Situ est alimenté par la platine ayant le PIC (et non par le port parallèle) et possède son convertisseur +5 à ~13 V pour la tension de programmation du PIC.
  • Ce programmateur ICSP possède une broche de plus que les notes AN 656 et TB 016 de MICROCHIP car je veux qu'il puisse aussi programmer le 16F876 en basse tension. Après plusieurs essais, ce programmateur fonctionne parfaitement:
    - Pour le 16F84 en Haute tension (13V).
    - Pour le 16F876 en Basse tension. Je n'ai pas essayé en haute tension, mais comme la programmation, dans ce cas est identique au 16F84, je ne me m'inquiète pas.
  • Le logiciel

    IC PROG est utilisé pour la programmation des 2 PICs.