Dernière mise à jour le 12/05/2014
Présentation
Dans cette article je vais aborder la platine “EasyPIC7”, j’avais envie d’expliquer pour les débutants (surtout pour les personnes qui viennent de recevoir cette platine et qui ne s’avent pas par ou commencer), les démarches à suivres afin d’arriver à programmer votre premier composant. Cette platine peut être alimentée directement depuis un (PC portable ou fixe) ou via une source externe. Cette platine “EasyPIC7” dispose de 8 supports capables de recevoir des microcontrôleurs PIC® au format 8, 14, 18, 20, 28 ou 40 broches. Un dispositif de régulation intégré permet aussi d’utiliser au choix ces microcontrôleurs et peuvent être alimentés sous une tension de 3,3 V ou de 5 V.
Pour ma part la platine EasyPIC V7 est facile à mettre en fonctionnement, tous est très bien expliqué et en Anglais et oui !!
Le coffret de chez MikroElectronika est très bien réalisé avec des emplacements afin de ranger les ecran LCD par exemple. Enfin pour les personnes curieuses et qui sont fortement intéressé par ce produit, vous pouvez voir cette vidéo (Présentation en Français) http://www.lextronic.fr .
Compiler + Programmer votre 1er PIC
Mise en fonctionnement de mon 1er Programme
Avant de vous lancer « tête dans le guidon », il faut avant tout choisir un langage de programmation parmi les 3 cités ci-dessous:
- MikroC
- MikroBasic
- MikroPascal
Pour ma part j’utilise MikroPascal, et vu que je me suis mis aussi à programmer en langage C, vous trouverez la programmation en MikroC. Ces deux version sont des versions de démonstrations, mais ne vous inquiétez !! pas vous avez suffisamment assez pour faire votre bonheur et faire fonctionner vos montages électroniques qui utilises des microcontrôleurs. Pour MikroPascal il est possible de télécharger la version de démonstration qui est accessible à cette adresse : MikroPascal For PIC
Essayons et commençons par un exemple de programme que j’ai testé moi-même, “exemple très simple”, allumer et éteindre des leds. Etant donné que le Microcontrôleur qui est vendu avec la platine EasyPic V7 s’agit du PIC18F45K22, j’ai donc réalisé mes test sur celui-ci. Programme en MikroPascal et même en MikroC cela vous permettra d’avoir une idée sur ces 2 versions.(inutile de le coller dans MikroBasic cela ne fonctionnera pas !).
Mes 1er pas
Des manipulations, toujours des manipulations, regarder si J1/J2/J8/J9 et mis dans la bonne position (photo ci-dessus), (vous utilisez un 16F628A qui correspond à un DIP18, et vous l’avez positionné en DIP18B, alors positionner comme ceci: (vous trouvez toutes ces explications à la page 10 du manuel EasyPIC V7 connectivity User’s GUIDE).
Nous y somme presque, maintenant, il suffit de compiler et d’envoyer votre programme dans le microcontrôleur, mais avant de le faire assuré vous que vous avez bien choisi le PIC18F45K22 (pour cela vous allez dans la fenêtre “EDIT PROJECT” et sur la droit vous allez voir “MCU Name” et c’est ici qu’il faut indiquer le PIC18F45K22).
Maintenant vous pouvez faire un copier du programme puis de coller la ou il doit se situer, ensuite de modifier dans “EDIT PROJECT” la fréquence de l’oscillateur (4-16Mhz), et pour finir, il ne reste plus qu’à aller sur Build puis Build + Program afin de le compiler et que le fichier au format(.Hex) soit “injecter” directement dans le PIC désiré.
Et voilà!! vous devez apercevoir que la led DATA clignote et le système est ACTIVE.
Si la led clignote c’est que ces bon signes!!
Ainsi il ne reste plus qu’à appuyer sur les boutons afin voir si le programme fonctionne. Je vous rassure le programme en MikroPascal et en MikroC fonctionne bien et le schéma représentatif du programme correspond à ceci;
Schéma PIC18F45K22 pour test
DIP Switch pour activer les leds
Si vous ne voyez pas vos leds s’allumer vérifier dans un 1er temps si les DIP switch sont bien sur la position “ON”
Visualisations des sorties (OUTPUT)
EasyPIC V7 possède 36 LEDs dont le but est d’indiquer visuellement (présence ou non de lumière) l’état de chacune des broches E/S du microcontroleur. Une LED allumée (active) traduit la présence d’un un logique (1) sur la broche. Il faut donc utiliser le DIP switch SW3 afin de choisir les ports (PORTA/E, PORTB, PORTC ou PORTD) pour visualiser ce que vous souhaitez.
Visualisations des entrées (INPUT)
L’état logique de toutes les entrées numériques du microcontroleur peuvent êtres modifiées (comme notre programme « allumé ou éteindre une LED »), par l’intermédiaire des boutons poussoirs. Le jumper (cavalier) J17 sert à définir l’état logique qui doit être appliqué à la broche du microcontroleur lorsque le bouton associé est pressé. Des résistances de protection ont pour but de limiter le courant afin de prévenir d’éventuels court-circuits.
Le jumper J17 est mis en position haute (photo ci-dessus), lorsque nous appuyons sur l’entrée RB0 (BP2) du PORT B, un état logique (1) est présente sur la patte RB0 du microcontroleur, le programme interne au PIC 18F45K22 s’exécute et active les sorties, on retrouve donc sur toutes les sorties RB0 un (1) logique.
Si maintenant nous relâchons l’entrée RB0 (BP2) du PORT B, un état logique (0) est présente sur la patte RB0 du microcontroleur, le programme interne au PIC 18F45K22 s’exécute et désactive les sorties, on retrouve donc sur les sortie RB0 un (0) logique, la sortie du PORTB est bien désactivée puisque les leds sont toutes eteintes.
D’autre variantes sont aussi possible afin de laisser l’entrée active, en utilisant la fonction Setbit ce qui permet de maintenir à l’état logique haut les sortie et resterons donc actives tant que Setbit n’a pas été effacé.
Setbit (PORTB, 0) :permet d’activer la sortie du port B (PORTB) sortie 0 (RB0) et de garder la sortie à l’état haut (1) logique.
Pour effacer la sortie, il suffit d’appliquer en entrée un genre de reset plus précisement un Clearbit, cette fonction permet d’éffacer le Setbit et de retrouver un état bas (0) logique. Dans ce cas la led est éteinte.
>
Clearbit (PORTB, 0) :permet d’effacer le Setbit et defaire une mise à zéro des sorties pour retrouver un état bas (0) logique.
Je vous laisse réfléchir pour ces deux fonctions qui sont à placer dans le Programme en MikroPascal.
Pull-up ou Pull-down?
Une bonne question, ça c’est à vous de voir… Mais il faut savoir qu’il est possible de modifier les résistances de « tirages ».
Lorsque les switchs sont en postions haute, l’entrée des microcontrôleurs sont à l’état haut logique (1) d’ailleurs vous verrez que les leds vont s’allumer si vous modifié ces résistances en modifiant les DIP switchs.
Dans le cas contraire, si les switchs sont en postions basses, l’entrées des microcontrôleurs sont à l’état bas (logique (0), les leds du PORT concernés sont éteintes. Et une position intermédiaire qui nous dis qu’on utilise ni l’une ni l’autre.
Concrètement cela permet de relier les E/S soit à la masse pour avoir un logique bas (0) “pull-down” soit au +Alim pour avoir un logique haut (1) “Pull-up”.