COMPTE RENDU TP1
PIC
Réalisé par : Gurichi Katar-Ennada
L3 GMMI
Groupe 2
OBJECTIF
Ce projet consiste à utiliser un microcontrôleur PIC16F877 associé à un capteur de température
LM35 pour mesurer la température ambiante et afficher cette valeur sur un écran LCD.
DESCRIPTION DU MONTAGE
• Microcontrôleur (PIC16F877) :
Ce composant central lit la tension analogique fournie par le capteur LM35 grâce à son
convertisseur analogique-numérique (ADC). Un programme spécifique configure le port pour
exécuter cette conversion et transmettre les résultats à un écran LCD.
• Capteur de Température (LM35) :
Ce capteur produit une tension proportionnelle à la température (10 mV/°C). Sa sortie analogique
(VOUT) est connectée à la broche RA0 du PIC pour effectuer la conversion analogique-numérique.
• Potentiomètre (RV1) :
Il permet d'ajuster le contraste de l'écran LCD via ses broches de contrôle.
• Écran LCD :
Un écran LCD 16x2 est utilisé pour afficher la température mesurée en temps réel. Ses broches
de données (D4 à D7) et de contrôle (RS, EN) sont reliées au port B du PIC. La broche RW est
connectée à la masse pour activer le mode écriture uniquement.
2
FONCTIONNEMENT
• Lecture de la Température :
Le PIC recueille la tension fournie par le capteur LM35 via son ADC (broche AN0) et la convertit
en une température exprimée en degrés Celsius.
• Conversion et Affichage :
Les données de température converties sont affichées sur l’écran LCD. Ce processus est
effectué en continu pour assurer une lecture actualisée.
LE PROGRAMME
Voici le programme MikroC associé à ce montage :
• Configuration des ports et de l’ADC.
• Lecture de la valeur analogique de la broche AN0.
• Conversion de cette valeur en température.
• Affichage de la température sur l'écran LCD.
program pic_LCD
' Lcd module connections
dim LCD_RS as sbit at RB2_bit
LCD_EN as sbit at RB3_bit
LCD_D4 as sbit at RB4_bit
LCD_D5 as sbit at RB5_bit
LCD_D6 as sbit at RB6_bit
LCD_D7 as sbit at RB7_bit
LCD_RS_Direction as sbit at TRISB2_bit
LCD_EN_Direction as sbit at TRISB3_bit
LCD_D4_Direction as sbit at TRISB4_bit
LCD_D5_Direction as sbit at TRISB5_bit
LCD_D6_Direction as sbit at TRISB6_bit
LCD_D7_Direction as sbit at TRISB7_bit
' End Lcd module connections
dim txt1 as char [16]
dim i as byte
dim temp as word
main:
TRISB = 0
PORTB = 0xFF
ADCON0 = 1
ADCON1 = 128
Lcd_Init() ' Initialize Lcd
Lcd_Cmd(_LCD_CLEAR) ' Clear display
Lcd_Cmd(_LCD_CURSOR_OFF) ' Cursor off
while true
temp = ADC_read(0)
wordtostr(temp,txt1)
Lcd_out (1,1,txt1)
wend
end.
3
CONCLUSION
Ce montage constitue un thermomètre numérique simple, affichant la température ambiante en
temps réel sur un écran LCD. Il est également adaptable à d'autres capteurs analogiques tels que
des capteurs de lumière ou des potentiomètres, permettant ainsi une surveillance continue des
variations.