Vous êtes sur la page 1sur 12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette

UnclubdepassionnsenrobotiqueparticipantlacoupedeFranceE=M6.
[Accueil][Quisommesnous?][Robots][Coupee=m6][BDTechnique][Forum][Reportages][Liens][WiKiFri]

Introduction"Fribotte"
LalecturedecettesuperbecontributiondeJeanMarcLICHTLE,vouspermettradevousfamilliariserlaprogramationd'un
PIC16F84suruneLinuxette,enutilisantjustequelquescomposantsbasiques(programmateurparallle).
VouspouveztlchargerlaversionPDFdecedocumentici.
CettetudeestaussidisponiblesurlesiteLa(Linuxentreamis),l'adressesuivante:http://lealinux.org/pratique/pic.php3.

Introduction
Lesmicrocontrleurs
Lesmicrocontrleursenvahissentnotreenvironnementsansquenouslesachions.Cespetitscomposantsseretrouventdeplusenplus
danstouslesmatrielsquenousutilisonsquotidiennement,machinelaver,mulot(souris),ordinateur,tlviseur.Dotsd'unelogique
programmeilssontcapablesderagirl'environnementunpeulamanired'automatesprogrammables.Maisleurspropritsnese
limitentpasoffriruncertainnombred'entressortieslogiques.Ilssontparfoisdotsdefonctionssupplmentairestellesque
convertisseursanalogiquesnumriques,horlogestempsrel,comptagerapideetc.L'intrtpourcescomposantsestdirectement
fonctiondeleurprix.Sachezquevouspouvez,pourmoinsde10Euros,fairel'acquisitiond'unctoutfaitintressant.
Plusieursfondeurssepartagentcemarch,citonsINTEL,MOTOROLA,AMTEL,ZILOG,PHILIPSetenfinMICROCHIPquinous
intresseici.

LesmicrocontrleursPIC16F84
MICROCHIPestl'undesgrandspourcequiconcernelafournituredec.Lagammedesproduitsproposssedclineentroisgrandes
gammes,lePIC16F84tantl'undesreprsentantdelagammemoyenne.Lestockagedesinformations,essentiellementleprogramme,
peutsefairede3manires,enROM,EEPROMetmmoireflash.Latechnologieemployeserefltedansladsignationdu
composant.DansnotrecasleFdePIC16F84signifieflash.Voustrouverezcourammentdansdesappareilsgrandpublicdesversions
CRcequisignifieROM.
Dansl'emploietlamiseenoeuvredecilestimportantdeprterattentionauxniveauxlectriques.LescdeMICROCHIPutilisent
desniveauxTTL05V.Ilfautdoncveillerlorsdelaralisationd'unmontage,nejamaisappliquerunetensionsuprieureauxpattes
cequidtruiraitimmdiatementlecircuit.Demmelessortiesnepeuventdbiterplusde20mA.Attentiondoncauxcourtscircuits!.
Ilyatoutefoisuneexception,lorsdelaprogrammationducomposantl'unedespattesdsigneparMCLRpour``masterclear''doit
treporteunniveaucomprisentre12Vet14V.
VoustrouverezsurInternetunemassederenseignementssurcespetitesbtes.Jersumeraisicila``datasheet''du16F84endisant
qu'ils'agitd'unepuce18pattesprogrammableetdontlescaractristiquesessentiellessontlessuivantes:
Mmoireflash1kmotsde14bits
68octetsdeRAMpourlestockagedesvariablesnonrmanantes
64octetsd'EEPROMcequipermetdestockerdesvariablesrmanantes,rglages,paramtragesetc..
ArchitectureRISC(signifiejeud'instructionrduit)
13portsE/S
Frquenced'horloge4MHzpourlespluscourantsetjusqu'20MHzselonlemodle
Watjicechdogetc..
LePIC16F84faitpartied'unetrsgrandefamilledecproduitsparMICROCHIPetquicomptedesdizainesdevariantesdiffrentes,
certainesprsentantdesparticularitspassionnantes,convertisseurA/N8,10ou12bits,communicationsrieouI2Cetc.

Objectifdelaprsentetude
L'objectifdelaprsenteestdedcrirelesoutilsstrictementncessaireslaprogrammationdecavecunPCtournantsousLINUX.
L'approcheclassique
Ilestrelativementsimpledefairel'acquisitiond'un``starterkit''chezl'undesrevendeursdeMICROCHIPetdeselancerdansla
programmationsousWindows(PICSTART272EurosTTC,miniprogrammeurPIC0159EurosTTC1).Cefaisantvousallez
certainementarriverunrsultatrapidemaisvousdpenserezaussipasmald'argent,neseraitcequepourlaplatinequiservirala
http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

1/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette

programmationduPIC.Deplus,sortidel'universdouilletdeWindows,vousneserezpastellementplusavanc.

ParailleurscettemthodeclassiqueimposededplacerlePICducircuitd'utilisationauprogrammateuretretourchaqueessaid'une
nouvelleversiondusoft(etcroyezmoi,audbutonenfaitdesessais...).Consquenceimmdiate:ilestvivementrecommand
d'utiliserdessupportsZIF(forced'insertionnulle)pourmonterlesPICcequisaleencorelanotepourledbutant.
L'approchepropose
J'aidoncchoisivolontairementuneapprochetotalementdiffrente:
Utilisationd'unPCsousLINUX.Dansmonapplicationj'airemisenserviceunvieuxP75qurlequelj'aiinstalluneREDHAT
7.0,pasvraimentlederniercrismaisunedistributionsolideetfiableetquisecontentesansgrosproblmed'unpetitespace
disque
Programmationdirectementsurlaplatined'utilisation,sansdplacerlePICduprogrammeurl'utilisationetretour.Ceconcept
estparfoisappellprogrammationinsitu,ICPouICSPpourlesanglophones(pourInCircuitProgrammingouInCircuitSerial
Programming)
CircuiterieutilisantlestrictminimumdecomposantsselonunprincipetrslargementdcritparDavidTAIT,``Quickanddirty''
quisignifierapideetsale!Accessoirementl'investissemmentresteratrsfaible.
Jen'aidoncaucunetapechoisilafacilit.Maislersultatjustifielargementleschoixinitiaux.Unefoispasselaphase
d'apprentissageetd'essaisvousserezenmesuredeconcevoirdescircuitsdecommandeefficacesbasedecdontvouspourrez
modifierlaprogrammationsurplace,sanstoucherauxcomposantsetavecn'importequelPC,qu'ils'agissedevotrechreLinuxette
maisaussiden'importequelletrapanelletournantsousWindowsouDOS!Lelogicieldetransfertdedonnesexisteeneffetpour
toutescesplateformes,dansdesversionscerteslgrementdiffrentesmaisrelativementcompatibles.Pourcequiestdel'assembleur
jen'aipasvrifisionletrouvaitpourDOS.EncasdebesoinlesaficionadosdeBillGatesdevrontdoncserabattresurWindows!
Leslimitations
Inutiledefairecroirequetoutestpossibleetque,moyennantquelquesastuces,ildevientpossibledefaireaussibienetaussi
confortablequ'avecunstarterkit.Unetelleaffirmationseraitunetromperie.Ledispositifpropospermetsimplementd'assemblerun
programmeetdeletransfrerdanslePIC.Ilnepeutpas:
LireleprogrammecontenudanslePIC,parexemplepourvrifierqueletransfertatfaitcorrectement
Assisterl'utilisateurlorsdudbogageenlisantlavaleurdesvariables,compteursetc.
TransfrerdesparamtresderglagesousformedevaleursenregistresdanslazoneEEPROM
Vousserezdoncseulfacelabte,sanslamoindreaidesicellecineveutpasfairecequevousvoulez!
Ceslimitationsn'enlventtoutefoisrienlavaliditduconceptquiestdeproposerlesystmemininalistequipermettededbuter
et/oudesedpannersid'aventureonsetrouveunjourconfrontunproblmedePICsansavoirsouslamainlematrielquivabien.

