به نام خدا
In The Name Of GOD
سلام خدمت همه دوستان این انجمن امیدوارم که حالتون خوب باشه بعد از مدت ها اومدم یه پروژه بزارم واستون
میخوام توی این تایپیک ساخت یه ساعت دقیق با کریستال ساعت 32.768Khz که با میکرو avr هست توضیح بدم.
من خیلی توی نت گشتم اموزش خوب که بتونه کار راه بندازه نیست چون من همشونو تست کردم ولی دقیق نبودن یا عقب میفتادن یا جلو
.امیدوارم این اموزش یه اموزش کامل باشه چون اموزش کامل توی انجمن ندیدم.خوب بریم شروع کنیم.
این مداریه که طراحی کردم:

قطعاتش یه ال سی دی کاراکتری 16*2 یه میکرو مگا32 یه کریستال ساعت 32.768 کیلو هرتز دوتا مقاومت پول اپ و دوتا کلید واسه تنظیم ساعت.
حالا بریم سراغ تنظیمات کد ویزارد:
تنظیمات ال سی دی کاراکتری

تنظیمات تایمر 2 میکرو

خوب این تنظیمات کدویزارد بود که تموم شد حالا روی گزینه ی Program گزینه ی Generate , save and exit می زنیم و برنامه رو توی یه جای مشخص با یه اسم ("حتما انگلیسی یا عدد لاتین باشه هرگز فارسی ننویسید")ذخیره می کنیم.
یه توضیحی بدم :تنظیمات ال سی دی که چیز خاصی نداره ال سی دی رو روی پورت D تنظیم کردیم و تعداد لاین هم 16 انتخاب کردیم.
تایمر میکرو هم روی PCK2/128تنظیم کردیم چون باید فرکانس تقسیم به این مقدار بشه و عدد 256 به دست بیاد که این روند تایمر ما هستش تا یه ثانیه تولید بشه.
ما منبع کلاک روTOSC1 انتخاب کردیم که ب همین دلیل کریستال ساعت رو روی پایه های TOSC1 وTOSC2 نصب می کنیم.
حالا بریم سراغ خط های برنامه نویسیش:

شماره 1 : کتابخونه متغییر های رشته ای رو وارد کردیم واسه این هست که میخوایم عدد های ساعت رو روی ال سی دی نمایش بدیم.
شماره 2 :متغییر های لازم رو تعریف می کنیم.
شماره 3 :توی روتین وقفته تایمر 2 کد های مربوطه رو می نویسیم:
خط 9 که نوشته ++s یعنی یه واحد به s اضافه کن که این ثانیه شمار ما هستش هر 256 تایی که میشمره تایمر یه واحد به متغییر s اضافه میشه.
خط های بعدی هم شرط های ثانیه دقیقه و ساعت هستن.

خوب این خط ها هم نمایش متغییر های ثانیه دقیقه و ساعت روی ال سی دی و تنظیم ساعت با کلید ها هستن
شماره 1 :در خط اول توسط تابع sprintf متغییر های رشته ای رو نمایش دادیم
شماره 2 : این دو خط متغییر های ساعت و دقیقه رو تغییر می دن.
یه نکته خیلی مهم هست که بگم کریستال ساعتی که استفاده می کنید خیلی کیفیت ساختش مهمه سعی کنید حتما جنس خوب باشه
اینم نتیجه کار:

فایل پروژه رو هم میزارمش اینجا :
رمز فایل زیپ www.eca.ir هستش
امیدوارم لذت برده باشین سوالی چیزی بود بپرسین اگر بلد باشم جواب میدم (فقط سخت نباشه
)
اضافه شده در تاریخ 28/10/1396
سلامی دوباره
اومدم یه تجربه رو اضافه کنم این کریستال ساعت رو روی مگا 8 تست کردم و ساعت جلو میفتاد با قرار دادن کریستال 22 پیکو روی پایه های کریستال ساعت تست شد ساعت عقب افتاد و بعد از چند تست خازن رو به 15 پیکو تغییر
دادم.ساعت بدون هیچ مشکلی کار کرد نه عقب افتاد نه جلو .خواستم گم مشکلی داشتید با ساعت خازن 15 پیکو روی پایه های کریستال ساعت بزارید.
*****End*****
موفق باشید در پناه حق یا علی
In The Name Of GOD
سلام خدمت همه دوستان این انجمن امیدوارم که حالتون خوب باشه بعد از مدت ها اومدم یه پروژه بزارم واستون

