آیرنکس موظف به پاسخگویی و رفع اشکال هر مطلب است
برای پشتیبانی از انجمن ، نظرات و تلگرام میتونید اقدام کنید | تلگرام : 09358790909
کانال تلگرام
اتمل استودیوپروژهساعت

ساعت هشدار اتمل استودیو (ساعت آلارم Atmel Studio)

ساعت هشدار اتمل استودیو

سلام

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

یعنی پروژه ساعت با هشدار (Alarm آلارم) با کامپایلر اتمل استودیو !

ساعت هشدار اتمل استودیو
ساعت هشدار اتمل استودیو

توضیحات پروژه ساعت اتمل استودیو

توی این پروژه ما میخوایم یک ساعت زنگ دار با استفاده از تایمر Atmega 32 طراحی کنیم. میکروکنترلر Atmega32A دارای تایمر 16 بیتی هستش و ما از این تایمر برای شمارش ثانیه ها و ایجاد یک ساعت دیجیتال استفاده میکنیم !

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

ساعت هشدار اتمل استودیو

قطعات مورد نیاز  پروژه ساعت هشدار اتمل استودیو

  • میکروکنترلر Atmega 32 (دیتاشیت مگا 32)
  • کریستال 11.0592 مگاهرتز
  • خازن 22 پیکوفاراد (2 عدد)
  • منبع تغذیه 5 ولت
  • خازن 100میکروفاراد
  • ال سی دی کاراکتری 16*2
  • دکمه (4 عدد)
  • مقاومت 10 کیلو اهم (6 عدد)
  • خازن 100 نانو فاراد (4 عدد)
  • پین سوئیچ (2 عدد)
  • ترانزیستور 2N2222
  • مقاومت 200 اهم
  • بازر (Buzzer)
  • کامپایلر Atmel Studio (دانلود اتمل استودیو)

شماتیک و توضیحات مدار

ساعت هشدار اتمل استودیو

برای داشتن زمان دقیق، ما یک کریستال 11.0592 مگاهرتزی رو به میکروکنترلر متصل کردیم. حالا برای غیرفعال کردن ساعت داخلی میکروکنترلر ما باید BITS FUSE BOND خودمون رو تغییر بدیم. ییادتون باشه که بیت های دیگه رو دست نزنید و ارتباط JTAG همچنان فعال هستش .
برای غیر فعال کردن ساعت داخلی مگا 32 ، و برای کار روی خروجی مون ، ما باید تنظیم کنیم :
استفاده کمتر بایت : 0xFF یا 0b11111111
توی مدار ، پورت B میکروکنترلر به ال سی دی متصله ! یادآوری میکنیم که اگه کسی از پورت C برای اتصال JTAG توی بایت فیوز های بالا استفاده کنه ، اتصال JTAG قطع میشه . توی ال سی دی 16 پین وجود داره . اگه بلک لایت رو حذف کنیم 14 پین میمونه .  میتونیم پین های بلک لایت و نور پشت رو به برق وصل کنید یا رها کنید . در حال حاضر ما 16 پین داریم که 8 پین داده هامون هستن . 2 پین منبع تغذیه ، 3 پین برای کنترل کنتراست ، 3 پین برای کنترل هستش .

ساعت هشدار اتمل استودیو

فیلم عملکرد مدار : کلیک کنید !
برای مشاهده بقیه آموزش و پروژه باید اشتراک داشته باشید
موارد موجود در فایل دانلودی : شماتیک ، فایل اتمل استودیو ، فایل هگز و …
[post_shop]
شماتیک
شماتیک

توی مدار ، شما میتونی ببینید که ما فقط دو تا پین رو گرفتیم ، این به انعطاف پذیری یه درک بهتری بهتر میده . بیت کنتراس و READ / WRITE اغلب استفاده نمیشن ! بنابراین میتونیم اونها رو به زمین GND وصل کنیم . این باعث میشه که ال سی دی در بالاترین کنتراست و حالت خوندن قرار بگیره . ما فقط نیاز به کنترلِ پنل های Enable و RS برای ارسال کاراکتر ها و داده ها داریم.

اتصالات ال سی دی

PIN1 or VSS to ground

PIN2 or VDD or VCC to +5v power

PIN3 or VEE to ground (gives maximum contrast best for a beginner)

PIN4 or RS (Register Selection) to PD6 of uC

PIN5 or RW (Read/Write) to ground (puts LCD in read mode eases the communication for user)

PIN6 or E (Enable) to PD5 of uC

PIN7 or D0 to PB0 of uC

PIN8 or D1 to PB1 of uC

PIN9 or D2 to PB2 of uC

