آموزش AVRپروژه AVRپروژه اتمل استودیو

پروژه ساعت هشدار با میکروکنترلر AVR و اتمل استودیو

س پروژه ساعت هشدار دار اتمل استودیو (ساعت آلارم Atmel Studio) را آماده کردیم. فیلم عملکرد مدار رو از دست ندید !

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

اول از همه ، کلاک در اینجا 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 (مقایسۀ مقایسه مقادیر) در رجیستر بالا نوشته شده است.

شماتیک مدار پروژه ساعت زنگ دار AVR

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

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

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

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

8 نظر

  1. لطفا فایل سورس رو برام ایمیل میزنید؟ فایلی که برای دانلود گذاشتین کار نمیکنه
    leilaonline2016@gmail

    1. سلام عزیز
      بررسی شد فایل سالم هست
      با نرم افزار Winrar باز کنید

  2. هیچی تو این فایلت نیست یه فایل تکست خالی هست فقط که سرکارمون گذاشتی بخدا برای پروژه کارشناسیم مارش داشتم

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

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

    3. سلام عزیز
      این فایل برای اتمل استودیو هست
      برای یادگیری برنامه نویسی و کار در اتمل استودیو، دوره آموزش AVR را مشاهده کنید.

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

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