Beruflich Dokumente
Kultur Dokumente
| Les microcontrleurs PIC | Les microcontrleurs ATMEL AVR | Programmation en langage Pascal (Mikropascal) | Application en mikropascal : Porte automatique de garage | Programmation en langage C (Pic C Compiler PCWH) | Le Bus I2C | Mmoires srie 24C32 | Tutorial Mikropascal | Tutorial Pic C Compiler | Tutorial Logipic | Tutorial Edit Algo | Tutorial IcProg | Chapitre 3
WinDev et C++, C# IDE, .NET, RAD, Sgbd, Etats, etc. Lien C++ direct - DVD Dmo gratuit
www.pcsoft.fr
Formation Php Information Sur Les Formations ? Pour tout savoir Renseignez-Vous !
www.Groupe -Form ation-Info .com /
2.1.1. Dclarations spcifiques au compilateur CCS : #bit id =x,y Id : identifiant (Nom dun bit) X : Nom du variable ou dune constante Y : position du bit Exemple :
#bit RW #bit BUZZER =PORTA,2 =PORTD,7
2.2. Les variables : Les variables sont dfinies par sign ou non sign, Syntaxe : <Signed><type><identificateur1>,.., <identificateurn> .lidentificateur : Cest le nom (il ne doit pas dpasser 32 caractres sans accent) affect la variable. . le type : il dtermine la taille de la variable et les oprations pouvant tre effectues. On peut rajouter le mot signed devant le type de la variable, alors les variables deviennent signes. 2.2.1Les types du compilateur CCS : Type Taille Int1 Int8 1 bit 8 bits valeurs 0 OU 1 De 0x00 0xFF ou 0 255
technologuepro.com//Programmatio
1/11
13/04/2010
Exemples :
Int A,B,C,D ; Char MESSAGE[10] ;
Les types signs Par dfaut, tous ces types de donnes sont signs, ils peuvent tre signs en rajoutant le mot cl signed devant le type. Exemple :
Signed int A ; Signed long NB; // // Entier de type sign, de -128 +127 Entier de type sign, de -32768 +32767
2.2.2 Les base du compilateur CCS : Le dcimal : Loctale : Lhexadcimal Le binaire A=10 ; A=012 ; A=0x0A ; A=0b00001010 ;
Le caractre : Exemple la lettre A code ASCII 65(Dcimal) ou $41(Hexadcimal), peut scrire : LETTRE = 65 Ou LETTRE = 0x41 Ou LETTRE = A
Loprande de gauche prend pour valeur loprande de droite. 3.2. Les oprateurs arithmtiques : Type Addition Soustraction Moins unaire Multiplication Division Reste de la division entire Symbole + * / % Exemple a = a + b ; x = 5+ a a =a b ;y=c -5 a=-b a =a * a ; b =y* 8 c=9/b;d=a/b r=a%b
technologuepro.com//Programmatio
2/11
13/04/2010
Egalit Diffrent Suprieur Suprieur ou gal Infrieur Infrieur ou gal 3.4. Les oprateurs logiques : Type Et logique Ou logique Non logique 3.5. Les oprateurs binaires bit bit : Type Et binaire Ou binaire Ou exclusif Complment 1 Dcalage de n bits droite Dcalage de n bits gauche == != > >= < <=
Symbole && || !
Symbole Exemple & | ^ ~ >> << x=y& z x=y|z x=y^z x=b ~z x = b >> n x = b << n
La structure prcdente rpte la suite dinstruction comprises entre crochets tant que la variable entire x est diffrente de 0. 4.2 Structure do ... while : faire ... tant que... Cette structure ressemble fortement la prcdente la seule diffrence que la squence rpter est au moins excuter une fois mme si la condition nest jamais vrifie.
do { ... } while (int x!=0);
4.3 Structure for : Pour <variable> allant de <valeur initiale> <valeur finale> faire...
technologuepro.com//Programmatio
3/11
13/04/2010
Cette instruction permet de rpter, un nombre de fois dtermin, une mme squence.
for (i=0;i<5;i++) { ... }
La structure prcdente rpte 5 fois la suite dinstruction comprise entre crochets. La variable i prendra les valeurs successives de : 0, 1, 2, 3 et 4. 4.4 Les structures alternatives.
Ces structures permettent dexcuter des squences diffrentes en fonction de certaines conditions. 4.5 Structure if ... Else : Si <condition> faire ... sinon faire ... Avec cette structure on peut raliser deux squences diffrentes en fonction du rsultat du test sur une condition.
if (a<b) c=b-a; else c=a-b;
La structure prcdente affecte la valeur b-a c si a est infrieur b sinon c est affect par la valeur a-b. 4.6 Structure switch ... case. Cette structure remplace une suite de if ... else if ...else et permet une de raliser diffrentes squences appropries la valeur de la variable teste.
switch (a) { case 1 case 2 case 3 case 4 }
: : : :
Mise 1 de RA5 :
output (pin_A4 ,1) ;
ou
output_high (pin_A4) ;
technologuepro.com//Programmatio
4/11
13/04/2010
#use delay (clock=4000000); #use delay (clock = 20000000);
Les fonctions suivantes utiliseront le port srie comme moyenne de communication : Printf() ; Putc() ; getc() ; Kbhit() ;
ID_de_la_constante
valeur
ID_de_la_variable ;
2. Procdures et fonctions :
La traduction dune fonction ou procdure ou encore appel sous-programme seffectue ainsi :
2.1. Syntaxe :
//Nom de la fonction : //Description du rle de la fonction : //Paramtres dentre : Noms et types des paramtres dentre //Paramtre de sortie : Nom et type du paramtre de sortie Type de la variable de retour nom de fonction (types nom des paramtres) { Instruction 1 ; . . Instruction n ; Return (valeur) ; } A partir de ce syntaxe, on peut avoir plusieurs cas possibles comme : // Valeur renvoyer
technologuepro.com//Programmatio
5/11
13/04/2010
Void nom de fonction (Void) { Instruction 1 ; . . . Instruction n ;}
2.3. Une fonction avec des paramtres dentre et sans paramtre de sortie :
//Nom de la fonction : //Description du rle de la fonction : //Paramtres dentre : Noms et types des paramtres dentre //Paramtre de sortie : Rien Void nom de fonction (types nom des paramtres) { Instruction 1 ; . . . Instruction n ;}
technologuepro.com//Programmatio
6/11
13/04/2010
Instruction 1 ; . Instruction n ; }
du port A du port B
#fuses Syntaxe Rle : #fuses options : Permet de dfinir le mot de configuration. Les options sont : LP, XT, HS, RC
technologuepro.com//Programmatio
7/11
13/04/2010
Exemple WDT, NOWDT PUT, NOPUT
PROTECT, NOPROTECT.
: #fuses XT,NOWDT,NOPUT,NOPROTECT
#int_xxxx Syntaxe : #int_ext #int_ RB #int_TIMER0 : interruption externe. : changement dtat de RB4 RB7. : dbordement du timer0.
#int_EEPROM : fin dcriture dans lEEPROM. Rle 2- Fonctions BIT_CLEAR() Syntaxe Rle Exemple : BIT_CLEAR(var, bit) : Mettre 0 le bit bit de la variable var . : a=0x1F BIT_CLEAR(a, 3) a devient 17 hexa. : Spcifie la source de linterruption.
BIT_SET() Syntaxe Rle Exemple : BIT_SET(var, bit) : Mettre 0 le bit bit de la variable var . : a=0x1F BIT_SET(a, 6) a devient 3F hexa.
BIT_TEST() Syntaxe Rle Exemple : BIT_TEST(var, bit) : Teste ltat du bit bit de la variable var . : a=0x1F BIT_TEST(a, 2) Le rsultat est 1 car le bit 2 de la variable a est 1.
DELAY_MS()
technologuepro.com//Programmatio
8/11
13/04/2010
Syntaxe Rle Exemple : DELAY_MS(x)
INPUT() Syntaxe Rle : etat=INPUT(pin) : Permet de lire ltat dune broche dun port pralablement configure en entre. : a=input(PIN_B0) la variable a reçoit ltat de la broche 0 du port B.
Exemple
INPUT_x() Syntaxe Rle : etat=INPUT_x() : Permet de lire ltat dun port (x sur 8 bits) pralablement configur en entre. : c=input_A() la variable c reçoit ltat du port A (1 octet).
Exemple
OUTPUT_x() Syntaxe Rle : OUTPUT_x(valeur) : Permet de sortir loctet valeur sur le port x , pralablement configur en sortie. : OUTut_B(0x1F) La valeur 1FH est envoye sur le port B.
Exemple
OUTPUT_BIT() Syntaxe Rle Exemple : OUTPUT_BIT(pin, etat) : Permet de mettre la pin (pin) ltat logique (etat). : OUTut_BIT(PIN_A3,1) Mettre 1 la broche 3 du port A.
technologuepro.com//Programmatio
9/11
13/04/2010
Rle Exemple
OUTPUT_LOW() Syntaxe Rle Exemple : OUTPUT_LOW(pin) : Permet de mettre 0 la pin (pin). : OUTut_LOW(PIN_A3) Mettre 0 la broche 3 du port A.
ROTATE_LEFT() Syntaxe Rle : ROTATE_LEFT(adresse, n) : Rotation gauche de n positions de loctet ayant pour adresse adresse . : a=0x86 ROTATE_LEFT(&a, 1) a devient 0d hexa.
Exemple
ROTATE_RIGHT() Syntaxe Rle : ROTATE_RIGHT(adresse, n) : Rotation droite de n positions de loctet ayant pour adresse adresse . : a=0x86 ROTATE_ RIGHT (&a, 1) a devient 43 hexa.
Exemple
SET_TRIS_x() Syntaxe Rle Exemple : SET_TRIS_x(valeur) : Configure la direction du port x . : SET_TRIS_B(0x0F) Les pins B7, B6, B5, B4 sont configures en sortie (0). Les pins B3, B2, B1, B0 sont configures en entre (1).
technologuepro.com//Programmatio
10/11
13/04/2010
Rle
Exemple
SHIFT_RIGHT() Syntaxe Rle : SHIFT_RIGHT(adresse, n, bit) : Dcalage droite de n positions de loctet dadresse adresse ; bit est le bit introduit 0 ou 1. : SHIFT_ RIGHT (&b, 2, 0) Dcalage droite de 2 positions de la variable b .
Exemple
Go
Articles
Projets
Forum
Tlchargement
Login
technologuepro.com//Programmatio
11/11