ساعت و تقویم با Avr

ساعت و تقویم با AVR

سلام:
در این پروژه ساخت یه ساعته با نمایشگر LCD و میکرو AVR و از دقت خوبی هم برخورداره که بخاطر استفاده از یک تایمر داخلی به صورت آسنکرون است .
بنابراین برای این پروژه فقط از میکروهایی میشه استفاده کرد که یکی از تایمر/کانتر های داخلیش قابلیت کار به صورت آسنکرون رو داشته باشن مثل :
8535, M163 , M103 , M603 , M8 , M32 و ...
در ضمن برای استفاده از این تایمر باید از یک کریستال 32768 Hz استفاده کرد.
برای ساخت این ساعت فقط کافیه بعد از معرفی میکرو - کریستال و پایه های LCD - اینتراپت کلی رو فعال کرده بعد تایمر مربوطه رو تنظیم کنیم .حالا با یه دستور ساده می تونیم ساعت رو نمایش بدیم .
$regfile = "M8Def.Dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.0 , Rs = Portb.1
Config Lcd = 16 * 2
Enable Interrupts
Config Clock = Soft
Do
Home 'cursor home
Lcd Date$ ; " " ; Time$ 'show the date and time
Loop
End​
وقتی که config clock رو مساوی soft قرار می دین کامپایلر bascomavr خودش زحمت همه چی رو میکشه و حدود ۳۰ بایت از حافظه رو هم پر میکنه و یه سری متغیر توی برنامه تولید میکنه و هر ثانیه اونا رو آپ تو دیت میکنه .
فرم نمایش ساعت ۲۴ ساعته به صورت "ثانیه:دقیقه:ساعت" است و فرم نمایش تقویم هم با دستور زیر قابل تنظیم است :
Config Date = Mdy , Separator = / ' ANSI-Format​
سایر فرمت ها هم در راهنمای کامپایلر موجود هستند .
در ضمن میتونین مبدا ساعت و تاریخ رو هم به دلخواه در برنامه تنظیم کنید :​
Date$ = "11/11/00"
Time$ = "02:20:00"​
با یه کم خلاقیت میشه یه ساعت خوب با این برنامه ساخت در ضمن می تونید با مطالعه راهنمای برنامه و اضافه کردن چند تا کلید تنظیمات ساعت رو از بیرون انجام بدین .اگر هم حال نداشتین میتونین صبر کنید تا آپ بعدی که انشا ا... برنامه کامل رو آپ لود کنم و با شماتیک برای دانلود بزارم .
موفق باشید​


بیشتر...
 

Similar threads

بالا