طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
این پروژه یک ساعت آنالوگ، تاریخ شمسی و روزه هفته به زبان فارسی به همراه ساعت دیجیتال می باشد. قابلیت تنظیم ساعت و تاریخ توسط سه عدد میکروسوئچدر صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و از طریق بازر بوق هشدار پخش می شود.ساعت دیواری دیجتال با قابلیت نمایش ساعت و دقیقه، دمای اتاق، تاریخ شمسی، روز هفته، زدن تک بوق وقتی که زمان یک ساعت جلو می رود، تنظیم ساعت و دما تنها با 2 کلید. ابعاد ساعت 33*27 سانتی متر می باشد.این پروژه یک مدار واسط I/O می باشد که دارای 12 خروجی رله است. توسط نرم افزار کنترلی که قابل نصب بروی ویندوز های XP, Win7, Win8, Win10 می باشد می توان هر 12 رله را به صورت مجزا فعال و غیر فعال کرد.این پروژه یک دماسنج ساده می باشد که توانایی اندازه گیری دما از منفی 40 تا مثبت 120 درجه سانتی گراد با دقت دو رقم اعشار را دارد.
ساعت آنالوگ با AVR و lcd گرافیکی به زبان c

MCP-36

ساعت آنالوگ با AVR و lcd گرافیکی به زبان c
پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت

MCP-21

پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت
پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr

MCP-13

پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr
پروژه کنترل رله توسط پورت USB با AVR و C شارپ 12 کاناله

MCP-39

پروژه کنترل رله توسط پورت USB با AVR و C شارپ 12 کاناله
پروژه دماسنج ساده با avr

MCP-29

پروژه دماسنج ساده با avr

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

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

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

از بخش سفارش طراحی هم اکنون درخواست خود را ثبت کنید
حل و تشریح کلیه تمرینات درس میکروکنترلر AVR
طراحی و ساخت مدارات دلخواه شما با میکروکنترلر AVR


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 میلی ثانیه اجرا می شود.

سولاتی در مورد کامپایلر CodeVisionAVR

  منبع: www.picpars.com

  لطفا مقالات، آموزش‌ها و پروژه های خود را به آدرس ایمیل ارتباطی ایمیل نمائید تا آن را با نام خودتان در سایت منتشر کنیم.




فایل های ضمیمه ( ورود - عضويت )

فایل شماره 113 | حجم 57 کیلوبایت | دانلود 5915 بار

منبع www.picpars.com  نویسنده: سید محسن قاسمیان

منبع www.picpars.com  دانلود اندازه گیری دما با استفاده از سنسور دیجیتال DS18B20 به زبان C

منبع www.picpars.com  پسورد: www.picpars.com

به این مطلب امتیاز دهید

برچسب ها:
تاریخ ارسال شنبه، 30 بهمن ماه، 1389    نویسندهنویسنده: مدیریت    نظرات 10 نظر    بازدید بازدید [ 39932 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان   

در ارتباط با این مطلب پروژه های آماده زیر جهت خرید موجود است