Logo 150Logo 150Logo 150Logo 150
  • صفحه اصلی
  • میکروکنترلرها
    • میکروکنترلرهای AVR
      • آموزش AVR در CodeVision
      • آموزش Atmel Studio
      • AVR بیسیک
    • میکروکنترلرهای PIC
    • میکروکنترلرهای ARM
      • خانواده STM32
    • میکروکنترلر 8051
    • برنامه نویسی گرافیکی
      • LabView
  • مقالات
    • قطعات و نکات فنی
    • خواندنی ها
    • کتاب-جزوه-مجله
  • نرم افزار
    • کتابخانه آلتیوم
      • Microchip
  • پروژه های آماده
  • خرید پروژه
  • حل تمرینات
  • تماس با ما
  • کانال ها
    • کانال تلگرام
    • اینستاگرام
    • آپارات
    • یوتیوب

اندازه گیری دما با استفاده از سنسور دیجیتال DS18B20 به زبان C

  • صفحه نخست
  • مطالب سایت میکروکنترلرها میکروکنترلرهای AVR آموزش AVR در CodeVision
  • اندازه گیری دما با استفاده از سنسور دیجیتال DS18B20 به زبان C
دانلود نسخه كامل و پيشرفته CodeVisionAVR V2.05 Advance
30 بهمن, 1389
دانلود LabVIEW 2010
دانلود LabVIEW 2010+ماژول های کاربردی+بسته های آموزشی
30 بهمن, 1389
منتشر شده توسط مدیر در 30 بهمن, 1389
موضوعات
  • آموزش AVR در CodeVision
برچسب ها
  • 1Wire-atmega8
  • avr
  • CodeVision
  • Download
  • ds18b20
  • electronic
  • i2c
  • lcd
  • micro
  • microcontroler
  • Proteus
  • schematic
  • temp
  • الکترونیک
  • برنامه نویسی
  • پروتئوس
  • پروتکل
  • پروژه
  • پروژه های الکترونیک
  • پروژه های الکترونیک با avr
  • پروژهای avr
  • دانلود
  • دماسنج
  • زبان بیسیک
  • سنسور
  • سی
  • کدویژن
  • میکرو
  • میکروکنترلر

بازدیدها: 369

با سلام. امروز می خواهیم در مورد سنسور دیجیتال اندازه گیری دما DS18B20 صحبت کنیم و از خصوصیات و ویژگی ها و راه اندازی آن در CodeVisionAVR V2.05.0 بپردازیم.

از ویژگی های این سنسور این است که کاملا دیجیتال و به شکل یک ترانزیستور 3 پایه می باشد که پایه 1 آن به زمین و پایه 3 آن هم به VCC وصل می شود و از پایه 2 آن که با یک مقاومت pullup به اندازه 4.7 کیلو به VCC وصل می شود.

این سنسور از طریق همین یک پایه با استفاده از پروتکل 1wire عمل ارسال و دریافت دیتا را انجام می دهد. محدوده اندازه گیری دمای آن بین منفی -55 تا مثبت +125 درجه سانتیگراد می باشد و از دقت بسیار بالایی در حدود 0.0625 درجه را دارد که نسبت به کوچکترین تغییرات دمای واکنش سریع نشان خواهد داد. در ادامه به نحوی برنامه نویسی آن به زبان سی خواهیم پرداخت …

1: #include <mega16.h>
2: #include <delay.h>
3: #include <lcd.h>
4: #include <1wire.h>
5: #include <ds18b20.h>
6: #include <stdio.h>
7: #define xtal 8000000
8: #asm
9: .equ __w1_port=0x18 ;PORTB
10: .equ __w1_bit=1
11: #endasm
12: #asm
13: .equ __lcd_port=0x15 ;PORTC
14: #endasm
15: char buffer[32];
16: void main(void){
17: unsigned char devices;
18: float temp;
19: lcd_init(16);
20: devices=w1_init();
21: while(devices>0){
22: temp=ds18b20_temperature(0);
23: sprintf(buffer,”T=%5.3fxdfC”,temp);
24: lcd_clear();
25: lcd_puts(buffer);
26: delay_ms(300);
27: }
28: }

همانطور که گفتیم این سنسور با پروتکل 1wire کار می کند بنابراین در خطوط 4و5 کتابخانه های مورد نیاز را فراخوانی می کنم. و سایر کتابخانه های مربوط lcd‌و توایع استاندارد مورد نیاز را نیز فراخوانی کردیم. در خطوط 8 تا 10 به زبان اسمبلی پین مربوط به سنسور را تعریف کردیم. و بعد هم پورت مربوط به lcd و متغییر buffer

وارد حلقه اصلی می شویم یک متغیر محلی devices تعریف می کنیم، همانطور که می دانیم می توانیم بر روی این پین میکرو 8 تا دستگاه که با پروتکل 1wire کار می کنند را به صورت موازی وصل کنیم به همین خاطر از متغیر devices برای تعیین تعداد دستگاه ها روی خط استفاده می کنیم

با استفاده از دستور نوشته شده در خط 20 دستگاه ها شناسی شده و بعد با استفاده از یک حلقه بی نهایت شرطی مبنی بر وجود یک دستگاه، وارد این حلقه می شویم در خط 22 با استفاده از تابع مربوطه دما از سنسور به صورت دیجیتال دریافت می شود و بعد در متغیر temp قرار می گیرد. در خط 23 دما همراه با علایم و نوشته برای ارسال به LCD آماده می شود و بعد توسط خط 25 ارسال می شود و این فرایند هر 300 میلی ثانیه اجرا می شود.

Icon

دانلود اندازه گیری دما با استفاده از سنسور دیجیتال DS18B20 به زبان C

1 file(s) 56.07 KB
Download
Share
21
مدیر
مدیر

مطالب مرتبط

22 مرداد, 1395

آموزش گام به گام برنامه نویسی AVR به زبان C


اطلاعات بیشتر
پروژه آموزشی تابلون روان 8.8 به زبان سی همراه با سورس C
29 تیر, 1391

پروژه آموزشی تابلون روان 8.8 به زبان سی همراه با سورس C


اطلاعات بیشتر
کار با LED ماتریسی 8.8 (LED Displays 8.8 LED Matrix)
14 تیر, 1391

کار با LED ماتریسی 8.8 (LED Displays 8.8 LED Matrix)


اطلاعات بیشتر

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق مادی و معنوی برای PicPars.com محفوظ است. شماره همراه 09335751032 جهت ارتباط با خرید پروژها در تلگرام و واتساپ