اطلاعیه

Collapse
No announcement yet.

تغییر کد دماسنج LM35 و میکرو atmega16 به میکرو atmega8

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تغییر کد دماسنج LM35 و میکرو atmega16 به میکرو atmega8

    سلام
    این کد الان در محیط پروتئوس داره کار میکنه:
    کد:
    #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 درجه خطا داره. علتش چیه؟
    ممنون از راهنماییاتون
لطفا صبر کنید...
X