میخوام توی این تایپیک ساخت یه ساعت دقیق با کریستال ساعت 32.768Khz که با میکرو avr هست توضیح بدم.

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

این مداریه که طراحی کردم:
قطعاتش یه ال سی دی کاراکتری 16*2 یه میکرو مگا32 یه کریستال ساعت 32.768 کیلو هرتز دوتا مقاومت پول اپ و دوتا کلید واسه تنظیم ساعت.
حالا بریم سراغ تنظیمات کد ویزارد:
تنظیمات ال سی دی کاراکتری
تنظیمات تایمر 2 میکرو
خوب این تنظیمات کدویزارد بود که تموم شد حالا روی گزینه ی Program گزینه ی Generate , save and exit می زنیم و برنامه رو توی یه جای مشخص با یه اسم ("حتما انگلیسی یا عدد لاتین باشه هرگز فارسی ننویسید")ذخیره می کنیم.
یه توضیحی بدم :تنظیمات ال سی دی که چیز خاصی نداره ال سی دی رو روی پورت D تنظیم کردیم و تعداد لاین هم 16 انتخاب کردیم.
تایمر میکرو هم روی PCK2/128تنظیم کردیم چون باید فرکانس تقسیم به این مقدار بشه و عدد 256 به دست بیاد که این روند تایمر ما هستش تا یه ثانیه تولید بشه.
ما منبع کلاک روTOSC1 انتخاب کردیم که ب همین دلیل کریستال ساعت رو روی پایه های TOSC1 وTOSC2 نصب می کنیم.
حالا بریم سراغ خط های برنامه نویسیش:
شماره 1 : کتابخونه متغییر های رشته ای رو وارد کردیم واسه این هست که میخوایم عدد های ساعت رو روی ال سی دی نمایش بدیم.
شماره 2 :متغییر های لازم رو تعریف می کنیم.
شماره 3 :توی روتین وقفته تایمر 2 کد های مربوطه رو می نویسیم:
خط 9 که نوشته ++s یعنی یه واحد به s اضافه کن که این ثانیه شمار ما هستش هر 256 تایی که میشمره تایمر یه واحد به متغییر s اضافه میشه.
خط های بعدی هم شرط های ثانیه دقیقه و ساعت هستن.
خوب این خط ها هم نمایش متغییر های ثانیه دقیقه و ساعت روی ال سی دی و تنظیم ساعت با کلید ها هستن
شماره 1 :در خط اول توسط تابع sprintf متغییر های رشته ای رو نمایش دادیم
شماره 2 : این دو خط متغییر های ساعت و دقیقه رو تغییر می دن.
یه نکته خیلی مهم هست که بگم کریستال ساعتی که استفاده می کنید خیلی کیفیت ساختش مهمه سعی کنید حتما جنس خوب باشه
اینم نتیجه کار:
فایل پروژه رو هم میزارمش اینجا :
کد:
http://s9.picofile.com/file/8312709684/oclock_by_32_768_crystal.rar.html

امیدوارم لذت برده باشین سوالی چیزی بود بپرسین اگر بلد باشم جواب میدم (فقط سخت نباشه

اضافه شده در تاریخ 28/10/1396
سلامی دوباره
اومدم یه تجربه رو اضافه کنم این کریستال ساعت رو روی مگا 8 تست کردم و ساعت جلو میفتاد با قرار دادن کریستال 22 پیکو روی پایه های کریستال ساعت تست شد ساعت عقب افتاد و بعد از چند تست خازن رو به 15 پیکو تغییر
دادم.ساعت بدون هیچ مشکلی کار کرد نه عقب افتاد نه جلو .خواستم گم مشکلی داشتید با ساعت خازن 15 پیکو روی پایه های کریستال ساعت بزارید.
*****End*****
موفق باشید در پناه حق یا علی
دیدگاه