با سلام من برنامه رو خودم تصحیح کردم.New folder (3).rar
برنامه هم کار سختی رو انجام نمیده فقط ولتاژ دو نقطه رو اندازه گیری میکنه بعد از هم کمش میکنه بعد نمایش میده که دمای منفی هم میشه باهاش نمایش داد. مثل همون برنامه ای که خودتون نوشتید. فقط از دو کانال adcاستفاده شده.
کد:
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
delay_us(10);
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
این کد که برای خودندن مقدار adc هست.
کد:
lcd_clear();
lcd_gotoxy(0,0);
sprintf(buff,"V=%d",v);
lcd_puts(buff);
این قسمت هم که برای نمایش مقدار دما هست.
کد:
for(i=1;i<=15;i++){
y+=read_adc(1);
delay_us(3);
x+=read_adc(0);
delay_us(3);}
//------------start convert adc to voltage----------
x/=15;
y/=15;
این قسمت هم 15 بار مقدار هر کانال رو میخونه و با هم جمع میکنه و در نهایت تقسیم بر 15 میکنه یعنی میانگین میگیره.
این هم که دما رو که اختلاف ولتاژ خوانده شده از دو کانال هست رو از هم کم میکنه و در نهایت نصف میکنه.
دیگه چیز خاصی نداره.