آیا میدانید افراد باهوش داراى روى و مس بيشترى در موهايشان هستند
رويـش بـاغ سـکوت، در هـنگامه خـروش و هـمهمه ارزشـش را نـشان مي دهـد. از اُرد بزرگ
Logo

حل تمرینات و پروژه های درس میکروکنترلر
ساعت دقیق با میکروکنترلر AVR به صورت غیر همزمان با کریستال خارجی RTC 32.768KHz
www.picpars.com ساعت دقیق با میکروکنترلر AVR به صورت غیر همزمان با کریستال خارجی RTC 32.768KHz 194

تایمر کانتر صفر یا دو در برخی از میکرو کنترولرها این قابلیت را دارند که به صورت غیر همزمان کار کنند یعنی پالس مورد نیاز خودشان را نه از نوسان ساز دریافت کنند بلکه از یک کریستال 32.768KHz که به پایه های TOSC1 , TOSC2 متصل شده دریافت می کنند. حال فلسفه این عدد 32.768 چی؟ با استفاده از این نوسان ساز و انتخاب N=128 می توان دقیقا هر یک ثانیه یک سریز در تایمر داشته باشم یعنی اگر تایمر با این فرکانس کار بکند از 00H شروع و به FFH برسید 1 ثانیه طول میکشد که با استفاده از این قضیه می توان یه RTC ساعت واقعی طراحی کرد.



در این پروژه ما با استفاده از تایمر 2 میکرو ATMEGA16 یک ساعت دقیق طراحی کردیم. با استفاده از Code Wizard تایمر 2 را به صورت زیر تنظیم می کنیم:

Clock Source: TOSC1 pin
Clock Value: PCK2/128
Mode: Normal to FFH
Output: Disconnect
1 Overflow Intrrupt
0 Compare Match Interrupt
Timer Value: 0h
Compare: 0h

منبع کلاک تایمر 2 را پین TOSC1 انتخاب می کنیم و به این پین کریستال کوارتز 32.768 کیلوهرتز وصل کردن و در قسمت مقدار کلاک گزینه PCK2/128 را انتخاب کرده تا فرکانس بر 128 تقسیم شود 256=128/32768 که این عدد روند معادل همان FFH می باشد که تایمر قابلیت شمارش آن را دارد. همچین باید وقفه تایمر را نیز تیک بزنید تا زیرروال آن ایجاد گردد. بعد از اجرای کدویزارد کد وقفه تایمر TIMSK=0x40; ایجاد می شود که باید آن را در تابع main قرار دهید.

توضیح برنامه:

زیرروال date_calc وظیفه آن این است که محاسبات مربوط به تاریخ  که به صورت شمسی می باشد را انجام داده و درون متغییر های مربوطه قرار دهد.

زیرروال timer2_ovf_isr هم هنگامی که تایمر سرریز کند اجرا می شود و یک واحد به ثانیه شمار اضافه می شود و یک سری دستورات شرطی در آن نوشته شده تا دقیقه و ساعت و تاریخ ایجاد گردد.

در تابع main هم تنظیمات و پیکره بندی مروبط به LCD و تایمر و همچنین فعال کردن وقفه سراسری می باشد. و در حلقه بی نهایت هم هر 300 میلی ثانیه LCD رفرش می شود.

نکته کریستال 32.768 بعلاوه یکی از نوسان ساز های داخلی یا خارجی خود میکرو می باشد.

این پروژه همراه با توضیحات آن تنها در وب سایت www.picpars.com به صورت متن باز ارئه شده و کپی برداری از آن تنها با ذکر منبع امکان پذیر می باشد.

با تشکر فراوان سید محسن قاسمیان

ورژن نرم افزار ها: CodeVisionAVR V2.04.4a  و Proteus 7.7 sp2 Professional

  منبع: www.picpars.com

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




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

فایل شماره 109 | حجم 45 کیلوبایت | دانلود 1208 بار

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

منبع www.picpars.com  دانلود ساعت دقیق با میکروکنترلر AVR به صورت غیر همزمان با کریستال خارجی RTC 32.768KHz

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


لینک ثابت این صفحه:   


© کپی برداری از مطالب این سایت تنها با ذکر منبع مجاز می باشد

در صورت داشتن هر گونه سوال، نظر و پیشنهاد راجب این مطلب می‌توانید در قسمت نظرات همین صفحه مطرح نمائید. همچنین با شرکت در نظر سنجی های سایت، ما را در بهبود بخشیدن به مطالب یاری کنید.


پی-آیسی-پارس برنامه-نویسی-میکروکنترلرها میکرو میکروکنترلر میکروکنترولر برنامه زبان بیسیک سی فایل دانلود رایگان تایمر ساعت دقیق زمان سنج تاریخ شمسی micro microcontroler avr C Proteus schematic source Download electronic free picpars picpars.com timer rtc lcd date shamsi