Notes

...TTC1
Lesprixindiqussontceuxducatalogue20022003deGOTRONIC

Lecircuit

http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

2/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette

Figure1:lecircuitenconfigurationutilisation....

Figure2:lemmeenconfigurationprogrammation.
Vousconstaterezaismentquelecircuitestd'unesimplicitbiblique.Cettesimplicitnedispensetoutefoispasdequelquescommentaires.
J'aidessindeuxvariantesduschma,l'unerelativelaconfigurationutilisepourl'exploitation,l'autrepourlaprogrammation.Vousjouerez
utilementaujeudeserreurspourtrouverlesdiffrences.

Quartz
PourfonctionnerlePIC16F84abesoind'unquartzquivaluipermettrededfinirunefrquenced'horloge.Les16F84courantssupportentune
http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

3/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette

frquencede4MHzcequiestdjunebelleperformancemaisilexistedesF1quiroulent20MHz!Unconseil:ilexistedesquartzde4.000MHzet
desquartzde4.096MHz.Pourmapartjeprfreladeuximefrquencequipermetaprsunedivisionjudicieuse(4096=212)defaireunchronomtre
outouteautreapplicationncessitantunebasedetemps.
Lequartzestcompltpardeuxcondensateurs22pFraccordslamasse.

Alimentation
Lecircuitestalimentparunrgulateur5Vpositifselonunedispositiontoutfaitclassique.Certainsauteursprconisentdemonteruncondensateur
de0.1FcramiqueproximitimmdiatedelabrocheVDDducircuitPIC16F84.
Unebranchedel'alimentationestraccordelabrocheMCLRducircuit,brochequicommandeleresetgnrallorsquesatensiontombezro.Surle
circuittelquedessincettebrocheestraccordelatensiond'alimentationviaunersistancede1kdontnousverronsl'intrtdansuninstant.Unstrap
permetdeconnecteretdedconnecterMCLR.

Tensiondeprogrammation
PourprogrammerlecircuitilestncessairedefairepasserlatensiondelabrocheMCLR12V(1214Vsuivantladatasheet).C'estl
qu'interviennentlescomposantsquiconstituentlabranched'alimentationdeMCLR.Comptetenudufaitquelaprogrammationestuneoprationquine
ncessitequequelquessecondesj'aichoisidefournircettetensioneninsrantunepile9Vlaplacedustrapquiestfigurenhautduschma.Ce
faisantlatensiontotaledisponiblepasse14V,tensionrduiteensuitel'entredeMCLRparlacombinaisonrsistance1ketzener12V.C'estsimple
ettrsrapidemettreenoeuvre.
Pourmettrelecircuitenmarchenormalemettrelestrapcommefigursurledessinducircuitenconfigurationutilisation
Pourprovoquerunresetretirerlestrap,larsistancede100kmonteenparallleaveclazenertirealorslepotentieldeMCLRverslamasse
Pourmonterlatensiondeprogrammationremplacerlestrapparunepile9V,le+tantdirigversMCLR
Lesbarrettesscablescontactstulipesontd'excellentesembasesdestraps.Avecunpetitanneaudethermortractabledecouleurondonneunepetite
toucheprofessionnellequidmontreraquelpointletravailatbienpens....

Circuitdeprogrammation
LePIC16F84seprogrammeenappliquantunsignald'horlogesurlabrocheRB6etlesinformationsbinairessrialisessurlabrocheRB7.Chacune
desinformationsquitransitesurlabroche7estvalidelaretombedusignald'horlogesurlabroche6.Lesniveauxlectriquestantdesniveaux
TTLleplussimpleestdoncd'employerleportparalllepourfournirlesniveauxlectriquessouhaits.Lelogicielquenousutiliseronsplusloinfournit
l'horlogesurlabroche3duconnecteurDB25etlesinformationssurlabroche2.Desrsistancesde1kquipourronttremontesdirectementdansle
capotduconnecteur,limitentlecourantencasdefaussemanoeuvre,courtcircuitouautrealas.Laussilesmanchonsthermortractablesserontd'un
grandsecourspourisolertoutcepetitmonde.Leportparallled'unPCestuncomposantquinesupporteabsolumentpasdefourniruncourantdeplus
de20mA.C'estlemotifpourlequeljechoisisdeleprotgerauplusprs,directementdansleconnecteur.Attention:Vouspourrieztretentsd'utiliser
desliaisonstrslonguespourvoussimplifierl'existence.Gardezvousenbien.Ilvautbienmieuxacheteruncordontyperallongedecordon
d'imprimante(DB25/DB25)lequelseracorrectementblindpluttqued'allongerlesfilsderaccordementsterminaux.Autrepossibilit:Utiliserun
connecteurCentronicsfemellequisebrancheradirectementsuruncordond'imprimante.Plusdifficiletrouvermonavis,parailleursilvousfaudra
vrifierlesnumrosdebroches,lesvaleursquejedonnesontrelativesdesconnecteursDB25.Laussilessupportstulipesferontd'excellents
connecteurspourlecircuitdeprogrammation.

