You are on page 1of 7
‘792020 PICTRAIN-VI > Ptitrain P Electronique P PicTrain Page g écédente Cette rubrique PicTrain est assez nouvelle (deux mois) pour que vous puissiez aisément nous rattraper et sauter en marche ! Aujourd’hui a notre menu 8.1. Le logiciel ICprog. 8.2. Ecriture 8.3. ANNEXES : Pense-béte 8. L’écriture dans le microP Si vous aver bien lu et compris (et expérimenté) la premiere présentation sur les microP, inutile de repasser en détail ce chapitre, je ne fais en gros que me répéter. Sinon, place A la révision | L’opération consiste uniquement écrire dans le microP le fichier Pictraint.hex eréé par ‘MPLAB dans le répertoire du projet. Elle ne nécessite aucune réflexion, uniquement I application des ragles que nous allons revoir ci-dessous. I! faut cependant bien comprendre que cette opération est primordiale car, si le microP est mal écrit, le montage ne fonetionnera pas, et de plus on peut détruire le microP en cas de mauvaise manipulation, D’accord, 2,35 euros, ca n”est pas la ruine, ais ce n’est pas une raison.. Pour I’écriture dans le microP, il faut disposer du logiciel ICprog et dun programmateur, pour ma part “utilise PIC-o1 PTI+ _Précision. — Dans ma présentation, je propose la combinaison IC-Prog et PIC-01, car est celle que jutiise avec entiére satisfaction depuis un certain temps. Jal essayé plusieurs autres artes et logiciels, mais j'ai trouvé que c'étalt la plus simple d'emploi, et qui marchait 3 tous les coups. Bien entendu des tas d'autres solutions sont possibles, vous trouverez méme sur Internet des schémas pour construire vaussméme votre programmateur avec une poignée de composants. Je ne suis pas un professionnel de la chose, et n’ai aucun intérét dans un fabricant ou un autre, je ne préconise dons rien en particulier. Fidéle a esprit Ptitrain, j‘essaye simplemient de présenter une solution qui marche, & un coUt raisonnable. Je n’al pas non plus les moyens de conduire des études ‘comparatives des solutions, et je pense que cela ne présente pas c'intérat Mais quelle que soit la’solution, c'aprés mon expérience, il y a deux aspects fondamentaux & prendre en considération 1) gestion des fusibles (fuses) : votre systime dolt vous permettre d'avolr un contréle permanent des fusibles, & chaque écriture dans le microP ; 2) calibrage de loscillateur (OSCAL) : votre systéme dolt vous permettre, & chaque écriture dans un micro®, de récupérer automatiquement cette valeur et dela réécrire. {99,9% des problemes proviennent de ces deux dispositis Avec le 1) une erreur peut étre fatale pour votre micro®, et il n'y a rien & faire ; pour le 2) ily a une précaution qui devrait étre automatique pour vous : avant toute utilisation d’un micro®, il faut le lire ot noter la valeur de calibrage. Pour ma part, je la note sur un petit (tout petit) bout d’étiquette gutocollante collée sous le microP ; si vous avez un microP devant Vous, vous voyez ce que veux dire “tout petit”. Cela vous permettra en cas de probleme de la réintroduire dans le memoire. 8.1. Le logiciel ICprog Ce logiciel ne néeessite pas d’installation, il faut juste le lancer. A la premiére exécution, il est nécessaire de vérifier les paramétres généraux, dans le menu Configuration et puis Hardware (ou par Fg). Trois points sont a vérifier I Programmateur : indique le type de programmateur que vous utilisez ; pour le programmeur PIC-o1, la valeur JDM Programmer fonctionne bien. Ports : indique sur quel port série le programmateur est connecté (sur quel port série vous avez.connecté le céble), en général Cont ; Interface ; cochez la valeur Windows API, ¢ “est celle qui fonctionne le mieux, de I’avis des, spécialistes. hitps wn ptrain.comlslectraniquelmicropipaged8indx. him w ‘792020 PICTRAIN-VI oni ieee ~ terface Prearanmateic te = pom Prosanner =] wetowe ab Ports = Commuriestin © Cont [7 Inversion Data Out © com? J Inversion Data in © coma J inversion clock © cms J inversion CLR DéleisO (10) J inversion vee T— [| F invert rr OK Abandonrer 8.2, Ecriture ees [pic 12829 = PIC 223 Pour commencer, il faut choisir le type de microP, un Pic 12675 dans notre cas De. Attention : il, faut toujours vérifier le type de microP, cela n’ est pas automatique. Ensuite, il faut charger le fichier .nex, par le menu Fichier puis Ouvrir fichier ou V'icone d “ouverture & gauche V : Pic 160433 PIC 16C54 | - [PIC 1C36 PIC 18058 {PIC 18C51 PIC 160824, fercaniiae ae ert Fihier Eton Buff ‘outs. al GB ¢€S\/s¢9e%a0\ aq Regarcer dare: [19 PicTraint "eee [Edo [B)rcrant st BBrctrant.teose [Bperrant.con—_im|petrant.mp E) Pietreint asm PicTreint mes [Bpcrrntier ——petrani.mcw [Bbbicrraint ex ned ci eran Stdvio.ne pe Trant otoos Now du cher: FicTrant HEX Fichiets de ype [any ie") Tout est maintenant prét pour I’éeriture si vous avez "eran suivant ¥: hitps wn ptrain.comlslectraniquelmicropipaged8indsx. him ‘792020 PICTRAIN-VI S-O)GF 84446 | Aqrrm | | 2 ‘Adresse - Program Code ‘Configuration (0000: 2817 SEFF FEF 3EFF 00cO OF03 o0ci1 1505. Goaeete 0008: 1¢oC 280) 2048 100c 2812 1ASB 1D0B 2812 . Iroscors =] 0010: 2045 1108 OF41 0083 OECO OF40 0009 1683 F 0018: 93FF anon 1283 3090 Ooa4 o1a0 OAR 1FO4 noe 0020: 284D 1E84 281D 1683 0181 0196 O18C 0197 foci =] 0028: 0199 1283 3007 0099 0190 1683 1501 1481 petal a 0030: 1401 1283 018B 1788 1683 0185 1685 1605 0038: 0195 1695 1615 1283 0185 1A85 283 1688 + 0040: 1205 9a40 128R 1005 9283p 3001 O685 ona 0048: 0008 3EFF FFF 3EFF 3FFF 3EFF 3FFF 3EFF Fuster uses} 0050: SEEF 3EFF FEF 3EFF SFEF 3EFE 3FFF 35FF Ewer 0058: SEFF 3EFF 3PFF 3EFF 3FFF 3EFF 3FFF 357 Sl! | oat Adresse -Eeprom Data 1 Mcur 0000: 03 O4 FF FF FF FF FF YF ..¥¥a¥y T[povet ooos: FF FF FF FF FF FF FF TF yw re 0010: FE FF EF EF FF FF FETE yyy Ui oo10: FE FF FF FF FF FF FF rE ywyiry iy 0020: FE FF EF FF FF FF FETE yw 0028: FE FF EF EF FF FF FETE ywwwvrv Ghecisan vet 0030: FE FF FF FF FF FF FF TF yw fossa RFF 0038. FE FF FF FF FF FF FF FF yyy cauters [bufer2] Butter] Buter Quelques explications : La fenétre du haut contient le programme, en langage machine ; ¢”est assez incompréhensible, mais ¢’ est strictement conforme au programme en assembleur. Dans la fenétre du bas il y a la mémoire du microP ; je n’en ai pas encore parlé pour |’instant, mais en plus des registres il existe une autre mémoire (dite “EEPROM"), qui a la particularité de ne ‘pas s’effacer quand on coupe le courant. Oubliez pour I’ instant, MA droite figurent certains paramétres de’ écriture, que je vous recommande de contréler: = Oscillateur : rn£0SC 64 indique que nous utilisons I’oseillateur interne de 4 MH — Les fuses sont de vrais fusibles, que l’on peut faire “griller” ; il ne doit y avoir que le PwRT de coché, :sinon vous pouver bloquer le microP et il sera impossible de le réutiliser. — En bas vous aver checksun qui est un peu un contre ; la valeur indiquée ici doit étre la méme que celle qui se trouve au haut de 1’ écran de} autre outil MPLAB IDE. Il est temps maintenant dinsérer le microP dans le support adéquat sur I carte (attention au sens), et puis de mettre le courant. Contig word: 318#h PTI+ — Recommandation + Dans notre utilisation, & chaque éeriture du programme, il faut déplacer le microP de votre plaquette d”essai vers le programmateur et vice-versa, ce qui arrive tres souvent en phase d essai. Or les "pattes" du microP étant relativement fragiles, je recommande fortement de monter votre microP ‘sur_un support “tulipe", et c'est ce support qui “supporte” (sic) tous les montages et démontages : il est bien plus solide, et puls si finalement une des pattes rend quand méme |’ame, il suffit de changer le support. ‘Autre d’ exemple, regardez de prés la photo qui se trouve & cété du sommaire de chaque page sur le site, entouré de bleu, Vous y verrez clairement que le microP (8 pattes) est monté sur un support 16 pattes qui facilite les manipulations. Lécriture se lance par le bouton marqué d “une icbne “Eelair” P| Le logiciel vous demande — d“abord | @ Oo) 4 confirmation. Ensuite, il commence par lire le contenu pour retrouver le calibrage de1"horloge. Vous avez donc le message suivant ¥ (0SCCAL = oscillateur calibrage) : hitps wn ptrain.comlslectraniquelmicropipaged8indsx. him ‘792020 PICTRAIN-VI 007 erect Rea) Lecture du Code (Loz) bytes Pee ‘OSCCAL = 3452h Désire2 vous utiise les va Le logiciel a lu la valeur présente dans le microP, ici 3458, mais propose bétement dutiliser la valeur 3FFFh du fichier . hex ; la réponse est évidemment non, il faut conserver la valeur existante. PTI+ Vitesse du microP : La vitesse de | "horloge du microprocesseur est précise & 1%, mais ily ‘a une condition : chaque microP est « calloré », cest-a-dire qu il'y a une variable d’ajustement de ia vitesse, spécifique 3 chaque exemplaire, déterminé en usine. Avant éeriture, le logiciel lit cette valeur, pour pouvoir la réécrire avec le programme. {propose cependant dela modifier sion le désire, ce cue Je ne recommande blen sur pas titre de précaution, notez la valeur : un jour, Suite a une fausse manoeuvre, vous risquez de | effacer. Durant toute I’éeriture, vous avez.la possibilité dinterrompre I’ opération par Cancel, mais ce n “est vraiment pas recommandé, il vaut mieux laisser courir jusqu’au bout. A la fin, le logiciel vous informe du suecés de I’opération (car aprés I’ écriture il se relit, pour contrdle) ; si vous n’ avez pas ce message, il y a un probleme. I ne reste plus qu’a le tester sur la plaque d”essai ; si cela ne marche pas, vérifiez d’abord 1 “@ectronique, I’alimentation et ensuite le processus d’écriture avant de m”envoyer des mails vengeurs sur Ta liste — le montage doit fonctionner du premier coup. 8.3. Pense-béte 8.3.1. Les instructions connues a ce jour + Instructions organisation + acto étiquette call, return pas d“opérande + Instructions de_manipulation debits bsf —reaistre, bit Mt bef —registre, bit btfsc registre, bit btfss registre, bit hitps wn ptrain.comlslectraniquelmicropipaged8indsx. him ‘710872020 PICTRAIN-V + Instructions de_manipulation de_regis tres novia Littéral novwf registre novi registre rovf —registre, dest clrf registre + Instructions arithmétiques et Logiques xorwf registre, dest decfsz registre, dest liole Les instructions soulignées concernent des sauts 8.3.2. Les registres déja utilisés Fegistre [bit] Nombit | fonction BANK GPO ‘Valeur des entrées/sorties o Bisoss | eSdeoas TRISTO Sens des entrées sorties T ————\"{gits0as |isentrée ‘4 0= sortie weu Commande des resistances ce rappel | 1 BROS résistance active pour cette entrée (cans effet pour une sortie) ‘OPTION_REG Options diverses T 0 | PSo Bits de valeur du prédiviscurde Timero 7_*([PSt 2 [ps2 INTCON Commande des interruptions T 3 [Toe ‘Activation TimerO 3 | Pele ‘Activation des interruptions penphenquss (imert) 7 [ae ‘Activation generale des interruptions THRO Valeur du Timer a PIED Commande des interruptions | 7 périphériques oO | TwRae ‘Adivation interruption Timer ICON ‘Commande dutimert a a Fativation Timer THRIH Valeur haute Teri a Tere O|S™~™~*=~ialeurrbasse Timer? = SC«dC 8.3.3. Nos conventions de programmation 8.3.4. Les directives d’assemblage connues hitps wn ptrain.comlslectraniquelmicropipaged8indsx. him ‘792020 PICTRAINA 8.3.5. L’“argot” de www.ptitrain.com Dans le magazine Ptitrain, a été lancée début 2007 une rubrique Pictrain, qui concerne 1 “utilisation dans le monde du modélisme ferroviaire de microcomposants informatiques, microcontréleurs ou microprocesseurs, que nous appelerons génériquement microP. Ces micro? viendront en renfort des montages électroniques & composants séparés décrits en pratique dans notre autre rubrique le Meccano électronique et dont la théorie est développée dans la Techno facile. Un fabricant, Microchip, présente une gamme tres répandue, les PIC Mid-Range, qui comprend des dizaines de models parm! ces DS, auteur de'notre rubique, a chit Te 12F675, petit, puissant, trés bon marché, Pour les présenter, il a déja déerit une application, un programme ‘de démonstration pédagogique, nommé Pictraino, un klaxon, dit aussi it zen effet ce montage sonore avait déja été fabriqué par nous en’ composants iscrets et il était tentant de faire un paralléle entre les deux solutions, diseréte et microP ! Les autres applications se nommeront Pictraint, Pictrain2, etc. Les codes .asm et fichiers annexes sont stockés iei (Hors-textes). La série sera du niveau dun ptitrainiste moyen, ni bébéte ni absconse, comme nous espérons vous en avoir donné par ailleurs ’habitude... Pour les curieux, des encadrés Pti+ qu’on peut ne lire que si on veut, entrent dans les détails non indispensables. Jidé, qui vient de découvrir les PIC, mais tripote I’ informatique depuis 25 ans, contribue a la rubrique en assurant la transition en douceur Techno - Meccano - Pietrain, en répondant aux questions fréquemment posées (99 Questions), en mettant en ligne jusqu’& ses propres brouillons et fiches en carton (Docs en_vrac). Sur le web, nos lecteurs sont conviés sur Ia liste Ptitrainmatique (qui compte 642 abonnés), avec le mot-clé [PIC] : questions, réponses, idées, fichiers, photos, listings... Sur cette liste sont aussi pré-publiges les pages de la rubrique Pictrain afin que les connaisseurs les lisent, les critiquent, les corrigent avant publication officielle en “une” du magazine. 8.3.6. Le code de couleurs de www.ptitrain.com PTI+ _Les listings de programme respectent un code de couleurs choisi par Jidé pour Jidé mais dont nous n'hésitons pas & vous faire profiter ;~) hitps wn ptrain.comlslectraniquelmicropipaged8indsx. him ‘792020 PICTRAIN-VI p=PICI2F675 VA Vitesse ET Suitel nowt #inculde bsfz_-TRISIO, HSTATUT, D ‘Quelques commentaires pédagogiques qui ne seront évidemnent pas recopiés dans le fichier a assembler, pourront tre insérés, blanc sur fond rouge = p. 56 PicTrains, § 5.2.2. Microchip Ds49041 N.B. — Textes, schémas, programmes © Psi pour Ptitrain. Photos Jidé ou D.R. quand signalé. — Toutes vos remarques et ‘commentaires sont bienvenus, et les pages de Ptitrain ne sont pas statiques : les erreurs sont corrigées sitét connues, les Psi zrpdlorations, claircisements, ete front objet dé mises & jour 10/21/07 fréquentes. > puitrain P Electronique P PicTrain Pe Page suivante Putra, I'e-magazine cu train éclectique, — Directeur de Ia publication : Christophe Frenchinl ‘Redacteur en chef : Jean-Denis Rondinet hitps wn ptrain.comlslectraniquelmicropipaged8indx. him 1

You might also like