Vous êtes sur la page 1sur 10

TSTI2 anne 2010/2011

LANGAGE C Compilateur CC5X MPLAB v8

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 +

ition u !ic"ier source

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

44 IC ./0123 44 mot de con%iguration du IC

44 > 6 ' .= &an?. 44 O>T@ en sortie 44 > 6 ' 6= &an?6

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

mot e con!iguration u P'C

nom."e(

+6<266E660870H1 +6666666.00

"e(a cimal programmation


Les &its sont envo,s en srie dans la mmoire du pic

programmateur MPLAB

carte e veloppement P'C

c PIC : MPLAB - cc5x

{\tp\prog_c\not ce_prog_c_MPLAB ! cc5x"o#t$ - page 2/10

1. CRATION D'UN PROJET SOUS MPLAB


3vant de dmarrer l(dition d(un %ic"ier vous deveI crer un proJet en suivant les tapes ciKdessous + 1.1 Lancement e MPLAB our dmarrer ! L3@ IDEC cliquer sur l(icne 1.* C+$'x , -#$ce..e,#

depuis le &ureau# 1.! Lancement e " P#$%ect &'(a# )

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#

La %enLtre ciKdessous s(ouvre +

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

our continuerC cliquer sur S% &ant

c PIC : MPLAB - cc5x

{\tp\prog_c\not ce_prog_c_MPLAB ! cc5x"o#t$ - page '/10

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#

C"oisir Include Searc" at" et donner le c"emin vers le dossier de ccF)


c PIC : MPLAB - cc5x
{\tp\prog_c\not ce_prog_c_MPLAB ! cc5x"o#t$ - page //10

!. 't'$n et c$m-'1at'$n .$,#ce

, 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)###

N(ou&lieI pas de lui donner l(e)tension S #c T#

c PIC : MPLAB - cc5x

{\tp\prog_c\not ce_prog_c_MPLAB ! cc5x"o#t$ - page 5/10

*. C$m-'1at'$n , 3'c+'e# .$,#ce


La compilation et l(assem&lage se lance en cliquant sur l(icne @:ILD#

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

c PIC : MPLAB - cc5x

{\tp\prog_c\not ce_prog_c_MPLAB ! cc5x"o#t$ - page 2/10

/. Le 1an8a8e C .$,. 91$:c$ e et cc5x


/.1 D0c1a#at'$n. e ;a#'a<1e. our pouvoir 1'#e ou m0m$#'.e# l$in%ormation dlivre par un capteurC la t#a'te#C il est ncessaire d$utiliser des ;a#'a<1e. qui sont des cases de la mmoire donne dans lequel sera stoc?e cette in%ormation# our pouvoir commander un actionneurC on pourra utiliser aussi des varia&les qui permettront =0c#'#e dans les ports du microcontrleur#
Algorigramme )
T>-e e ;a#'a<1e Le seul t,pe de varia&le autoris sous 0LOECODE est le t,pe entier de ? <'t. -$.'t'3 6n$n .'8n07. Les entiers sont uniquement des dcimau)# Exem-1e @

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#

9$#mat e. $nn0e. a 5 .F/7 = a 5 Bx0031 C a 5 B<.666666.= a 5 =S= =

/.! A33ectat'$nE ca1c,1E 1ect,#eE 0c#'t,#e


Algorigramme )
Exem-1e @ C5 (3 X @ Y<) 47 Z2 D 5 @ !OD C C5CX. C5CK. C5 @[[< @ 5 NOT 3 D5 (3 3ND @) O> ( @ 3ND C) MO> 3 our lire un O>T il %aut avec 0lo\code utiliser + C 5 O>T3 = our crire sur un O>T il %aut avec 0lo\code utiliser + O>T35@ =

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 ' .

c PIC : MPLAB - cc5x

{\tp\prog_c\not ce_prog_c_MPLAB ! cc5x"o#t$ - page 3/10

/.* 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)

/./ .t#,ct,#e a1te#nat';e .'m-1e .'...a1$#....


Algorigramme )
```` i% (condition ) 9 traitement .= B ``## ````## Exem-1e @ Exem-1e @ `# i% ( (35 5<) AA (@a57)) ``

Langage C )

9 O>T@5@ = B

/.5 .t#,ct,#e a1te#nat';e c$m-1Lte .'...a1$#.....'n$nM


Algorigramme )
```` i% (condition ) 9 traitement .= B 9 traitement< = B

Langage C )

else ``## ````## Exem-1e @

Exem-1e @ `# i% ((35 5<) AA (@a57)) 9 O>T@5@ = B else 9 O>T35@ = B ``

c PIC : MPLAB - cc5x

{\tp\prog_c\not ce_prog_c_MPLAB ! cc5x"o#t$ - page 4/10

/.2 .t#,ct,#e #0-0t't';e tant N,e M 3a'#e M 3'n tant N,e M


Algorigramme ) Langage C )
\"ile ( condition ) 9 traitement.= B ``##

Exem-1e @

Exem-1e @ `# 3 5 O>T3= 36 5 3 A 6)6. = \"ile ( 36 U5. ) 9 3 5 O>T3= 36 5 3 A 6)6. = B ``

/.4 .t#,ct,#e #0-0t't';e #0-0te# M tant N,e M


Algorigramme )
```` do 9 traitement.= B \"ile ( condition )=

Langage C )

Exem-1e @ `# ````## Exem-1e @ do 9 3 5 O>T3= 37 5 3 A 1 = B \"ile ( 37 U5 1 )= MM

c PIC : MPLAB - cc5x

{\tp\prog_c\not ce_prog_c_MPLAB ! cc5x"o#t$ - page 5/10

/.? <$,c1e 'n3'n'e


Algorigramme ) Langage C )
`## \"ile ( . ) 9 traitement.= B ``##

Exem-1e @

Exem-1e @ `## \"ile ( . ) 9 3 5 O>T3= O>T@ 5 3= B ``##

/.O .t#,ct,#e #0-0t't';e -$,# M 3'n -$,# M


Algorigramme )
Exem-1e @

Langage C )
Exem-1e @ `## %or (i56 = i[ .6 = iXX) 9 traitement .= B ``##

c PIC : MPLAB - cc5x

{\tp\prog_c\not ce_prog_c_MPLAB ! cc5x"o#t$ - page 10/10

Vous aimerez peut-être aussi