Vous êtes sur la page 1sur 8

LANGAGE C

Compilateur CC5X Logiciel PPP

LYCEE FELIX LE DANTEC

SECTION STI

ELECTRONIQUE

Le logiciel ConTEXT permet dditer le fichier source crit en langage C. Le logiciel CC5X permet de compiler (cration dun fichier .asm) puis dassembler (cration dun fichier .hex) ce fichier source. Le logiciel PPP est utilis pour programmer le PIC sur la carte ELECTR !PIC. La cha"ne de d#eloppement est la sui#ante $
%% char *C.!P/!01 #oid main() 2 set!&it (3T4T536 RP0)1 PTI 7!RE8 9 0xC01 clear!&it (3T4T536 RP0)1 :hile( ( ) 2 %. *C.!P/!0 9 (P RT/ ; 0x0( 99 0x0()1 % if (*C.!P/!0) P RT/ 9 P RT/ ; 0x<f = 0x+01 else P RT/ 9 P RT/ ; 0x<f1 > mainendloop$ goto mainendloop1 >

diteur ConTEXT %%%%%.. compilation


xxxx.asm

nom.c

p()*+,.inc

CC5X %%%%%%

PC

assemblage
xxxx.cod xxxx.err xxxx.lst xxxx.hex

include ?C$@PR 8R4A(@-PL4/@P()*+,.I7C? 1.aria&les BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB !*C.!P/!0 eCu 0x0c R8 0 goto start!!code start!!code !main!!code &sf 3T4T536 RP0 mo#l: DE(FGE mo#:f PTI 7!RE8 &cf 3T4T536 RP0 la&el!0000 &sf 3T4T536 RP0 mo#f TRI3/6 H iorl: DE(E mo#:f TRI3/ &cf 3T4T536 RP0 mo#f P RT/6 H andl: DE(E su&l: DE(E mo#l: ( &tfss 3T4T536 I clr: mo#:f !*C.!P/!0 &sf 3T4T536 RP0

nom.asm

PPP
-ot de configuration du PIC de (,

%%%%%% %.

$0G000000#$%&D0 $0+000+00#'((#)##&*($C#*#,G $(000(000&(##&*(%&*($#$#&#(*&&$##&*(%#$#&C( $(000G000#(*)#(*C#(*##*(D#*#(&C##&*($#$#&D( $(000J000+F*)&$##&*(%#C#&#*()%*%&#$#&+F*)4C $(000,000&#*&&$###A%&#$#&+F*)&$###A%&%+%&<J $0000000(**

programmation
Les &its sont en#o's en srie dans la mmoire du pic

nom.hex

PIC

Carte de dve o!!e"ent PIC

c PIC : LE LANGAGE C

{\tp\prog_c\notice_prog_c.odt} - page 2/8

(, L-diteur ConTEXT et CC5X Le compilateur utilis est CCKL Cui ne dispose pas dEditeur. n utilise ConTELT pour crire les programmes.

Pour lancer ConTEXT6 double-cliquez sur l'ic ne Con!"X!

Co%pi!er et a&&e%'!er

Programmer le PIC a#ec PPP

E p!orate"r de #ic$ier

4prMs criture fa"tes en cliCuant

du programme #ous de#eN le compiler puis lEassem&ler. Ces deux oprations sont sur ou en appu'ant sur la touche F).

c PIC : LE LANGAGE C

{\tp\prog_c\notice_prog_c.odt} - page 3/8

%, Con.i/uration du !ro/ra""ateur PPP LorsCue #ous #oudreN programmer #otre PIC6 ConTEXT utilise le logiciel PPP. Pour configurer ce logiciel cliquer sur le raccourci PPP .

Cliquer sur licOne P Con#ig"re PIC%icro Q #ri$ier les paramMtres ciRdessous et #alider par O0.
c PIC utilis

utilisation dun CuartN pour lhorloge du PIC

Lancer la programmation sous ConTELT en cliCuant sur

ou en appu'ant sur la touche F(#,

c PIC : LE LANGAGE C

{\tp\prog_c\notice_prog_c.odt} - page (/8

*, Le an/a/e C 1ou1 F o23ode et CC5X *,( D3 aration1 de varia4 e1 Pour pou#oir ire ou ""ori1er linformation dli#re par un capteur6 la traiter6 il est ncessaire dutiliser des varia4 e1 Cui sont des cases de la mmoire donne dans leCuel sera stocSe cette information. Pour pou#oir commander un actionneur6 on pourra utiliser aussi des #aria&les Cui permettront d53rire dans les ports du microcontrOleur.
%lgorigramme &
T6!e de varia4 e Le seul t'pe de #aria&le autoris sous *L HC DE est le t'pe entier de & 4it1 !o1iti. 7non 1i/n8, Les entiers sont uniCuement des dcimaux. E9e"! e :

Langage C &
T6!e de varia4 e Plusieurs t'pes de #aria&le sont autorises sous CCKL P unsigned 3;ar Q (entier de + &its non sign) et P int Q(entier de () &its non sign).666 E9e"! e $ unsigned char x1 TT #aria&le + &its int '9J001 TT #aria&le () &its initialise U la #aleur J00 Adre11e a41o ue Pour accder U un registre du processeur (exemple le P RTE) on peut dfinir une #aria&le Cui pointe sur ladresse de ce registre. Pour cela il faut aVouter WX et ladresse de la #aria&le. E9e"! e : unsigned char P RTEX0x0F1 TT.aria&le WP RTE U l adresse F a 9 P RTE1 TTlit le P RTE et mettre le rsultat dans EaE For"at de1 donne1 a 9 (K)J 1 a 9 #GJ, 1 a 9 #9**4+ = a 9 (000000(4 1 a 9 535 1 << D3i"a << O3ta << >e9ad3i"a << 'inaire << ASCII

For"at de1 donne1 3eules les donnes a#ec le format dcimal sont acceptes.

*,% A..e3tation? 3a 3u ? e3ture? 3riture


%lgorigramme &
E9e"! e : C9 (4 Y / ZG) TJ B, D9/- DC C9CY( C9CR( C9 /[[G /97 T4 D9 (4 47D /) R ( / 47D C) L R 4 Pour lire un P RT il faut a#ec *lo:code utiliser $ C 9 P RT4 1 Pour crire sur un P RT il faut a#ec *lo:code utiliser $ P RT49/ 1

Langage C &
E9e"! e : char 46/6C6D 1 TTToutes les #aria&les sont dclares den lenRt\te C9(4Y/ Z G) T J B , 1 D 9 / ] C1 CYY 1 CRR 1 C9 /[[G /9 A 4 1 D 9 (4 ; /) = (/ ; C) ^ 4 1 TTmodulo TTdcalage de G &its #ers la gauche TTcomplment U (

c PIC : LE LANGAGE C

{\tp\prog_c\notice_prog_c.odt} - page )/8

*,* O!rateur1 3onditionne 1 Il existe plusieurs oprateurs Cui permettent dla&orer des conditions logiCues Cui seront #alues vraie1 7@(8 ou .au11e1 7@#8,
%lgorigramme &
E9e"! e : (C AG) AND (/ B@J) OR ( DBAJ) (C@ G) AND (/A@J)

Langage C &
E9e"! e : (CAG) CC ( /B@J) DD (DE@J) (C@ @G) CC (/A@J)

*,F 1tru3ture a ternative 1i"! e 1i,,,a or1,,,


%lgorigramme &
%%%% if (condition ) 2 traitement (1 > %%.. %%%%.. E9e"! e : E9e"! e : %. if ( (49 9G) ;; (/_9J)) %%

Langage C &

2 P RT/9/ 1 >

*,5 1tru3ture a ternative 3o"! Gte 1i,,,a or1,,,1inonH


%lgorigramme &
%%%% if (condition ) 2 traitement (1 > 2 traitementG 1 >

Langage C &

else %%.. %%%%.. E9e"! e :

E9e"! e : %. if ((49 9G) ;; (/_9J)) 2 P RT/9/ 1 > else 2 P RT49/ 1 > %%

c PIC : LE LANGAGE C

{\tp\prog_c\notice_prog_c.odt} - page */8

*,$ 1tru3ture r!titive tant Iue H .aire H .in tant Iue H


%lgorigramme & Langage C &
:hile ( condition ) 2 traitement(1 > %%..

E9e"! e :

E9e"! e : %. P4 9 P RT41 P40 9 P4 ; 0x0( 1 :hile ( P40 `9( ) 2 P4 9 P RT41 P40 9 P4 ; 0x0( 1 > %%

*,+ 1tru3ture r!titive r!ter H tant Iue H


%lgorigramme &
%%%% do 2 traitement(1 > :hile ( condition )1

Langage C &

E9e"! e : %. %%%%.. E9e"! e : do 2 P4 9 P RT41 P4J 9 P4 ; + 1 > :hile ( P4J `9 + )1 HH

c PIC : LE LANGAGE C

{\tp\prog_c\notice_prog_c.odt} - page +/8

*,& 4ou3 e in.inie


%lgorigramme & Langage C &
%.. :hile ( ( ) 2 traitement(1 > %%..

E9e"! e :

E9e"! e : %.. :hile ( ( ) 2 P4 9 P RT41 P RT/ 9 P41 > %%..

*,) 1tru3ture r!titive !our H .in !our H


%lgorigramme &
E9e"! e :

Langage C &
E9e"! e : %.. for (i90 1 i[ (0 1 iYY) 2 traitement (1 > %%..

c PIC : LE LANGAGE C

{\tp\prog_c\notice_prog_c.odt} - page 8/8