ارسال شده در مورخه : دوشنبه، 11 بهمن ماه، 1389 توسط مدیریت بازدید [6214]   پرینت

مرتبط باموضوع :

 ساعت دقیق با وقفه تایمر یک به زبان سی CodeVision  [ شنبه، 16 ارديبهشت ماه، 1391 ] 963 مشاهده
 دانلود پروژه کامل چراغ راهنمایی (trafic _ light) تحت کدویژن  [ چهارشنبه، 3 شهريور ماه، 1389 ] 11609 مشاهده
 دانلود پروژه کامل ماشین حساب مهندسی با AVR با (Codevision)  [ پنجشنبه، 4 شهريور ماه، 1389 ] 8193 مشاهده
 پروژه اسیلوسکوپ دیجیتال با AVR و نمایش روی LCD گرافیکی  [ چهارشنبه، 23 فروردين ماه، 1391 ] 1327 مشاهده
نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com

در مورخه : دوشنبه، 24 بهمن ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی) (IP آدرس : )

سلام 

 

آیا میشه به جای استفاده از ds1307 از این روش استفاده کرد ؟ 

آیا میشه از باتری پشتیبان برای این روش استفاده کرد که زمان ریست نشه ؟ 

مقدار خطای این روش در 24 ساعت چقدر هست ؟

با تشکر

جوابیه ها

نام شما: سید محسن قاسمیان
ایمیل شما:

در مورخه : دوشنبه، 24 بهمن ماه، 1390توسط
(مشخصات کاربر SMGH-admin | ارسال پیغام شخصی) http://www.picpars.com (IP آدرس : )

برای استفاده از این روش شما میتونید از سری L میکروکنترلرها استفاده کنید که با ولتاژ 3 ولت هم کار میکنند و البته کم مصرف تر هم هستند در این صورت با استفاده از یک باتری 3ولتی میتونید از اطلاعات RAM محافظ کنید. با توجه به خاص بودن کریستال 32.768KHz تقریبا خطای خیلی خیلی کمی خواهد داشت حداقل در طی 24 ساعت فکر نمیکنم که خطایی ایجاد بشه چون درست زمان سریز تایمر دقیقه 1 ثانیه خواهد و شمارش هم با وقفه انجام میشه. پس فرکانس کلاک میکرو هرچی بالاتر باشه زمان اجرای دستورات کمتر میشه در نتیجه درصد خطا هم کم میشه.

ارسال جوابیه ]

ارسال جوابیه ]

نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com

در مورخه : سه شنبه، 25 بهمن ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی) (IP آدرس : )

 

با تشکر از توضیح کامل شما 

ایا میشه از این زمان در کدنویسی استفاده کرد ؟ 

مثلا در مدت 15 دقیقه یه متغیر رو مورد برسی قرار بدیم و ذخیره کنیم ؟

اگه به صورت کد توضیح بدید ممنون میشم

 
جوابیه ها

نام شما: سید محسن قاسمیان
ایمیل شما:

در مورخه : سه شنبه، 25 بهمن ماه، 1390توسط
(مشخصات کاربر SMGH-admin | ارسال پیغام شخصی) http://www.picpars.com (IP آدرس : )

منظورتون از زمان چی؟6 من متوجه نشدم، بیشتر توضیح بدید...

ارسال جوابیه ]

ارسال جوابیه ]

نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com

در مورخه : پنجشنبه، 27 بهمن ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی) (IP آدرس : )

مثلا من میخوام میزان توان مصرفی یه مصرف کننده رو در زمان 15 دقیقه اندازه بگیرم 

و حالا براش یه شرایطی بزارم که اگه در این 15 دقیقه مثلا از 10 وات بیشتر شد این کارو انجام بده

 

اگه میشد وقتی شما به پست من جواب میدید یه ایمیل میومد خیلی خوب بود

ارسال جوابیه ]

نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com

در مورخه : دوشنبه، 1 اسفند ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی) (IP آدرس : )

بزارید یه مثال دیگه بزنم

من میخوام وقتی مصرف کننده روشن هست مدت زمان روشن بودنش رو محاسبه کنم و همچنین وقتی خاموش میشه (استندبای) مدت زمان خاموش بودنش رو محاسبه کنم و در 2 متغیر ذخیره کنم 

آیا میشه با استفاده از این روش این کارو انجام داد ؟ 

جوابیه ها

نام شما: سید محسن قاسمیان
ایمیل شما:

در مورخه : دوشنبه، 1 اسفند ماه، 1390 (IP آدرس : )

شما می تونید وضعیت فعال یا غیر فعال بودن اون وسیله موردنظرتون رو به وسیله یکی از پین های میکرو مورد برسی قرار دهید. و در تابع سریز 1 ثانیه این پین رو مورد ارزشیابی قرار دهید. در صورتی که وضعیت پین یک است (فعال بودن دستگاه) یک واحد به متغییر مربوط به حالت فعال اضافه کند و در صورتی که صفر است (غیرفعال بودن دستگاه) یک واحد به متغییر مربوط به حالت غیرفعال اضافه کند.

