1. installation 1.1. généralités -...

Download 1. Installation 1.1. Généralités - prof.maquaire.free.frprof.maquaire.free.fr/ressources/kurdakote/easypic/introduction au... · (exemple : C:\Program Files\Mikroelektronika\mikroC\mikroC.exe)

If you can't read please download the document

Upload: buithuy

Post on 06-May-2018

222 views

Category:

Documents


3 download

TRANSCRIPT

  • FormationEasyPICintroductionlapartielogicielle

    LacarteEasyPIC4estfournieavecunensemblededeuxlogiciels:lecompilateurMikroCetleprogrammeurPICFlash,tousdeuxditsparMikroElektronika1.

    1.Installation

    1.1.GnralitsLinstallation,siellenesemblepasposerdeproblmesousWindowsXP,ncessiteparcontre

    une procdure rigoureuse sous Windows 2000. Suite de nombreuses exprimentations et denombreuxproblmes, voici unemarche suivrequi nest certainement pas optimisemaisquifonctionnetouslescoups:

    nepasconnecterlacarteEasyPIC4;lancer le fichier du CDROM2 fourni D:\zip\PICFlash_setup.exe (toutes les

    optionspardfaut);connecterlacarteEasyPIC4Windowsreconnatlacarteetinstalleledriver3.Connecter

    lacartesurtouslesportsUSBquiserontpotentiellementutiliss,unparun.Achaquefois,laDELorangeUSBLINKdoitsallumer;

    installerlepackMikroCdisponiblesurleCD(outlchargdepuisl'Internetpouravoirladernireversion):

    Do you want to install PICFLASH vxxx programmer ? Oui (installer en laissant tous les choix par dfaut, sauf celui d'acceptation de la licence) ; Do you want to install MikroC vxxx ? Oui (idem) ; Do you want to install LvPICFLASH vxxx programmer ? Non (sauf si vous prvoyez de travailler avec des dsPIC) ; Do you want to install PICFLASH drivers ? Non.

    La procdure est maintenant termine.

    1 http://www.mikroe.com;desforumstrsractifssontdisponiblesenbasdelapageInternet.2 RfrenceduCDROMtest:15102006(cetteprocdurenesappliquepasavecle080506).3 SilemessageDrivercouldnotbeinstalledapparat, cestquelacarteEasyPICatconnecteauparavant.

    Danscecas:fermerlaprocduredinstallation;connecterlacarteEasyPIC;cliquer(droit)surlelogo;cliquersurDconnecteroujecterlematriel;cliquer(droit)surUSB18FFirmwarev1.20;cliquersurProprits;slectionnerlongletPilote;cliquersurDsinstaller;cliquersurOK;dconnecterlacarteEasyPIC;redmarrerlesystmeetretenterlinstallation.Note:hormisleredmarrage,cetteprocduredoittrefaitepourtouslesportsolacarteatconnecte!

    [email protected]~formationEasyPICdes4et13mars2008introductionaulogiciel080513.odt page1/10

    La version de MikroC dont ilestquestioniciestla7.0.0.3;la8.1.0.0estcejourdisponibleetcette introduction est a priorivalablepourlesdeux.

  • 1.2.UtilisationenrseauCesprogrammesontbesoindunaccsintgralleursrpertoiresdetravail.Unepersonne

    ayantdesdroitslimitsdoitdonclancerleprogrammeentantquadministrateur(clicdroit,puisExcuterentantque...).Lorsdelutilisationavecleslves,cettemanipulationnestpasdespluspratiques...Notre(trsbon)ancienTSAR,CarpouronDidier,adveloppunscriptpourpalliercehandicap.

    Ladmarchesuivrepourobtenirunfichierdelancementestlasuivante(avecpourexemplelelancementdeMikroC):

    creravecunditeurdetexte,unfichierMIKROC.VBSetysaisirleslignessuivantes:Option explicitDim oShellset oShell= Wscript.CreateObject("WScript.Shell")oShell.Run "runas /noprofile /user:UUUUU ""CCCCC"""WScript.Sleep 100oShell.Sendkeys "PPPPP~"Wscript.Quitpauseremplacerlespartiessuivantes:

    UUUUU nomdelutilisateurayantlesprivilgessuffisants(exemple:administrateur)

    CCCCC chemincompletdeMikroC(exemple:C:\Program Files\Mikroelektronika\mikroC\mikroC.exe)

    PPPPP motdepassequicorrespondlutilisateurUUUUUutiliser Script Encryptor de Microsoft (sous DOS) pour crypter le script avec la

    commandesuivante:screnc MIKROE.VBS MIKROE.VBElefichierMIKROE.VBEatcr;ilestexcutablemaisillisible.

    placerlefichierVBEquelquepartetcrersurlebureauunaliasverscefichier.associerventuellementcetaliaslicneduprogrammeoriginal.sousWindows2000,donnerlespouvoirsdemodification,pourlesutilisateursduposte,

    surlerpertoireC:\ProgramFiles\Mikroelektronika\.

    Attention!Ilfauttreconscientquecetteconfigurationentraneunaccsplusdlicatverslesrpertoiresutilisateurs.Ilestbondetravaillersurundisquelocal,doncdecopieraupralableslesressourcesncessairesetdetransfrersontravaillafindutempsimparti;uneclefUSBesticiunoutilsplusquutile...EnaccdantauxfichierviaToutlerseau,etc.,lelogicielnesemblepasproposer loption de compilation (erreur du type [...].mcl not found). A noter aussi quelimpressionenrseaunestplusdisponible.

    [email protected]~formationEasyPICdes4et13mars2008introductionaulogiciel080513.odt page2/10

  • 2.MikroCMikroCestdotdunenvironnementtrsintuitifetbienorganis.Ilpermetessentiellementde

    saisirducodeenCetdelecompiler.

    2.1.EnvironnementLafentreprincipaleressemblelasuivante:

    Enbasgauche,deuxonglets:

    LongletProjectSetupdonneunaperudesrglagesdebase.

    IlpermetaussidechoisirentreunecompilationclassiqueouavecdbuggageICD.

    LongletProjectSummarypermetdevoirquelsfichierssontutilisset

    gnrsparleprojet.Ilestimpratifdavoirlenomdufichiersource

    danslabrancheCFiles.

    [email protected]~formationEasyPICdes4et13mars2008introductionaulogiciel080513.odt page3/10

    Messagesdordregnral.

    Quelquesoutilssontaussiproposs.

    Rsumdesrglagesdebase.

    Accsrapideunendroitspcifique

    ducode.

    Ongletprincipaldesaisieducodesource.

  • Agauche,troisonglets:

    LongletCodeExplorerrpertorielensembledes

    fonctionsetdesvariablesducode.

    Ilpermetdesedplacerrapidementdanslesource.

    LongletQHelpdonneunelistede(presque)

    touteslesroutinesprdfinies.Undoubleclicsurlunedelles

    ouvrelaidecorrespondante.Cestlongletleplusutile.

    LongletKeyboarddonneunelistedes

    raccourcisclavierutilisables.

    2.2.NotiondeprojetMikroCest victime de la mode... il travaille par projet. Il y a clairement des avantages

    (ouverture de fichiers multiples et compilation dun seul, par exemple), mais la dmarche decrationdemandedelarigueur.

    Lorsdelacrationdunprojet(Project\NewProject...),lafentresuivanteapparat:

    Remarque: il faut imprativement presser la touche Default! Cela permet dajuster la configurationdefonctionnementgnrale.Sicettetouchenestpaspresse,leprogrammefinal

    [email protected]~formationEasyPICdes4et13mars2008introductionaulogiciel080513.odt page4/10

    Nommerleprojet.

    ChoisirlePICcible.

    Indiquerunchemindestockage.

    Choisirlafrquenceduquartz.

    Pressercette

    touche!

    Validerla

    configurationparOK.

  • nefonctionnerapas.Ilestmaintenantpossibledesaisirlecodeduprogramme.

    2.3.OrganisationducodeLorganisationgnraleconseillepourunprogrammeestlasuivante:

    introduction;dfinitiondesconstantes,variablesglobalesetquivalences(sibesoin);sousprogrammes(sibesoin,etventuellementdansunfichier*.H);programmeprincipal.

    2.3.1.IntroductionEllepermetceluiquiouvrelesourcedesavoircequoiilsert,quilaralis,etc.Cette

    introductionestplaceentantquecommentaire.Parexemple:

    /*Titre : thermomtre numriqueFichier : thermos.cAuteur : maquaire manoloBut : acqurir une temprature grce un capteur DS18x20 et lafficher sur un cran alphanumrique.Date de cration : 22 janvier 2008Dernire modification : 1 mars 2008Configuration : - c : PIC16F877A - Carte de dveloppement : EasyPIC4 - Quartz : 8 MHz (HS) - Modules externes : capteur DS1820 LCD - Software: mikroC v7.0.0.3Remarques : - La variable RESOLUTION dpend du capteur : - 18S20 : 9 - 18B20 : 9, 10, 11 ou 12 - Les DEL du port E doivent tre teintes.*/

    2.3.2.Dfinitiondesconstantes,variablesglobalesetquivalencesLesconstantessontlesvaleursinvariablesquevautiliserleprogramme.Lesvariablesglobalessontlesvaleursvariablesncessairesaudroulementduprogramme.Lesquivalencespermettentunecriturecomprhensiblederfrencespeuexplicites.Parexemple:const unsigned short RESOLUTION = 9;const int FACTOR[4] = {5000, 2500, 1250, 625};char FlagMotor;char StepNow = 1;#define CHKVCC PORTC.F1#define ACQUIRE PORTA.F1Les deux premires lignes dfinissent des constantes; on leur affecte

    obligatoirementunevaleur.Lesdeuxlignessuivantessontdesvariablesglobales.Lapremirenestpasinitialise,alors

    quelasecondelest.Lesdeuxdernireslignessontdesquivalencesetnesontpassuiviesdunpointvirgule.

    [email protected]~formationEasyPICdes4et13mars2008introductionaulogiciel080513.odt page5/10

  • Elles permettent de ne pas crire PORTC.F1 (peu explicite) mais CHKVCC(explicite dans lecontextedudveloppementencours).Lesquivalencesnesontdfiniesquepourlecompilateur(do le #); elles ninfluent pas le fonctionnement du programme luimme. Lensemble desregistresduPICestdjaffectdesnomsplusoumoinsexplicites,parexempleladresse05hestaffecteltiquettePORTA.

    2.3.3.SousprogrammesIls permettent de ncrire quune seule fois une partie de code frquemment utilise. Ils

    permettentaussidallgerlavisibilitdufonctionnentgnral.Ilestconseilldecommentersuccinctementlerledechaquesousprogramme.Parexemple:// mise en RAM d'une constantevoid rom2ram(char *toram, const char *fromrom) { unsigned short count = 0; do { toram[count] = fromrom[count]; } while (toram[count++]); }

    2.3.4.ProgrammeprincipalCest le programmeen luimme. Il est fortement conseill de respecter des dcalages

    gauche,pouramliorerlalisibilitducode.Parexemple:void main() {Initialisation: Glcd_Init(&PORTB, 0,1,2,3,5,4, &PORTD); Glcd_Set_Font(FontAP255X8, 5, 8, 32); TRISC = 0b11111111; FlagPressOld = 1;...... Glcd_H_Line(1, 126, 61, 0); Glcd_H_Line(1, 126, 62, 0); } }

    2.4.CompilationettransfertUnefoisleprogrammesaisi,ilfautlancerlacompilation(etprier!)puistransfrerlensemble

    versleprocesseur(etencoreprier!)Plusieurspossibilitssontoffertes:

    [email protected]~formationEasyPICdes4et13mars2008introductionaulogiciel080513.odt page6/10

  • Ceboutonpermetdecompilerleprogrammeet(siaucuneerreurnestdtecte)delenvoyerversleprocesseur.Attention! Lors dune utilisation en session avec privilges rduits, il faut que PICFlashaittouvertaupralablegrceauscriptdontilestquestionen1.2.ou quilnaitpastouvertdutout(MikroCsemblelouvrircorrectement).

    Ce bouton permet de compiler le programme pour vrifier si aucune erreurnatfaite.

    Ce bouton permet denvoyer le programme dans le processeur. Il doit avoir tcompilaupralable.Attention!...mmeremarque...

    Leprogrammedmarredesuite,unefoisletransferttermin.Remarque:laversiongratuitedeMikroCpermetdecompilerunprogrammequinedpasse

    pas 2000 mots de Flash4. Le 16F877A en possdant 8192, il faut travailler avec une versionenregistrepourutiliserlensembledesammoire.Lespetitsprojets(miniprojets,TPEetPPE)nencessitentaprioripaslaversionenregistre.Enrevanchelaversionillimitedevientrapidementncessairelorsquelafficheurgraphiqueestmisenuvre.

    2.5.ICDLacarteintgreundebuggerinsitu.Ilpermetdecernerlendroitquiposeproblmeausein

    dun programme consquent. Ce debugger est dit temps rel mais attention, seules lescommandes Run et Run To Cursor le sont; en mode pas pas, lapplication estconsidrablementralentie,notammentlorsdelutilisationduGLCD.

    LesbrochesRB6etRB7sontutilisesparlICD;cesbrochesnesontdoncpasdisponiblespourundveloppementsiledebuggerdoittreutilis.

    2.5.1.LancementdelICD

    Pour lancer lICD, cocher le bouton radio ICDdebugdanslongletProjectSetup.

    CompileretchargerleprogrammedanslePIC.Attention! Il faut bien compiler le projet aprs avoircochleboutonradio.

    Acestade,laDELRB7doittreallume.Le programme ne se lance pas automatiquement; ilattendunordrededmarrage.

    4 Ou...2048??

    [email protected]~formationEasyPICdes4et13mars2008introductionaulogiciel080513.odt page7/10

  • Slectionnerledebugger.

    Lancerledebugger.

    Choisirleslmentsvisualiser.LafentreWatchestdeloinlaplusutilecarellepermetdevisualiserlvolutiondesvariablesduprogrammeetdecommanderlavancementduprogramme.

    [email protected]~formationEasyPICdes4et13mars2008introductionaulogiciel080513.odt page8/10

  • 2.5.2.DebuggageLafentreWatchpermetdefaireprogresser leprogramme,devisualiser lesregistres, les

    variablesetdenmodifierlecontenu:

    2.5.3.ProgressionetpointsdarrtLorsdelaprogressionduprogramme,desicnesetdescouleurssontutilises:

    [email protected]~formationEasyPICdes4et13mars2008introductionaulogiciel080513.odt page9/10

    Contrledudebuggage(marche,pause,arrt).

    Contrledelaprogressiondu

    programme.

    Slectiondesvariablesvisualiser.

    Ensembledesvariablesvisualiser.

    Cliquersurunevariablepourenmodifierlecontenu.

    Enrouge,lesvariablesquiontchang.

    Laflcheverteetlalignebleuereprsentent

    lapositionactuelle(laprochaineinstructionquiseraexcute).

    Lacocheetlalignerougesreprsentent

    unpointdarrt.

    Lalignegriseestcelleosetrouvelecurseur

    (utilepourlacommande

    RunToCursor ).

    Unelignesanspointbleusignifiequellenestpasassocieuneligneexcutable.Ilnefautpasutiliserlalacommande RunToCursor

    aveccetypedeligne,carlecurseurneserajamaisatteint !

  • 3.PICFlash5PICFlashpermetletransfertdunprogrammedjcompilverleprocesseur.Contrairement

    MikroC,ce logiciel estdpourvudetoute limite. Enutilisationclassique, MikroCsechargedefournir lesinformations celogiciel etdedmarrerletransfert; il nestdoncpasrequisdeserfrer ceparagraphe.Nanmoins,siunfichierat rcupr auformat*.HEX,alorsilfautpasserparPICFlashpoursonenvoi.

    LelancementdePICFlashsematrialiseparlafentresuivante:

    LtapeenvoielefichierHEXdansleprocesseuretlanceleprogramme.

    5 DeuxremarquesconcernantPICFlash:dunepartilestnoterqueladnominationPICFlashestutiliselafoispourleprogrammeurmatrieletpourlelogicielassoci.Cepointestsouventsourcedepetitesincomprhensionslorsdediscussions...dautrepartlatypographieadoptepourlenomPICFlashvarieauseinmmedesdocumentsdufabricant:PICflash,PicFlash(documentationsPICFlashetmikroICD),PICFlash(documentationEasyPIC4,inscriptionsurleprogrammeurmatrieletsiteInternet),PicFLASH(logiciel),etc.Jaiiciadoptlanotationquimesemblelaplusprobante:PICFlash.

    [email protected]~formationEasyPICdes4et13mars2008introductionaulogiciel080513.odt page10/10

    Slectionner

    PIC16F877A.

    Cliquerici

    pourchargerunfichierHEX.

    Envoyerle

    programmedansleprocesseur.

    Celogodoittrerouge.

    Iciondoit

    avoir HS .