Professional Documents
Culture Documents
DOBSTACLE
Travail ralis par:
BOUHAJJA Lamia
KHADHRAWI Marwen
PLAN
PRESENTATION GENERALE
PRESENTATION DE LA SOCIETE
PRESENTATION DE TRAVAIL DEMANDE
ENVIRONNEMENT ET OUTIL DE SOLUTION
INTRODUCTION
LA PLATE FORME MikroC
LE SIMULATEUR DES CIRCUITS
LE MICROCONTRLEUR PIC16F877A
LE CAPTEUR ULTRASON
ETUDE DE PROJET
REALISATION
PROBLEME RENCONTRER
CONCLUSION
PRSENTATION
GNRALE
PRESENTATION DE LA SOCIETE
PRESENTATION DE TRAVAIL DEMANDE
PRESENTATION DE LA SOCIETE
PRESENTATION DE TRAVAIL
DEMANDE
Base sur :
PIC
16F877A
Capteur Ultrason : FESTO 177469
Afficheur LCD
PRESENTATION DE TRAVAIL
DEMANDE
ENVIRONNEMENT
ET OUTIL DE
SOLUTION
INTRODUCTION
LA PLATE FORME MikroC
LE SIMULATEUR DES CIRCUITS
LE MICROCONTRLEUR PIC16F877A
LE CAPTEUR ULTRASON
INTRODUCTION
Plateforme MikroC
Simulateur des circuits lISIS
Dispositifs PIC16F877A
Capteur ultrason FESTO 177469
Ecran LCD (2 Lignes 16 Colonnes).
10
11
12
LE MICROCONTRLEUR
PIC16F877A
hautes performances
consommation rduite
faible cot.
13
LE MICROCONTRLEUR
PIC16F877A
Avec une horloge interne de 4 MHz
1 000 000 cycles/seconde
le PIC excute pratiquement 1 instruction par
cycle, hormis les sauts une puissance de
lordre de 1 MIPS
14
LE MICROCONTRLEUR
PIC16F877A
15
16
LE CAPTEUR ULTRASON
17
LE CAPTEUR ULTRASON
ETUDE DE PROJET
19
ETUDE DE PROJET
20
ETUDE DE PROJET
REALISATION
22
REALISATION
23
REALISATION
24
REALISATION
PIR1.TMR2IF=0;
Count++;
if (Count==1000)
{
Count=0; // la formule est freq=oslateur/(4*prescaler*(PR2
-TMR2)*postscaler*count)
}
ms--;
}
}
void main() {
Lcd_Config(&PORTB, 4, 5, 6, 3, 2, 1, 0); // Configuration de LCD
(associer chaque pine du port B a celle du LCD)
LCD_Cmd(LCD_CURSOR_OFF); // Ignorer le curseur
LCD_Cmd(LCD_CLEAR); // Effacer LCD
25
REALISATION
ADCON1 = 0x82; // Configurer le registre ADCON1 ()
TRISA = 0xFF; // utiliser le port A comme ente de lecture analogique
text = "Objet a:";
while (1) {
adc_rd = ADC_read(2); // Lire la valeur de ADC de la 2eme chanel de lecture
analogique
LCD_Out(1,1,text); // Ecrire " Objet a:" dans LCD 1er ligne 1er colonne
tlong = (long)adc_rd *248.5; // Convertir la valeur lu de ADC en mtre
tlong = tlong / 205; //Valeur lu par L'ADC 0.1023 -> Valeur rel 0-12.4 m
ch = (tlong / 100) % 10; // trouver le chiffre de dizaine
LCD_Chr(1,9,48+ch); // Ecrire le code ASCII du chiffre dans LCD dans la 1er
ligne 9eme colonne , ajouter 48 au chiffre lu puisque 48 c'est le code ASCII de
'0'
LCD_Chr_CP('.');
26
REALISATION
ch = (tlong / 10) % 10; // trouver le chiffre 0.1 volts
LCD_Chr_CP(48+ch); // Ecrire le code ASCII du chiffre dans LCD dans la
position du curseur, ajouter 48 au chiffre lu puisque 48 c'est le code
ASCII de '0'
ch = tlong % 10; // trouver le chiffre 0.01 volts
LCD_Chr_CP(48+ch); // Ecrire le code ASCII du chiffre dans LCD dans la
position du curseur, ajouter 48 au chiffre lu puisque 48 c'est le code
ASCII de '0'
LCD_Chr_CP('m');
temp(1); // attendre pour 1s
}
}
27
PROBLMES RENCONTRER
28
CONCLUSION
Apports personnels
la