اطلاعیه

Collapse
No announcement yet.

مشکل جدی با سنسور دمای دیجیتال ds18b20

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

    #16
    مشکل جدی با سنسور دمای دیجیتال ds18b20

    دوستان سلام و عرض ادب
    من نمونه کد دانلود کردم مشکلی نداشت .اینجا ببینین
    کد:
    #include <mega16.h>
    #include <1wire.h>
    #include <ds18b20.h>
    #include <delay.h>
    #include <stdlib.h>
    #include <alcd.h>
     
    void main(void)//تابع اصلی برنامه
    {
       // unsigned char* buffer;//تعریف متغییر محلی از نوع کارکتر      
       char buffer[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        unsigned char devices; //تعریف متغییر محلی از نوع کارکتری بدون علامت
        float temp; //تعریف متغییر محلی از نوع اعشاری
        lcd_init(16); // کانفیگ کارکتر های lcd
        devices = w1_init(); //بررسی وجود سنسور     
        
        lcd_clear();
        lcd_puts("DMF313.IR"); 
        delay_ms(1000);     
        lcd_clear();    
        
        while(devices>0)//حلقه اصلی با بررسی شرط وجود سنسور
        {
            temp = ds18b20_temperature(0); // خواندن مقدار سنسور و ذخیره در متغییر temp
    
            ftoa(temp, 2, buffer);
    
            lcd_gotoxy(0,0);//رفتن به سطر اول و ستون اول lcd 
            lcd_puts("T = ");
            lcd_puts(buffer);
            lcd_puts(" ");
            lcd_putchar(223); // درجه سانتی گراد
            lcd_puts("C");
            lcd_puts("    ");
        }
    }
    اما تو برنامه خودم میزارم گاهی -9999 نشون میده بنظرتون چرا؟


    دلیل: ادغام دو پست برای جلوگیری از اسپم

    اینم لینک دانلود فایل کامل خواستین استفاده کنین
    http://s8.picofile.com/file/8306173242/ds18b20.rar.html

    و اینم فایل خودمه

    C:\Documents and Settings\asd\Desktop\diginic\joojekeshi v15

    امیدوارم زحمت بکشید ببینین دلیلش چیه

    دیدگاه

    لطفا صبر کنید...
    X