UtilisationdesbrochesRB6etRB7
Cesbrochessontutilisespourlaprogrammationducircuit.Celnesignifietoutefoispasqu'ellessoientinutilisablesparlasuite,unefoisle
programmeenplace.Laseulecontrainteestquecesbrochesdoiventtrelibresdepotentielaumomentdelaprogrammationcequisignifiequ'elle
doiventtresparesducircuitd'application.Laussidessupportstulipescoupsdansdesbarettesscablesetdesstrapspermettentderaliser
moindrefraisuneconnexionpourlaprogrammationouuneconnexionpourl'utilisation.

Labranchedetest
Toutaestbienbeaumaisquoicelvatilservirmedirezvous?Etbienpourunpremieressainouspourronsnouscontenterd'unobjectifhumble
maistellementutile,faireclignoteruneLED.CetteLEDserasimplementconnectelabroche2ducircuit(RA3),lecourantdbitseralimitparune
rsistancede1kmonteensrie(dcidmentonconsommebeaucoupde1kdanscetteapplication!).

Notrepremierprogramme
Utilitaired'assemblage
LePIC16F84peutseprogrammerdansdiverslanguagesmaislalanguedebase,cellequiestlaplusperformante,estl'assembleur.Il
s'agitd'unlanguagetrsprochedulanguemachinecequiluiconfreuneefficacitingale.Inconvnient,sonutilisationvavous
obligerpensercommeunordinateurcequin'estpasvidentpriori.
LapremireoprationconsistedonctrouverunassembleurquitournesousLINUX,celuiquiestmisenligneparMICROCHIP,
MPASM,neconvenantl'videncepaspuisquetournantsousWindows!VouspourreztrouvervotrebonheursurInternet,pourma
partjemesuisarrtauchoixd'unpackagenomm``gputils''.Prsentauformat.rpmilesttrssimpleamettreenplace.L'auteurde
gputils,JamesBOWMAN,prsentesonproduitcommedevant,terme,reproduiretouteslesfonctionnalitsdeslogicielsde
MICROCHIP.Pourl'instantlelogicielestenversionalphamaisl'essentielestprsentpuisquelecompilateurgpasmestoprationnel.
Lepaquetagegputils(version0.10.3)comporteparailleurs:
http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

4/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette

gpdasm,undesassembleurquipermetd'analyserducodecompilsionenpossdepaslesource
gpvc,unvisualisateurdecode
Voustrouvereztouteladocumentationncessairesurlesprestationsoffertespargputilsdansladocumentationlivreaveclepaquetage
etquis'installeclassiquementdans/usr/share/doc/gputils...
Lepaquetagegputilspeuttrercuprsurhttp://lealinux.org/_src/redir.php3?url=http%3a%2f%2fwww.rpmfind.net.Uneautre
possibilitestdevisiterhttp://lealinux.org/_src/redir.php3?url=http%3a%2f%2fgputils.sourceforge.net.

Notrepremiercodesource
Leslignesquisuiventcontiennentlecodesourcequenousallonsutiliserpournotrepremieressai.Commeexposcidessuslebutque
nousnoussommesfixesttrssimple:FaireclignoteruneLEDalimenteparlapatte2ducircuit.Lecodeestdesplussimples,sa
comprhensionnedevraitpasposerdeproblmeinsurmontablepourundbutantquiferaitl'effortd'tudierlesrudimentsdulangage
assembleur.CecodepeutseretrouverdansdiversesvariantessurInternet,certainesn'allumantqu'uneLED,d'autresralisantun
chenillardde8LED.Lacomparaisondescodesseraunesourced'informationstrsintressantes.
;**************************************************************************
;testled1.asm
;
;Cecodeprovoqueunclignotementd'uneledraccordelabroche2duPIC
;Ilestlargementinspird'uneprogrammerdigparfpederse
;Macontributionaconsistlaguertoutcequin'estpasstrictement
;ncessaireetmettredescommentairesdanslalanguedeMOLIERE.
;J'ailaissdecodedestemposde10,30et60sec.detellesorte
;permettredesessaisdesvaleursdiffrentesafindevrifierqueles
;transfertsdeprogrammessuccessifssedroulentnormalement.
;**************************************************************************
LISTP=16F84;f=inhx8m

_CP_OFFequH'3FFF';Codeprotecthorsservice
_PWRTE_ONequH'3FFF';Powerontimerenservice
_WDT_OFFequH'3FFB';Watchdogtimerhorsservice
_XT_OSCequH'3FFD';Crystaloscillator(quartz)
__CONFIG_CP_OFF&_PWRTE_ON&_WDT_OFF&_XT_OSC

;Combinaisondesparamtres
;
;Directivesdeconfiguration
;
count1equ0C;Lepremiercompteur
count2equ0D;Lesecond
portbequ06;RegistredeportB
portaequ05;RegistreduportA
statusequ03;Leregistrestatus
rp0equ05;Lebit5==slectionpagedemmoire
trisaequ85H;Reg.derglageenentreousortie
;duportA
;
;Programme
;
org0;origine
clrfporta;mettouteslessortiesduportAzro
bsfstatus,rp0;sl.pagemmoire1pouraccstrisa
clrftrisa;resettrisa,portAestdfiniensortie
bcfstatus,rp0;slectionpagemmoire0
;
;Codemodifiablepouressaissuccessifs
;
start
bsfporta,3;Fixe1lebit3duportA>5Vsurbroche2
callwait_sec_5;TempoLEDallume
bcfporta,3;Fixe0lebit3duportA>0Vsurbroche2
callwait_sec_5;TempoLEDteinte
gotostart;Bouclesurtiquettestart

