تبلیغات
مهندسی برق، قدرت، کنترل، الکترونیک، مخابرات، کامپیوتر، رباتیک - ساعت و دماسنج و کرنومتر با ATMEGA8
مهندسی برق، قدرت، کنترل، الکترونیک، مخابرات، کامپیوتر، رباتیک
مهندس در همه زمینه ها باید بداند
گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من
درباره وبلاگ


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

omidrouka@gmail.com

مدیر وبلاگ : امید روکا
نظرسنجی
کیفییت وبلاگ






در این پروژه از ای سی Atmega8  و سنسور دمای lm35  استفاده شده که کرنومتر و ساعت و دما بر روی ال سی دی کارکتری ۱۶*۲ نمایش داده میشود و زبان برنامه نویسی بیسیک است و کامپایلر نرم افزار بسکام میباشد.

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

منظور از حالت آسنکرون این است که تایمر دو میکرو  کلاک خود را از کریستال ساعت در یافت میکند که فرکانس کریستال ساعت۳۲٫۷۶۸ کیلوهرتز است و به پایه های TOsc1  و Tosc2  متصل میشود که در میکرو ATMEGA8  پایه های ۹ و ۱۰ هستند.

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

دستورات دیگری نیز وجود دارد که در باره با کانفیگ تایمر دو در حالت اسنکرون استفاده میشود که فعلا از ان ها صحبتی نمی کنیم.

زمانی که میکرو روشن شد ابتدا سه متغییر ساعت و دقیقه و ثانیه به صورت زیر مقدار دهی میشود.

و بر روی ال سی دی عبارت Hello  را نمایش می دهد و بعد از ۲ ثانیه وارد بخش اصلی برنامه می شود که این قسمت در یک do – loop  قرار دارد که در این بخش میکرو مدام مقدار دما را از سنسور دما lm35  که یک سنسور دمای متداول آنالوگ می باشد مقدار دما را میخواند و کلیدهای ورودی را چک میکند و مقدار ساعت و دقیقه و ثانیه را نمایش میدهد.

مقدار متغییر های ساعت هر یک ثانیه یک بار مقدار دهی جدید میشود یعنی به ثانیه یک عدد اضافه میگردد و اگر مقدار ثانیه بزرگتر ۵۹ شد مقدار ثانیه را صفر میکند و به دقیقه یک عدد اضافه میکند و همینطور مقدار دقیقه و ساعت محاسبه میگردد که تمامی این کارها در لیبل SEctic  اتفاق میافتد.

مقدار ساعت بر حسب ۲۴ ساعت نمایش داده میشود.

در این پروژه سه کلید برای تنظیمات و همچنین کرنومتر استفاده شده است که در زیر به ریز جزییات ان میپردازیم.

نام کلید ها عبارت است از

۱:Key set

2:Key up

3:Key down

ابتدا که میکرو روشن شد بعد از نمایش Hello بر روی خط اول ال سی دی زمان و در خط دوم دمای محیط نمایش داده میشود.

اگر در این حال کلید Key set  را فشار دهید  وارد قسمت تنظیمات ساعت میشود که روی ال سی مقدار ساعت را نشان میدهد و مقدار دقیقه و ثانیه به صورت* (ستاره ) نمایش داده میشود و بازدن کلید های Key up  و key down  مقدار ساعت را کم و زیاد میکنید.

حال اگر دوباره کلید Key set  را بزنید وارد قست تنظیم دقیقه می شود که در این حالت بر روی ال سی دی مقدار دقیقه نمایش داده میشود و مقدار ساعت و ثانیه به صورت  * (ستاره ) نمایش داده میشود که با زدن کلید های Key up  و key down  مقدار دقیقه کم و زیاد میشود.

بعد از تنظیم دقیقه کلید Key set  را فشار دهید  که مقدار جدید ساعت جایگزین مقدار قبلی میشود و  از قسمت تنظیمات خارج میشوید و میکرو دوباره به روال اصلی خود برمیگردد و بر روی ال سی دی مقدار ساعت و دما را نشان میدهد.

