PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ترمومتر و ترموستات با Bascom AVR



hamed_p
9th November 2012, 00:04
62616

62617ترمومتر این پروژه دمای محیط را از ۰ تا ۹۹ درجه سانتی گراد با دقت ۰٫۵ درجه سانتیگراد اندازه گیری کرده و آن را بر روی LCD نمایش می دهد.
همچنین از این پروژه میتوان بعنوان یک ترموستات نیز استفاده نمود. تا پائین یا بالارفتن دما از حد مشخص را کنترل نمود.
این پروژه با میکروکنترلر AVR و با استفاده از کامپایلر Bascom AVR طراحی شده است.
برای Setpoint این پروژه دو دما قابل تنظیم می باشد. برای تنظیم بیشترین مقدار دما و کم ترین مقدار دما می توان از تک سوییچ ها استفاد کرد. مقادیر تنظیم شده در حافظه EEPROM داخلی میکروکنترلر ذخیره خواهد شد. تا با قطع تغذیه مدار، این مقادیر محفوظ بماند.

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

برنامه این پروژه به روش ساب روتین نوشته شده است.

سابروتین چیست:
در گذشته جهت جابجایی در قسمت های مختلف برنامه از دستورات goto و jamp استفاده می کردند. این کار باعث پیچیده شدن برنامه و ناخوانی آن می شد. برای رفع این مشکل ساختار زیربرنامه و تابع ایجاد شد.
در این روش یک برنامه تشکیل شده از یک Main که هسته اصلی برنامه است و تعداد زیادی از زیر برنامه ها.
هر زیربرنامه فقط یک کار انجام میدهد و بعد از اتمام کار، برنامه به همان جایی که فراخوانی شده بود بر میگردد.
برنامه هایی که به روش ساب روتین نوشته می شوند، از خوانایی بالاتری برخوردار بوده و مشکلات برنامه را سریعتر می توان پیدا کرد. از یک زیربرنامه می توان برای برنامه های دیگر نیز استفاده کرد. و این روش سرعت تهیه برنامه های بعد را نیز افزایش می دهد.
توجه داشته باشید که بعد از استفاده از زیربرنامه ، در آخر باید از دستور Return استفاده کنید تا برنامه به جای اول خود برگردد.

در این پروژه برنامه نویسی به روش ساب روتین به بهترین شکل ممکن انجام شده است. تمامی فرامین برنامه تحت یک زیر تابع نوشته شده و در برنامه اصلی فقط این زیر برنامه ها مدیریت می شوند.
در این پروزه کوچک به تعداد 12 عدد زیر تابع استفاده شده است. زیر تابع های این پروژه از قرار زیر است:
. • Display_start_text
. • Eeprom_default
. • Eeprom_save
. • Eeprom_load
. • Up_maximum_temperature
. • Down_maximum_temperature
. • Up_minimum_temperature
. • Down_minimum_temperature
. • Red_temp
. • Show_temp
. • Setting_fan
. • Setting_hiter

خرد کردن پیکره برنامه به تکه های کوچک، به میزن قابل توجهی از کد های برنامه اصلی کم کرده و باعث افزایش خوانایی برنامه شده است.

اهداف آموزشی:
. • آشنایی با LCD کاراکتری و نحوه راه اندازی آن
. • آشنایی با ADC میکروکنترلر
. • آشنایی با سنسور دمای LM35 و نحوه راه اندازی آن
. • آشنایی با رله و نحوه راه اندازی آن
. • نحوه خواندن و نوشتن بر روی حافظه EEPROM داخلی میکروکنترلر
. • آشنایی با روش برنامه نویسی ساب روتین

محتویات فایل دانلود:
. • سورس برنامه با کامپایلر بیسکام
. • شبیه سازی پروژه با نرم افزار پروتیوس

جهت دانلود فایل های این پروژه اینجا کلیک کنید. ( 224KB )

heidari2982
8th July 2014, 02:46
با سلام من این مدار را ساختم ولی LCD اصلا کار نکرد ومثل این که به مدار وصل نشده است ویک فایل bas. است انچیست لطفا مرا راهنمایی کنید

باتشکر