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

برای تغییر این کد به 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 درجه خطا داره. علتش چیه؟
ممنون از راهنماییاتون





دیدگاه