Académique Documents
Professionnel Documents
Culture Documents
Notice Prog C MPLAB & Cc5x
Notice Prog C MPLAB & Cc5x
SECTION STI
ELECTRONIQUE
Le logiciel utilis est MPLAB IDE. MPLAB est un environnement de dveloppement intgr (IDE) qui permet entre autres le dveloppement sur les microcontrleurs IC de la socit !icroc"ip# MPLAB permet d$diter le %ic"ier source crit en langage C# MPLAB %ait ensuite appel au compilateur CC5X# Le compilateur %ournit un %ic"ier assem&leur (#asm)# MPASM intgr ' MPLAB permet l(assem&lage et donc la cration d(un %ic"ier "e)adcimal (#"e)) ' tlc"arger dans le IC# La c"a*ne de dveloppement est la suivante +
diteur MPLAB
-pragma c"ip IC./0123 -pragma con%ig 5 6)7008 void main() 9 ST3T:S5ST3T:S; 6)<6= T>IS@56)66= ST3T:S5ST3T:SA6)80= O>T@ 5 6)6.= B
nom.c
langage C
compilation
compilateur cc5x
main @S0 6)67C> 6 CL>0 T>IS@ !ODLE .F8 3NDE0 ST3T:SC. !ODLE . @C0 6)67C> 6 !ODE0 O>T@ SLEE GOTO main END
#$%8&A."
nom.a sm
assembleur
assemblage
MPASM
+.66666666.<117./1/6.8076176F6.7617.<1/6662 +6266.666/7666.<1/6
nom."e(
+6<266E660870H1 +6666666.00
programmateur MPLAB
1./ S01ect'$n e. $,t'1. La %enLtre suivante permet la slection des outils logiciels ncessaires ' la cration du %ic"ier #"e)# On slectionne ici le compilateur CCFM#
De mLme pour ! 3S! + C+N rogram 0ilesN! L3@ IDEN!COI PToolsN! 3S!EIN#EME et pour ! LINQ + C+N rogram 0ilesN! L3@ IDEN!COI PToolsN! LINQ#EME
1.5 C#0at'$n , -#$%et La %enLtre suivante permet de nommer votre proJet et d(indiquer son c"emin# Cliquer sur Bro()e puis indiquer votre rpertoire de travail#
1.4 5a1' at'$n , -#$%et La %enLtre suivante rsume les caractristiques du proJet cr +
Cliquer sur S% &ant = l(ar&orescence de votre proJet appara*t ' l(cran + Po%r cont n%er* c+ ,%er )%r S% &ant 1.2 In.e#t'$n , 3'c+'e# .$,#ce La %enLtre suivante permet d(aJouter au proJet des %ic"iers sources e)istants# Si vous dmarreI un nouveau proJet et que vous n(aveI pas encore de %ic"iers sourcesC cliquer sur )% &ant#
Dous alleI d%inir le c"emin des %ic"iers #" ' inclure lors de l(assem&lage# Cliquer sur Pro-ect puis B% +# .pt on) puis Pro-ect#
, 3'c+'e#
!.! Int08#at'$n , 3'c+'e# an. 1e -#$%et :n clic droit sur Source 0ile permet d(intgrer votre %ic"ier source dans votre proJet#
!.1 C#0at'$n , 3'c+'e# .$,#ce 6.c7 our crer un %ic"ier sourceC %aire 0 +e puis 1e(
Slectionner le %ic"ier source puis valider# :ne %enLtre d(dition s(ouvre alorsC permettant l(criture du %ic"ier source# L(ar&orescence suivante appara*t ' l(cran +
:ne %ois le %ic"ier critC vous deveI l(enregistrer aprRs l(avoir nomm# Cliquer sur 0 +e puis Sa&e A)###
Le rsultat de la compilation est %ourni dans la %enLtre ciKdessous# Dri%ieI que le message @:ILD S:CCEEDED appara*t# Dans le cas contraireC corrigeI les erreurs U
Langage C )
T>-e e ;a#'a<1e lusieurs t,pes de varia&le sont autorises sous CCFM S unsigned c+a# T (entier de 1 &its non sign) et S 'nt T(entier de ./ &its non sign)#CCC Exem-1e + unsigned c"ar )= int ,5766= 44 varia&le 1 &its 44 varia&le ./ &its initialise ' la valeur 766
A #e..e a<.$1,e our accder ' un registre du processeur (e)emple le O>TE) on peut d%inir une varia&le qui pointe sur l$adresse de ce registre# our cela il %aut aJouter VW$ et l$adresse de la varia&le# Exem-1e @ unsigned c"ar a 5 O>TE= O>TEW6)68= 44Daria&le V O>TE$ ' l$ adresse 8 44lit le O>TE et mettre le rsultat dans (a( AA D0c'ma1 AA Dexa 0c'ma1 AA B'na'#e AA ASCII
9$#mat e. $nn0e. Seules les donnes avec le %ormat dcimal sont acceptes#
Langage C )
Exem-1e @ c"ar 3C@CCCD = 44Toutes les varia&les sont dclares d$en l$enKtLte C5(3X@ Y <) 4 7 Z 2 = D 5 @ ] C= CXX = CKK = C5 @[[< @5 ^ 3 = D 5 (3 A @) ; (@ A C) _ 3 = 44modulo 44dcalage de < &its vers la gauc"e 44complment ' .
/.* O-0#ate,#. c$n 't'$nne1. Il e)iste plusieurs oprateurs qui permettent d$la&orer des conditions logiques qui seront values ;#a'e. 6F17 ou 3a,..e. 6FB7.
Algorigramme )
Exem-1e @ (C G<) AND (@ HF7) OR ( DHG7) (CF <) AND (@GF7)
Langage C )
Exem-1e @ (CG<) II ( @HF7) JJ (DKF 7) (CF F<) II (@GF7)
Langage C )
9 O>T@5@ = B
Langage C )
Exem-1e @
Langage C )
Exem-1e @
Langage C )
Exem-1e @ `## %or (i56 = i[ .6 = iXX) 9 traitement .= B ``##