PIN10 or D3 to PB3 of uC

PIN11 or D4 to PB4 of uC

PIN12 or D5 to PB5 of uC

PIN13 or D6 to PB6 of uC

PIN14 or D7 to PB7 of uC

ساعت هشدار اتمل استودیو

توی مدار شما میتونید ببینید که ما از ارتباط 8 بیتی استفاده کردیم ، (D0-D7) اما اجباری نیست . ما میتونیم از ارتباط 4 بیتی استفاده کنیم ، ولی برنماه پیچیده میشه . همونطور که توی لیست بالا دیده میشه ، ما از 10 پین LCD استفاده کردیم که 8 پین اطلاعات و 2 پین کنترل هستش.
خازن های موجود توی مدار برای خنثی کردن نویز هستش. اگه اونهارو برداریم ممکنه با یک بار فشار دادن دکمه ، میکروکنترلر فکر کنه که چند بار دکمه رو زدیم . مثاومت هایی هم که به پین ها وصل میشن برای محدود کردن جریان هستن (وقتی دکمه رو فشار میدیم).
ساعت هشدار اتمل استودیو

 

هربار یک دکمه رو فشار میدیم ، پین مربوط به اون دکمه توی میکروکنترلر فعال میشه و به این ترتیب میکروکنترلر حرکت مطابق با دکمه مورد نظر مارو انجام میده

تنظیم

اول از همه ، کلاک ما توی اینجا 11059200 هرتز هستش. تقیم میکنیمش به 1024 ، 10800 به دست میاد . بنابراین برای هر ثانیه 10800 ضربان لازمه . بنابراین ما میخوایم استفاده کنیم از یک کانتر با 1024 پریکالار تا کانتر کلاک 10800 رو بدست بیاریم. بعدش ما میخوایم از CTC توی میکروکنترلر استفاده کنیم . یک رجیستر 16 بیتی وجود داره که ما میتونیم یک مقدار رو دخیره کنیم . وقتی که شمارنده داره مقدار رو پیشروی میکنه ،  یک وقفه برای ورودی ایجاد میشه .
ما میخوایم مقدار رو 10800 تنظیم کنیم ، بنابراین ما برای هر ثانیه یک ISR (سرویس سرویس وقفه در هر مقایسه) داریم . بنابراین ، ما میخوایم از این روال زمانبندی استفاده کنیم.
تایمر کانتر
تایمر کانتر
قهوه ای (WGM10-WGM13): این بیت ها رو ما برای عملیات تایمر استفاده میکنیم.
موج
موج

 

brownNow از آنجایی که ما می خواهیم حالت CTC با مقدار مقایسه ای در بایت OCR1A انجام بدیم ، ما فقط باید WGM12 رو به یک تنظیم کنیم، بقیه به صورت پیشفرض صفر هستن .

قرمز (CS10، CS11، CS12): این سه بیت برای انتخاب پریکالار هستند و بنابراین کانتر کلاک مناسب را انتخاب می کنند.

انتخاب بیت
انتخاب بیت
باتوجه به جدول بالا و از اونجایی که ما مقدارمون رو به 1024 تقسیم کردیم ، باید CS12 و CS10 رو تنظیم کنیم .

حالا باید یک رجیستر دیگه در نظر داشته باشیم :

تایمر کانتر اینتراپت
تایمر کانتر اینتراپت
سبز (OCIE1A) : این بیت باید تنظیم کنه برای اینتراپت و مقایسه کنه اطلاعات کانتر و OCR1A (10800) رو .
output
output

مقدار OCR1A (مقایسۀ مقایسه مقادیر) در رجیستر بالا نوشته شده است.

ساعت هشدار اتمل استودیو

برای دانلود فایل های پروژه کلیک کنید !

[/post_shop]
ما برای قرار دادن هر پروژه زحمت زیادی میکشیم ، خواهشمندیم مطالب VIP رو منتشر نکنید (*پیگرد قانونی*)
در صورتی که سوالی توی ذهن شماست یا قسمتی از پروژه رو نفهمیدید سوالتون رو توی نظرات یا انجمن مطرح کنید !
درحال ارسال
امتیاز دهی کاربران
5 (1 رای)
برچسب ها
اشتراک ویژه رایگان میخوای ؟ کلیک کن !

محمد رحیمی

محمد رحیمی هستم مدیر وبسایت آیرنکس ! در سال 1394 سایت ای وی آر استودیو رو طراحی کردم (ای وی آر استودیو رو حذف کردیم) . و در تیر ماه 1396 سایت آیرنکس رو طراحی کردم و در خدمت شمام !

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

درحال ارسال

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

بستن