salut je travaille sur un projet a base de microcontroleur et j'utilise le pic 16f887 et un capteur de température LM35 le problème c'est que l'affichage de la température sur l'afficheur 7 segment et incorrect par rapport a celle du LM35 est ce que quelqu’un pourrait m'aidez SVP
voila le code en mikroc :
#define LedSignal PORTB.F1
#define LedAlarm PORTB.F0
#define inc portc.f1
#define dec portc.f0
unsigned char Temperature,Consigne=30,reglag e,tmp;
void InitA_D(void)
{
ANSEL = 0x01;
ANSELH = 0x00;
ADCON0.ADCS0 = 1; ADCON0.ADCS1 = 0;
ADCON0.CHS3 = 0; ADCON0.CHS2 = 0;ADCON0.CHS1 = 0; ADCON0.CHS0 = 0;
ADCON1.ADFM = 1;
}
unsigned int ConvertAD()
{
unsigned int N;
N = 0x0000;
ADCON0.ADON = 1;
delay_us(15);
ADCON0.GO = 1;
while(ADCON0.GO == 1);
N = ADRESH;
N = N << 8;
N = N | ADRESL;
ADCON0.ADON = 0;
return N;
}
void affichage(unsigned char T)
{
PORTD = ((T/10)<<4)+ (T%10);
}
void init_port()
{
TRISD = 0x00;
TRISB.F0 = 0;
TRISB.F1 = 0;
TRISC.F0 = 1;
TRISC.F1 = 1;
TRISA.F0 = 1;
}
void lire_temperature()
{
Temperature = ConvertAD();
}
-----