با تشکر

ارسال جوابیه ]

ارسال جوابیه ]

نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com

در مورخه : دوشنبه، 1 اسفند ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی) (IP آدرس : )

خوب تا اینجا قبول 

حالا این مدت زمان رو میشه در یک روز ثبت کرد ؟

یعنی مثلا در تاریخ 20/11/90 این مصرف کننده 10 ساعت روشن بوده ؟

یا در هفته گذشته مثلا 40 ساعت روشن بوده ؟ 

جوابیه ها

نام شما: سید محسن قاسمیان
ایمیل شما:

در مورخه : سه شنبه، 2 اسفند ماه، 1390توسط
(مشخصات کاربر SMGH-admin | ارسال پیغام شخصی) http://www.picpars.com (IP آدرس : )

اگر اطلاعات ثبت شما برای بیشتر از یک ماه می باشد باید از حافظه های فلش و یا ... استفاده کرد. اما در صورتی که برای حدودا یک ماه هست می تونید از حافظه EEPROM میکرو استفاده کنید به این صورت که برای هر روز یک متغیر و برای مدت زمان روشن بودن هم یک متغیر تغریف کنید. (البته به صورت آرایه ای) که اون بستگی به مدل میکرو تون داره چه اندازه حافظه داشته باشه ولی حدس میزنم برای ثبت اطلاعات یک ماه ATMEGA8‌کافی باشه. البته نیازی نیست مدت زمان خاموشی رو ثبت کنید و کافی 24 رو منهای مدت روشن بودن کنید به این صورت مدت خاموشی هم به دست خواهد آمد و در حافظه هم صرفه جویی میکنید.

ارسال جوابیه ]

ارسال جوابیه ]

 
نام شما: [ کاربر جدید ]

نام شما (ضروری): 
ایمیل شما : 
نظر:
کد امنیتی
کد امنیتی

  [ بازگشت ]
  • امتیاز بدهید
  • انتخاب ها
  • اشترک گذاری
آیا این مطالب مورد رضایت شما واقع گردید؟ لطفا با رای دادن به این مطلب ما را در بهبود بخشیدن به مطالب کمک کنید. با اینکار به سایر دوستان‌تان نیز کمک خواهید کرد.


 فایل پی دی اف فایل پی دی اف

 گرفتن پرينت از اين مطلب گرفتن پرينت از اين مطلب

 ارسال به دوستان ارسال به دوستان

 گزارش این پست به مدیر سایت گزارش این پست به مدیر سایت

پروژه های آماده
پروژه کنترل سروو موتور از 0 تا 180 درجه

کنترل زاویه ای 0 تا 180 درجه؛ قابلیت تعریف بیش 100 برنامه مجزا توسط کاربر؛ تعیین زاویه برای هر پله حرکت سروو موتور؛ تعیین سرعت حرکت سروو موتور؛ تعیین مدت زمان کارکرد در هر برنامه از 1 تا 255 دقیقه. منوی کاربری بسیار آسان برای تعریف برنامه ها. جزئیات...


عناوین مطالب
عناوین مطالب را در موضوعات مربوطه جستجو کنید!
یک موضوع انتخاب کنید:



لینک باکس مهم‌ترین‌ ها
  • پروژه‌ها
  • برترین‌ها
  • پر بازدید
  • بیشترین نظرات
cash10-H7

سالنامه فارسی
ش ی د س چ پ ج
  12345
6789101112
13141516171819
20212223242526
2728293031

دوشنبه

1

1 خرداد ماه، 1391
21/05/2012


رویداد ها:
روز بزرگداشت ملاصدرا - روز بهره وری و بهینه سازی مصرف

جستجو در تقویم ...
cash40-D1

آمار کاربران

نظرسنجی
نظر شما در مورد کیفیت سایت چیست؟

خیلی عالیه
میتونه بهتر باشه
جای کار داره
خوب نیست
نظری ندارم!



شما میتوانید در این مورد نظر مکتوب خود را بنویسید: مشاهد نتایج و ثبت نظر

نظرسنجی ها

تعداد آراء: 679    نظرات: 42

تبادل لینک
PicPars با تمامی وب سایتها و وبلاگها تبادل لینک میکند. ابتدا لینک ما در وب خود ثبت کنید و سپس لینک خود را از اینجا برای ما ارسال کنید. در اولین فرصت لینک شما در سایت ثبت می شود.

پیشنهاد ما

سفارش طراحی پروژه
مرورگر پیشنهادی ما
نرم افزار دانلود فایلها
برنامه فشرده سازی







امتیاز به سایت
امتیاز به این صفحه
با یک امتیاز مثبت از طریق Gmail تان از سایت حمایت کنید