اما اگر در زمانی که میکرو دارد ساعت و دما را نشان میدهد به جای کلید Key set کلید Key up  را فشار دهید وارد قسمت کرنومتر (stop watch ) میشوید و بر روی ال سی مقدارزیر نمایش داده میشود.

دورقم صفر از سمت راست به چپ برای شمارش بر حسب میلی ثانیه

دو رقم صفر بعدی برای شمارش ثانیه

دورقم بعد بعدی برای شمارش دقیقه

دو رقم بعد برای شمارش ساعت میباشد.

برای ساخت کرنومتر از تایمر ۱ میکرو استفاده شده است که برای کانفیگ کردن تایمر یک در مد تایمر از دستور زیر استفاده شده است.

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

زمانی که در حالت کرنومتر هستید اگر کلید Key set  را فشار دهید کرنومتر شروع به کار میکند و بر روی ال سی مقادیر در حال شمارش نمایش داده میشود  و برای متوقف کردن کرنومتر باید کلید  key down  را فشار دهید که زمان شمارش داده شده تا ان موقع بر روی ال سی دی ثابت میشود.

برای خروج از حالت کرنومتر و نمایش دما و ساعت باید کلید key up  را بزنید.

برای اندازه گیری دما از سنسور lm35  استفاده شده است که خروجی ان ولتاژ انالوگ میباشد و نسبت به هر ۱درجه سانتی گراد  ، خروجی ان ۱۰ میلی ولت افزایش میابد که این ولتاژ توسط ADC  میکرو اندازه گیری میشود.

رفرنس ولتاژ ADC  میکرو ۵ ولت میباشد که طبق رابه روبرو  ۵۰۰۰mv / 1023 = 4.88mv   هر پله adc از ۱۰۲۳ پله به ازای ۴٫۸۸ میلی پر میشود.

یعنی اگر دما برابر ۱ درجه سانتیگراد باشد ولتاژ خروجی سنسور۱۰ میلی ولت است که به ورودی ADC شماره یک وصل شده است ۲ تا خانه از ADCرجیستر  پر میشود.

به همین دلیل برای نمایش مقدار واقعی دما باید مقدار خانه های پر شده در ADC  را بر عدد ۲ تقسیم کنید مثلا برای اندازه گیری دمای ۱ درجه باید مقدار adc  را که برابر ۲ است را بر ۲ تقسیم کنیم تا جواب بدست امده که۱ می باشد همان مقدار دمای اندازه گیری توسط سنسور است.

همانطور که گفته شد برای نمایش اطلاعات از ال سی دی کارکتری استفاده شده است که برای تنظیم کنتراست از یک پتانسیومتر ۱۰ کیلو استفاده شده که با چرخاندن ان میزان روشنایی  کارکترهای روی ال سی دی تغییر میکند.

نکته مهم : در برنامه فرکانس میکرو ۴ مگاهرتز تعیین شده است که باید در فیوز بیت مقدار فرکانس را بر روی ۴ مگ باید تنظیم نمایید و همچنین فیوز بیت CKOP را نیز فعال کنید .

توجه : مقدار فرکانس میکرو را به غیر از ۴ مگ تنظیم نکنید چون تایمر یک بر طبق فرکانس ۴ مگ نوشته شده و تنظیم شده است.

برای دریافت سورس بیسیک و نقشه شماتیک از لینک زیر استفاده نمایید.

جهت دانلود فایل سورس بیسیک - نقشه شماتیک بر روی عکس زیر کلیک نمائید.






نوع مطلب : کنترل، الکترونیک، مخابرات، مدار منطقی، AVR، دانلود، برق، 
برچسب ها : ساعت و دماسنج و کرنومتر با ATMEGA8، ATMEGA8، ساعت و دماسنج و کرنومتر، ساعت و دماسنج ATMEGA8،
لینک های مرتبط : Changer.com - Instant Exchanger
امید روکا
پنجشنبه 1391/03/4
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر