سلام
این کد الان در محیط پروتئوس داره کار میکنه:
و اینم شماتیکش:

برای تغییر این کد به atmega8 باید دقیقا چه کارهایی انجام بشه؟(در کد و در اتصال پین ها)
در حال حاضر فکر کنم 0.2 درجه خطا داره. علتش چیه؟
ممنون از راهنماییاتون
این کد الان در محیط پروتئوس داره کار میکنه:
کد:
#include <mega16.h> #include <delay.h> #include <stdio.h> #include <stdlib.h> #asm .equ __lcd_port=0x18 #endasm #include <lcd.h> float temp=0.0; void display(){ char str1[16],str2[16]; ftoa(temp,1,str1); sprintf(str2,"Temp=%3s",str1); lcd_clear(); lcd_gotoxy(0,0); lcd_puts(str2); } interrupt [ADC_INT] void adc_isr(void){ unsigned int adc_data; adc_data=ADCW; temp=(adc_data*2.56/1024)*100; } void main(){ ACSR=0xC0; ADMUX=0xC0; ADCSRA=0x8F; lcd_init(16); #asm("sei") ADCSRA=0xCF; while(1){ display(); delay_ms(250); ADCSRA=0xCF; } }

برای تغییر این کد به atmega8 باید دقیقا چه کارهایی انجام بشه؟(در کد و در اتصال پین ها)
در حال حاضر فکر کنم 0.2 درجه خطا داره. علتش چیه؟
ممنون از راهنماییاتون