Dernière mise à jour le 12/05/2014

Présentation



easypic7


La platine “EasyPIC7”, j’ai voulu expliquer pour les débutants surtout pour les personnes qui viennent de recevoir le platine EasyPIC V7 et qui ne s’avent pas par ou commencer, Pouvant être alimentée directement depuis un ( PC ou fixe) ou via une source externe, la 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 des microcontrôleurs pouvant ê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 es ttres bien expliqué en Anglais et oui…
Le coffret de chez MikroElectronika est très bien réalisé avec des emplacements enfin pour ceux qui sont intéressé 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 se lancer « tête dans le guidon », il faut encore installer un langage de programmation, vous avez le choix avec :
MikroC
MikroBasic
MikroPascal






Pour ma part j’utilise MikroPascal, C’est d’ailleur une version de démonstration. Ne vous inquiétez pas vous avez suffisamment assez pour faire votre bonheur et faire fonctionner vos montage électronique qui utilise des microcontrôleurs. Pour MikroPascal il est possible de le télécharger la version de démonstration est accessible à cette adresse : MikroPascal For PIC

Alors nous voici maintenant arrivé dans le vif du sujet, ce qui est intéressant pour compiler nul besoin de se prendre la tête. Prenons un exemple de programme que j’ai testé moi-même exemple très simple mais qui fonctionne, allumer et éteindre une led essayons…. Avant de vous décevoir, je n’ai pas utilisé le Microcontrôleur qui était vendu avec la platine, j’utilise le 16F628A (ou 16F628). Mais le principe reste le même, copié le langage Pascal ci-dessous, et le collé dans MikroPascal (inutile de le coller dans MikroC ou MikroBasic cela ne fonctionnera pas !).

Mes 1er pas



jumpers


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 la photo ci-dessus, (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 il est préférable d’ouvrir mikroProg Suite For PIC, et de choisir le la bonne famille de MCU en l’occurrence un 16F et le MCU (16F628A).
Dans MikroPascal aller sur Build puis Build + Program ou plus rapidement (Ctrl + F11).
Et voilà lorsque vous envoyer les données dans le microcontrôleur la led DATA clignote et le système est ACTIVE.

data


Le prograrmme est envoyé dans le 16F628A

Tests du programme


Une fois que tous a été envoyé dans le microcontrôleur, nous allons tester si notre programme est fonctionnel.


Visualisations des sorties (OUTPUT)


switch-1


EasyPIC V7 possède 36LEDs 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é (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)


jumper port.et.b


L’état logique de toutes les entrées numériques du microcontroleur peuvent êtres modifié (comme notre programme « allumé ou éteindre une LED »), par l’intermédiaire des boutons poussoirs. Le jumper (cavalier) J17 sert à définir l’état l’ogique qui doit être appliqué à la broche du microcontroleur lorsque le bouton associé est pressé. Des résistance de protection ont pour but de limiter le courant afin de prévenir d’éventuels court-circuits.


Analyse du fonctionnement


16f628a 16f628a


Le jumper J17 est mis en postion haute (photo ci-dessus), lorsque nous appuyons sur l’entrée RB0 (BP1) du PORT B, un état logique (1) est présente sur la patte RB0 du microcontroleur, le programme interne au PIC 16F628A s’exécute et active la sortie, on retrouve donc sur la sortie RA0 un (1) logique, la (sortie du PORTA est bien active).
Si maintenant nous appuyons sur l’entrée RB1 (BP2) du PORT B, un état logique (1) est présente sur la patte RB1 du microcontroleur, le programme interne au PIC 16F628A s’exécute et désactive la sortie, on retrouve donc sur la sortie RA0 un (0) logique, la (sortie du PORTA est bien désactivé).
L’entrée reste active, car la mise a 1 à l’aide de la fonction Setbit permet de maintenir à l’état logique haut du PORTA la sortie reste donc active tant que Setbit n’a pas été effacé.


Setbit (PORTA, 0):permet d’activer la sortie du port A (PORTA) sortie 0 (RA0) 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 (PORTA, 0):permet d’effacer le Setbit la sortie du port A (PORTA) sortie 0 (RA0) est mis à zéro l’état de sortie est à l’état bas (0) logique.

Pull-up ou Pull-down?



port easypic-2.7


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 le leds du PORT concerné s’allument.
Dans le cas contraire, si les switchs sont en postions basses, l’entrée des microcontrôleurs sont à l’état bas (logique (0), les leds du PORT concerné 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”.