;
;Sousprogrammesdetemporisation
;
wait_min;tempo1min(nonutiliseici)
callwait_sec_30
callwait_sec_30
return
wait_sec_30;tempo30sec(nonutiliseici)
callwait_sec_10
callwait_sec_10
callwait_sec_10
return
wait_sec_10;tempo10sec(nonutiliseici)

http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

5/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette
callwait_sec_5
callwait_sec_5
return
wait_sec_5;tempo5sec
callwait_sec
callwait_sec
callwait_sec
callwait_sec
callwait_sec
return
wait_sec;tempo1sec
callwait1
callwait1
return
wait1;4temposlmentaires
callwait0
callwait0
callwait0
callwait0
return
wait0;Bouclesralisantunetempolmentaire
movlw.200;Chargecount1avecvaleurdcimale200
movwfcount1
d1movlw.200;Chargecount2avecvaleurdcimale200
movwfcount2

d2decfszcount2,1;dcrementeetsautelignesuiv.sizero
gotod2;sidiffrentdezero
decfszcount1,1;dcrementecount1sicount2==zero
gotod1;boucleinternesicount2<>zero
return
end

Commentairessurcecode
Indentations
Lelangageassembleurdictecertainesrgles,parmicellescilerespectd'uncertainformalismedanslamiseenformeducodesource:
Lesdclarationsdevariablessontcadresgauche(touslesxxxequxxx)
LesdirectivesLISTou__CONFIGsontprcdesd'unblanc,tabulationouespaces(s)
Lestiquettessontcadresgauche
Leslignesdecodesont,commelesdirectivesCONFIGouLIST,prcdesd'unblanc
Lecadragedescommentaires,prcdsd'unestindiffrent
LadirectiveCONFIG
J'ailaissenentteleslignesquidfinissentlesparamtrescombinsparunefonctionETetquidfinissentlaconfigurationsouhaite.
Cesquelqueslignesauraientaussibienputreremplacesparunesimpleligne__CONFIGH'3FF1'.Lavaleurhexa'3FF1'donneen
binaire0011111111110001.Vousvousreporterezutilementladocumentationexistantepourretrouverlasignificationdes
diffrentsbits,parexemplesurhttp://lealinux.org/_src/redir.php3?url=http%3a%2f%2fwww.sq1.com%2Fconfig.html
Enrsum,dedroitegauche:
bits0et1:01,utilisationd'unoscillateurXTc'estdirequartzjusqu'4MHz
bit2:0,Watchdogtimerdsactiv,lechiendegardequisurveilleletempsdecycleneseradoncpasactiv
bit3:0,Poweruptimeractiv,lamisesoustensionilvas'coulerunetrslgretempoavantquelascrutationduprogramme
dmarre
bits413:suitede1,Codeprotectdsactiv
Mnmoniquesdeconfiguration
Danslemmeordred'idej'ailaisslalistedtailledesvariablesetmnmoniques.L'autretechniqueauraittdefaireappelune
directived'inclusiond'unfichiercontenanttoutescesnmmoniques(etbiend'autres)avecleursvaleursrespectives.Onauraitainsi
trouvlaplacedelalisteunesimpleligne:
#include<p16f84.inc>

C'estvidemmentplussobre,l'inconvnientesttoutefoisquedanslasuiteducodelesdiffrentsappelsdesvariablescontenuesdans
lefichierinclussontmoins'transparents'.Ledbutantauradumalfairelelienentrel'appelunemnmoniqueetunedesesfameuses
variablesincluses.
L'entteducodesource,initialisationduportA
Encoreunefoisilnesauraittrequestiondefairedecedocumentuncourssurl'assembleurappliqulaprogrammationdesPIC.
Vouspourrezutilementvousreportercesujetundocumentdefond``LaprogrammationdesPICs''deBIGONOFF,parexemplesur
http://lealinux.org/_src/redir.php3?url=http%3a%2f%2fwww.abcelectronique.com%2Fbigonoff.
Letravailralisparlecoded'entteestassezclassique,onfixel'origineducodedanslammoireduPIC(peuttrepasncessaire
http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

6/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette

puisque0estl'adressepardfaut),puisonfaitunresetdessortiesduportA,aprsquoiondfiniles5brochesduportAcommeautant
desorties(RA0RA4).Cettemanipulationnepeutsefairequ'enslectionnantlapage1delammoire,leregistretrisan'tantpas
accessibledepuislapage0.
Lecorpsduprogramme
Leprogrammeproprementparlern'estconstituquede6lignes,unetiquettequiserviraboucler,4lignesquiaffectent
successivementlesvaleurs1et0lapin2(RA3)duPICenlaissantpasserunetempoentrechaquechangement,aprsquoiladernire
lignerebouclesurl'tiquettedfinieplushaut.Onnepeutplussimpledonc.
Lestemporisations
Vousn'aurezaucunmaldmonterlemcanismedestemposde60,30,10,5secetc.Elles'obtiennentparrptitiond'unetempode
baserepreparl'tiquettewait0.
L'analysedecettedernireestintressante.Lesdeuxpremireslignesquisuiventl'tiquettenesontparcouruesqu'uneseulefois.Elles
initialisentlecompteurcount1200(valeurdcimalecequiexpliquelanotationcurieuse.200).Suiventdeuxbouclesimbriques,la
boucleexterned1gotod1etlaboucleinterned2gotod2.Lejeuconsisteicidcrmenterlescompteursetbouclergentimenttant
queceuxcinesontpastombszro.Lepassageparzroducompteurinterne(d2)dcrmented1d'uneunitetrinitialised2200.
Lamisezroded1terminelatemporisation.Lesdeuxmcanismessontbasssurdesoprateursdecfsz,acronymequisignifie,en
bonfranais,dcrmentelavariableetsautesizro!Enclairlavariablenomme,icicount1oucount2estdcrmente,lanouvelle
valeurestrangedanslavariable(d'oule,1).Sicettenouvellevariableestdiffrentedezroonexcutelalignedecodesuivante,
sinononsauteuneligneplusloin.
Lavaleurdecettetemporisationestassezfaciledterminersiongardeprsentl'espritqueleslignesdecodes'excutentraison
d'uneligneparcycled'horlogesaufpourlesbranchementsquienncessitentdeux.Laboucleinternencessitedonc3cycles.
Parcourue200foiselleconsomme600cycles.Chaqueboucleexternencessite5cycles,plusles600cyclesdelaboucleinterne,le
toutmultipliparles200bouclesparcourir.Ilvientdonctrsengros120000cycles.Surunpicraccordunquartzcadenc4
MHzlafrquenceinterneestde1MHz(1/4).Latempolmentaireseraacheveaprs0.12sec.Quatretemposwait0suivre
durerontdoncenviron1/2sec(wait1),deuxwait1dureront1secetc...
Deuxremarques:
Lecalculeffectuiciesttailllahache.Sivoussouhaitezdtermineravecprcisionladuredelatempoilfaudrafignolerunpeu
(lesbouclessontellesdcrites200ou199fois?).Pourmapartjegardeunmauvaissouvenirdesproblmesdugenrenombred'arbres
etnombred'intervals.
Latemporisationparbouclessuccessivesestunehorreurpuisqu'onconsommedelapuissancepourfairepasserletemps.Ilexiste
d'autrestechniquesbienplusjudicieusesetquiutilisent,parexemple,lechiendegarde.Vousn'aurezaucunmaltrouverlesource
d'unlogicielutilisantcettemthode,cherchezparexemplecount.asmsurInternet.

L'assemblage,utilisationdegpasm
Lepaquetagegputilsfournit,commenousl'avonsvubrivementplushaut,lelogicielgpasmquipermetd'assemblerleprogramme,
c'estdiretransformerlecodesourcerdigenmnmoniquescomprhensiblesparuntrehumain(entran!)encodemachine.
Commed'habitudel'appeldegpasmavecl'extension?ouhprovoquel'affichaged'uncrand'aidereproduitcidessous.
Usage:gpasm[options]file
Options:[defaultsinbracketsafterdescriptions]
aFMT,hexformatFMTSelecthexfileformat.[inhx8m]
c,caseCaseinsensitive.
DSYM=VAL,defineSYM=VALDefineSYMwithvalueVAL.
e[ON|OFF],expand[ON|OFF]Macroexpansion.
h,helpShowthisusagemessage.
IDIR,includeDIRSpecifyincludedirectory.
L,forcelistIgnorenolistdirectives.
l,listchipsListsupportedprocessors.
m,dumpMemorydump.
n,dosUseDOSnewlinesinhexfile.
oFILE,outputFILEAlternatenameofhexfile.
pPROC,processorPROCSelectprocessor.
q,quietQuiet.
rRADIX,radixRADIXSelectradix.[hex]
w[0|1|2],warning[0|1|2]Setmessagelevel.[0]
v,versionShowversion.
Readingheaderfilesfrom/usr/share/gputils/header
Reportbugsto:
<URL:http://lealinux.org/_src/redir.php3?url=http%3a%2f%2fgputils.sourceforge.net>

Comptetenudesdtailscontenusdanslecodesourceproposlesdiffrentesoptionsproposesnenousserventrien!Nousavonsen
effetfixletypedeprocesseur16F84etleformatdesortieinhx8mparladirectiveLISTendbutdecode.Leformatdesnombres
esthexapardfaut.Ilendcoulelanotation.200quiapparatdiversendroitspourforcerlalectured'unnombredcimal.
L'assemblageseferadoncsimplementparlalignesuivante:
gpasmtestled1.asm

laquellelecompilateurvaragirparl'affichagesuivant:
http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

7/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette
tl1.asm:42:Message[302]Registerinoperandnotinbank0.
Ensurebankbitsarecorrect.

Passlepremierinstantd'affolement(maisbonsangqu'estcequinevapasdanscesource,jmlraconteraitildesbtises!?)vousvous
rendrezcomptequevoustesdevantunsimplemessaged'informationetnonuneborded'injureinduiteparuneerreurd'assemblage.
Cemessageprovientdelaligne42,enclaircellequieffacelesbitsduregistretrisa(clrftrisa).Gpasmvousdemandesimplementsi
voustescertaind'avoirslectionnlabonnepagemmoire,lapage1quipermetl'accsauregistretrisa.Notezquesivousvoulez
viterunratcardiaquechaqueassemblagevouspouvezslectionnerunniveaudemessagemoinssensible.Aparirduniveau1
(gpasmw1testled1.asm)l'assembleurconsidreavoiraffaireungourouetvitedel'incommoderavecdesdtailsmineurs!Dans
quelquesmoisvousvouspermettrezpeuttremmeleniveau2.Souvenezvoussimplement,arrivceniveau,quevospremierspas
onttguidsparuncertainjmlquiatrimseulpendantdessemainespourmettreaupointcedocument.Encoretoutcontentducoup
demainvousaurezpeuttreenviedeluienvoyerunpetitmailsympa.N'hsitezpas,l'adresseestjeanmarc.lichtle@gadz.org.
Plussrieusementl'oprationd'assemblageacruncertainnombredefichiers:
testled1.hex,lefichierencodemachinequidevratretransfrdanslePIC
testled1.cod,unfichiervisualisablepargpvcetquicontientunemassed'informationssurlecodeassembl,sataille,les
variablesetc.
testled1.lst,unfichiertextequitabli(entreautre)unecorrespondanceentreleslignesdecodesourceetleurtraductionenhexa
Jevouslaissejugedel'intrtdecesdiffrentsfichiers,nuldoutequ'arrivsauniveaugourouvoussaurezenfaireunsavantusage.
Dansl'immdiatcequinousintresseestlaprsencedufichiertestled1.hex,confirmationquelacompilationadonnunrsultat.Le
toutestdesavoirsicersultatprsenteunintrt,ceseral'objetduchapitresuivant.

TransfertverslePIC,utilisationdepp
LetransfertverslePICvatreralisaumoyend'unlogicieltrsrustiqueavecuneinterfaceenmodetexterpondantaujolinomde
pp,pourPICProgrammer.L'auteurdeceproduitestChrisWILSON.Voustrouverezfacilementladernireversiondusoftsousforme
d'archivetarsurInternet,parexemplel'adresse:http://lealinux.org/_src/redir.php3?
url=http%3a%2f%2fftp.unicamp.br%2Fpub%2Fsystems%2FLinux%2Fsystem%2Fnetwork%2Fisode.
Ladcompressiondel'archivedanssaversionactuellecreunsousrpertoire./pp0.6danslequelvoustrouverezquelquesfichiers
donclesincontournablesREADME.1ST,README,maisaussiFILES.TXTquidonnelalistedesfichiersreproduiteenpartieci
dessous(ettraduite):
FILES.TXT,lalistedesfichiers
PP.TXT,unebrvedescriptionduprogrammeuretdesincidencessurlesoftware,principalementlesvariablesd'environnement
PROGRAM.TXT,moded'emploidulogicieldetransfert
PP.PCX,leschmaduprogrammeurPIC16X8XproposparDavisTAIT,uneversioncomplteassezproched'unprogrammeur
commercial
pp,lelogicieldeprogrammationsousLINUX(etaussiPP.EXEpourlesutilisateursdeMicrosoft)
SRC.ZIP,lecodesourceenC
QANDD.PCX,leschmaduprgrammeurquickanddirtyproposparDavidTAIT,dontjemesuisinspirpourcetarticle
QANDD.TXT,unebrvedescriptionduprogrammeurquickanddirty
TEST.PCX,schmad'uncircuitdetest4diodes
WALK.ASM,uncodesourcepourraliserunchenillard,latemporisationestobtenuedanscecasparundbordementdu
watchdog
mypp,unfichierexecutablequilanceppaprsavoirfixlavaleurd'uncertainnombredevariablesd'environnement.A
paramtrerselonvotrepropreconfiguration,parexemplesivousprogrammezavecleportlp1aulieudelp0.Attention,la
numrotationestdestyleWindows,lepermierportadonclenumro1etnon0commeavecLINUX
Note:Lesfichiersgraphiquesauformat.PCXpeuventtrelusavecTheGimp....
Cettelisteestloind'trecomplte,jen'aimentionnquelesfichiersprincipaux.LesgouroustrouveronsaussiunMakefileetd'autres
friandises.
Uneautrepossibilitpourseprocurerppestdercuprerunfichiernommlinuxpp.zip.Celuipeuttretlchargsur:
http://www.thepicarchive.cwc.net/dtpa/links.html
IlsuffitalorsdelecopierdanslesousrpertoirequivoussertvosessaisdePICetdesuivreuneprocduretoutfaitclassique
rsumecidessous(etdcritedansReadme.now):
[jml@jmllinuxpp]$unziplinuxpp.zip
Archive:linuxpp.zip
inflating:Readme.now
extracting:linuxsrc.zip
inflating:mypp.sh
[jml@jmllinuxpp]$unziplinuxsrc.zip
Archive:linuxsrc.zip
inflating:allpatches
inflating:Makefile
inflating:config.h
inflating:hex.c
inflating:hex.h
inflating:linux.c
inflating:pp.c
inflating:pphw.c
inflating:pphw.h

http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

8/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette
inflating:timer.c
inflating:timer.h
[jml@jmllinuxpp]$make
gccgO2DLINUXcopp.opp.c
pp.c:Infunction`main':
pp.c:356:warning:returntypeof`main'isnot`int'
gccgO2DLINUXcohex.ohex.c
gccgO2DLINUXcotimer.otimer.c
gccgO2DLINUXcopphw.opphw.c
gccgO2DLINUXcolinux.olinux.c
gccgO2DLINUXpp.ohex.otimer.opphw.olinux.oopp
[jml@jmllinuxpp]$ls
allpatcheshex.hlinux.oMakefilepp.cpphw.otimer.c
config.hhex.olinuxpp.zipmypp.shpphw.cpp.otimer.h
hex.clinux.clinuxsrc.zippppphw.hReadme.nowtimer.o

Attention,ladiffrencedelamthodeprcdenteletraitementdelinuxpp.zipnecrepasdesousrpertoire!Veilleznepas
procderdansvotrerpertoirepersonnelfautedequoivousauriezdumalretrouvervospetitsplustard.Ladiffrenceessentielle
entrelesdeuxmthodesrsidedanslefaitqueletraitementdelinuxpp.zipdonnesimplementl'executablesousLinuxalorsquela
mthodeprcdentevouspermetdercupreraussipp.exe,l'executablesousDOS(apeutservir....sivotrelinuxetteestoccupe)

Lasyntaxedepp
Lasyntaxeestassezsimple.Poureffectuerletransfertdufichiertestled1.hexilsuffitdetaper:
./ppntestled1.hex

quoippvavousrpondrepar:
Programminghardwarenotfoundorisfaulty
PIC16F84ProgrammerVersion0.6Copyright(C)19941998DavidTait.
InsertPIC...pressanykeytocontinue(^Ctoabort)

Rpondantl'invitationquivousestfaitevoustaperezalorssurlatoucheEntre(parex.)cequiaurapoureffetdetransfrerle
programmesouhaitdanslePICetd'afficher:
Programming...
SettingconfigtoX...
Finishedin2secs

L'appelppviaunesyntaxe./ppestliaufaitqueppn'estpas,priori,dansundessousrpertoiresdsignparlavariable
d'environnementPATH.Ils'ensuitlancessitdeprciserdansquelrpertoireestrangleprogrammepp,icilerpertoirecourant.
Laduredutransfertestindicative.Ellevadpendreduvolumedufichier.L'optionnestimportante.Elleforceeneffetpptravailler
enaveuglesansessayerderelirecequ'ilatransfr.Cetteoptionestenfaitobligatoirefautedequoipp,serendantcomptequele
programmeurn'estpasunmodleclassique,vasemettreautomatiquementenmodedebug.

Premiersessais
Crezdeuxversionsdulogicieltransfreravecdesdiffrencessensiblesdanslestemporisations,1+1set5+5soualors1+5set5+1s.
L'objectifesticidechargerl'unedesversionspuis,titred'exercice,dechargerl'autreencrasantlapremire.Lesexplicationsdes
chapitresprcdentsdevraientvouspermettredecrerfacilementlesdeuxvariantes.
J'aifaitd'innombrablesessais,parfoisavecdesrsultatsdesesprants(ledsespoirc'estquandilnesepasserienetqueledoute
s'installe:LePICestilfoutu?Aijefaitunefaussemanoeuvre?)Pourvousviterlesaffresderecherchesidentiquesjevousdonne
doncquelquestuyaux:
L'alimentationquidbouchesurlergulateur5Voltspeutresterbrancheenpermanence.Inutiledechercherfaireunreseten
coupantcettealimentation,anesertrien
Danslamesureouvousn'utilisezpaslessortiesRB6etRB7dansvotreapplication,cequiestlecasici,vouspouvezlaisserla
connexionavecleportparallleenplace.LalittratureMICROCHIPditquelepassageenmodeprogrammationestobtenu
lorsqueMCLRpassede012ValorsqueRB6etRB7sonttousdeux0V.Enfait,vouspourrezlevrifier,cesdeuxbroches
restentbiensagement0lorsquelelogicielppestaurepos,conditionbiensrquePPSETUPsoitconfigurcorrectement.
Dslorsunecessioncourantepourraitsedroulercommesuit:
Misesoustension,lePICsemetenmarcheavecleprogrammequ'ilcontientourestel'arrts'ilestviergeoueffac
RetraitdustrapquimaintientMCLRlatensiond'alimentation,lePICs'arrte
Miseenplacedelapile9Vquidlivrelatensiondeprogrammation,lePICpasseenmodeprogrammation
Transfertd'unenouvelleversiondusoftaumoyendeppenutilisantlesyntaxecidessus
Retraitdelapile9Vetmiseenplacedustrap.EntrecesdeuxtapesMCLRpassepar0enprovoquantunresetduPIC
VousdevriezvoirrepartirlePICsursonnouveauprogramme
Enrespectantcettechonologievousnedevriezpasavoirdeproblmesdetransfert.

Utilisationavance
Ilnefautpassementir,aveclehardwaremisenoeuvreiln'estgurequestiondefairedel'utilisationavance.Toutaupluspeuton

http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

9/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette

Ilnefautpassementir,aveclehardwaremisenoeuvreiln'estgurequestiondefairedel'utilisationavance.Toutaupluspeuton
envisagerd'effacercompltementlePICentapant./ppen.Iciaussil'option``n''estncessairepourviterquepppasseenmode
debug.L'effacementseplacedanslecheminementdcritcidessuslaplacedelalignequitransfertleprogramme.
Quelquesconseils:
Aprsuneffacementilfautrepasserparunmodenormal(MCLRaliment5V)avantdetransfrerunnouveauprogramme.La
successiond'unecommandeeffacementetd'unecommandetransfertnesemblepasdonnerlersultatqu'onpourraittreendroit
d'attendre
Danslemmeordred'ideunesyntaxedustyle./ppentestled1.hexquitenteraitdanslammeactiond'effaceretde
reprogrammerlePICsemblevouel'chec,dumoinsaveclehardwarerustiquequenousemployons.
Aspectintressant:onpeutreprogrammerencrasantuneancienneversionsanspasserparunephaseinermdiaired'effacement.
UneffacementpeutservirvrifierqueledialoguePIC/logicielsedroulenormalement.Ilsuffitensuitedechargerun
programmerel.
Uneaidelmentairesurpppeuttreobtenueaveclasyntaxeclassique./pp?.Attention,mmepourvouslivrerquelqueslignes
d'aideppexigequevoussoyezadministratursurvotremachine!
[root@jmlpp0.6]#./pp?
PIC16F84ProgrammerVersion0.6Copyright(C)19941998DavidTait.
Usage:pp[lxhrwpcdevgosn!]hexfile
Config:l=LP,x=XT,h=HS,r=RC
w=WDTE,p=PWRTE,c=codeprotect
Others:d=dump,e=erase,v=verify,g=go
o=old,s=silent,n=noread,!=nowait
Defaults:RC,/WDTE,/PWRTE,unprotected,
noerase,stop,new,verbose,read,wait
Bugreportstodavid.tait@man.ac.uk
Programminghardwarenotfoundorisfaulty
[root@jmlpp0.6]#

Iciaussivousavezlapossibilit,commelorsdelamiseenoeuvredegpasm,demettreenplacelesparamtresdeconfiguration.Pour
mapart,commeexposcidessus,jeprfrefigerlaconfigdanslecodesource.Enpratiquelesseulesoptionsquiservent(monavis)
avecnotreminihardwaresontlesoptionsdjvuesplushaut,epoureraseounpournoread.
Vousavezenfinlapossibilitdelancerppenmodedebug.Laussilamaigreurduhardwaremisenoeuvrenenousconduirapasbien
loin.Commesignalplushautppsemetenmodedebugsivousentrezunelignesansprciserl'optionn.Ilestdonctrsrapide
d'accdercettefonctionnalit.L'affichageobtenuestreproduitcidessous,lesinterlignescorrespondentdesfrappesdelatouche
Entrequipermetdepasserl'tapesuivante.LemodedebugvouspermettraauminimumdevrifierlacontinuitdelaliaisonPCen
faisantmontersuccessivementlesbrochesRB6etRB7duPIC.
[root@jmlpp0.6]#./pp
Programminghardwarenotfoundorisfaulty
pp:Hardwarenotconnected
Programminghardwarenotfoundorisfaulty
Hardwaresetup:7406/4066usingLPT1at0378(delay=6)
Debugmodeentered...(^Ctoexit)
RemovePIC...
VPPoff,VDDoff,RB6low,RB7low(inputOK)...
VPPon...
VDDon...
RB6high...
RB7high(inputBAD)...
Startover...(^Ctoexit)
VPPoff,VDDoff,RB6low,RB7low(inputOK)...
[root@jmlpp0.6]#

EtlesutilisateursdeWindows?
Jemesuislaissdirequ'ilyavaitdesutilisateursquicontinuaientutiliserWindows.Qu'ilsserassurent,laprsentetudes'applique
enprincipeaussileurcas.GpasmestcritdetellesortetrecompatibleavecMPASMdeMICROCHIP,logicielquitournesous
Windows.CelsignifiecontrarioqueMPASMestcompatibleavecgpasm!MPASMpeuttrefacilementtlchargsurInternet,par
exemplesurlesitedeMICROCHIP.
Commejel'aidjexpos,larcuprationdeppsousformed'archive.tarfournitaussilefichierPP.EXEquitournesousDOS.La
grandetoilefournitparailleursdenombreusespossibilitsdercuprercefichier,parexemplesur
http://www.vermontficks.org/picpgmr.htm

Ilsemblerait,seloncettepage,quelesutilisateursdeW2kdoivents'attendredessoucis....DanslemondeLINUXentoutcasj'ai
essayavecMANDRAKE8.2etREDHAT7.0aveclemmesuccs.
http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

10/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette

IlnedevraitdoncyavoiraucunedifficultmajeurepourlesventuelsutilisateursdeWindowsexploiterlesinformationsconsignes
ici,encorequejenepuissenullementvousassurerd'unfonctionnementcorrect(JenetravaillequesousLINUX).

Conclusions
Unmotd'encouragement
Onpeutlireicietlqueleportparallled'unPCestunorganefragile,quesadestructionentraneundommageirrparable,surtouts'il
estintgrlacartemre.Bon,c'estjustemaisenrespectantquelquesprincipesexpossplushaut,enparticulierlemontagedes
rsistancesdanslecapotduconnecteurjenevoispasquelscnariopourraitconduireladestructiondececomposant.Parailleurs,si
vousvoulezvraimentfairepreuvedeprudenceutilisezdoncdeuxpilesde9V,l'unepourlatensiondeprogrammation,l'autrepour
alimenterlergulateur5V.Delasortevotremontageesttotalementisoldurestedumondeetlamasseestimposeparleport
parallle.
ConcernantlarsistanceduPICjepeuxsimplementvousindiquerqueleseulPICquej'aiachetm'aservipourtouslesessaiset
continueclignotergaiementcotdemonPC.
J'aiessayd'tretrscompletdansmonexpos.Celconduitunpavdeplusde20pagesenversionimprime.J'esprequele
volumenerebuterapersonne.Parcontrelelecteurdevraittrouverici,dumoinsc'estmonespoir,toutcedontilabesoinpourun
premieressai.

Etmaintenant?
Arrivcestadeseposelaquestiondesavoirquellesuitedonnercetravail.Chacunferacommebonluisemble.
Simplifierencore?
Onpourraparexempleessayerdesimplifierencore,peuttresupprimerlazener12Vetlesresistancesassociesetlaissermonterla
tensiondeprogrammation14V(5+9).Pourmapartjen'aipasessay.J'airussiconduiretousmesessaisavecunseulPICquiva
continuermerendredesservicesdanslesprochainstemps,jenesouhaitepasfairecetessaiaurisquededpasserdequelques
dcimalescequepeutsupporterMCLR.
EtlesautresPIC's?
Uneautrevoieseraitd'explorerlapossibilitdeprogrammerd'autresPIC,parexmpledePIC16F8772.Jeviensdeparcourirladata
sheet,c'estsimplementBysance,8kdeRAMflash(motsde14bits),256octetsd'EEPROM,6entres/sortiesanalogiques10bitsetc.
letoutdansunboitier40pattes,doncavecdesE/Slogiquesfoison!
Acheterun``vrai''programmeur
J'airemarqulorsdemessurfsqueleslogicielsdeprogrammationquitournentsousLINUXutilisentgnralementleportparallle.Je
nesauraisdonctroprecommander,dansl'hypothseouvousvoudriezparlasuitefairel'achatd'unvraiprogrammeur,detenircompte
decetteralitetdechoisirunmodlequiutiliseceport.Attentiondonccarlamajoritdesmatrielspropossparlesrevendeurs
utilisentleportsrie.

Notes

...PIC16F8772
16.20chezGOTRONIC,catalogue20022003,www.gotronic.fr

Remerciements
J'ailabonnehabitudederemercier,mmesiellesnelisentpasmalangue,lespersonnesqui,graceauxinformationsqu'ellesontmisen
placesurInternet,onpermisque,partantdemesconnaissancesd'lectroniquesdesannes70etalorsquejen'avaisjamaisentendu
parleraupralabledemicrocontrleurs,j'arriveenmoinsde3moismettreaupointcetarticle.
Jedistingueraistoutspcialement:
BIGONOFF,citplushautetdontlecoursdePICest,monavis,unerfrencedansledomaine
DavidTAIT,luiaussicitplushautetquiabeaucouppublisurlethmeduhardware``rapideetsale''
ChrisWILSON,l'auteurdepp(coauteuravecDavidTAIT?)

L'auteur
JeanMarcLICHTLE,IngnieurArtsetmtiers,promotionCH73.
Al'poquelaRAMtaitconstituederseauxdetoresmagntiques,unparbit,traversschacundetroisfilsquipermettaientles
http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

11/12

1/30/2016

IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette

oprationsdelectureetd'criture.L'expression``1kilodeRAM''avaitalorsunesignificationpeuttrediffrentedecellequ'ellea
actuellement!Ilfallaitlevolumed'unemachinelaverpourrangerquelqueskilosdemmoiresurunIBM1130.
Lescommentairessurcetravailpeuventm'treadresssl'adressesuivante:jeanmarclichtlechezgadzorg
jml

proposdecedocument...
IntroductionlaprogrammationdemicrocontrleursPIC16F84suruneLinuxette
LecodesourcedecedocumentatrdigauformatLaTeX.Pourtoutrenseignementsurceformatetsonutilisationsereporterun
articledummeauteurdiffussurlealinux.org.
Ilaensuitetexportauformat.htmlaveclacommandequivabien,voircidessous.
ThisdocumentwasgeneratedusingtheLaTeX2HTMLtranslatorVersion2K.1beta(1.62)
thegeneratedHTMLwasthendebuggedbyJiceandFred.Someunusefulpictureswerereplacedbytheirascii/htmlequivalentor
reducedtomatchamorecomfortablescreenwidth.ManyLinkswhereaddedbyhandtomakethisdocumentmorecomfortabletouse.
)PourraitpasparlerfranaisLatex?
Copyright1993,1994,1995,1996,NikosDrakos,ComputerBasedLearningUnit,UniversityofLeeds.
Copyright1997,1998,1999,RossMoore,MathematicsDepartment,MacquarieUniversity,Sydney.
Thecommandlineargumentswere:
latex2htmlpic.texsplit0
Thetranslationwasinitiatedbyjmlon20021103
jml20021103

Compltezcettepage,posezvosquestionsetremarquesici:WiKiFri
Pagehttp://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.htmlmodifiele02/12/2002.
Copyrightfribotte@free.fr,librededroitpourtouteutilisationnoncommerciale.
Reproductionautoriseparsimplemail

http://fribotte.free.fr/bdtech/piclinuxette/piclinuxette.html

12/12