Académique Documents
Professionnel Documents
Culture Documents
Réalisé par:
Pr. AHMED MOUHSEN
2
Plan
Introduction
Applications générales
MiKroC for PIC
3
Le mikroC PRO for PIC est un outil de développement puissant et
riche en fonctionnalités pour les microcontrôleurs PIC.
Le « mikroC PRO » est un compilateur Conçu par la société
«Mikroelektronika », le compilateur C nouvelle génération "MikroC
PRO" pour microcontrôleurs PIC bénéficie d'une prise en main très
facile.
Il a une capacité à pouvoir gérer la plupart des périphériques
rencontrés dans l'industrie (Bus I2C, SPI, CAN, PWM, afficheur
LCD, EEPROM …), de ce fait il est un des outils de développement
incontournable et puissant.
MikroC for PIC
4
L’interface de mikroC for PIC
La zone de configuration
de circuit choisis
1) File=>New=>New
Project=>Next
MikroC for PIC
6
Création d’un nouveau projet sous mikroC
Déclaration et
directives sbit switch_on at RA0_bit;
sbit switch_off at RA1_bit;
Le programme
sbit LED at RB0_bit;
commence avec les mots clés
void main() Entrée au programme
{ L’exécution commence ici
trisa=3;
trisb=0;
porta=0;
Programme portb=0;
principale for(;;)
{
if(!switch_on)
LED=1;
if(!switch_off)
LED=0;
}
}
Langage c
9
Type de données standard
10 Langage c
!= Différent If(a!=b)
|| OU logique If((a==4)||(b==5));
== Egale If((a==b);
Langage c
14
Boucle: For
Syntaxe:
For(Initialisation; condition ; Modification)
{
Action 1;
Action2;
…;
}
Exemple:
For(i=0; i<7; i++)
{
Action;
}
15 Langage c
Fonctions:
Définition d’une fonction :
type nom-fonction (type-1 arg-1,...,type-n arg-n)
{
[déclarations de variables locales ]
liste d'instructions }
Exemple:
int produit (int a, int b)
{
return(a*b);
}
16 Langage c
Quelques fonctions :
fonction Description
} }
Compteur modulo 64:
void main () {
char x;
TRISB=0 ;
Loop :
PORTB=0 ;
delay_ms(1000) ;
for (x=0 ; x<64 ; x++ )
{
PORTB++; //PORTB+PORTB+1
delay_ms(1000);
}
goto loop ;
}
20
Bibliothèques Intégrées à mikroC
Dons le compilateur mikroC for PIC on trouve un ensemble des bibliothèques qui facilitent la programmation,
ici on va détailler quelques une.
Bibliothéque Description
ADC Convresion analogique numérique
Registres utilisés
Le registre utilisé dans ce cas est:
ADCON1 en h'9F' page 1 : registre de contrôle n°1 du convertisseur.
ADFM PCFG3 PCFG2 PCFG1 PCFG0
N.B: dans ce cas on va utilisé la bibliothèque ADC=>il suffit d’affecté la valeur 0 au registre
ADCON1
22
Bibliothèques Intégrée à mikroC
Exemple d’utilisation d’ADC: description
Cette manipulation a pour objectif de programmer le module CAN (Conversion Analogique Numérique) du
pic 16f877A. (Le signal à convertir peut-être une tension issue d'un capteur qui sera simulé par un
potentiomètre.), le signal numérique sera codé sur 10bits, c'est une valeur comprise entre h'000' et h'3FF'.
Bibliothèques Intégrées à mikroC
23 Exemple d’utilisation d’ADC : Le code de programme sous mikroC for PIC
int temp_rs; //Déclaration d’un variable pour le stockage des valeurs de conversion
void main() //la function principal
{
ADCON1=0x00; // configuration de registre ADDCON1
TRISB=0x00; // configuration de registre des prorts B/C en sortie
TRISC=0x00;
ADC_Init(); // initialization du module ADC
while(1)
{
temp_rs=ADC_Read(0);
PORTB=temp_rs; // affectation des premiers 8 bits temp_res au portB
PORTC=temp_rs>>8; // affectation des 2 bits de poid fort au portC
delay_ms(100);
}
}
24 Bibliothèques Intégrées à mikroC
bibliothèque PWM: Fonctions essentielles
// ou PWM1_Set_Duty (i) ;
Un signal PWM est caractérisé par une période, et un temps de travail ou le signal est à "1".
Ce temps permet de calculer le rapport cyclique qui peut caractériser le signal.
Lcd_Out(I,C, ’’chaine’’) Afficher une chaine de caractère sur LCD a la ligne I et la colonne C