پروژه AVR رقص نور با کدویژن

در این پست از سایت اِمیک, پروژه avr رقص نور با استفاده از هشت led به زبان c (کدویژن) قرار داده شده است. در این پروژه از میکروکنترلر ATmega16 و 8 عدد led و سه کلید استفاده شده است که شما با فشار دادن هر کدام از کلید ها یک حالت رقص نور را انتخاب می کنید و همچنین با فشار دادن همه انها هر 3 حالت رقص نور پشت سرهم انجام می شود. کلیپ شبیه سازی نحوه عملکرد این پروژه در پروتئوس در انتهای مطلب قرار داده شده است. شماتیک این پروژه به صورت زیر است :

 

برنامه کدویژن :

در محیط کدویزارد, مگا 16 را انتخاب کنید و فرکانس ان را 1 مگا هرتز تنظیم کنید. پورت c را جهت اتصال led ها خروجی کنید و پین های پورت A که به کلیدها متصل هستند را بگذارید ورودی بمانند فقط قسمت PULLUP جلوی انها را از T به P تغییر دهید تا مقاومت بالاکش برای پورت A فعال شود. کدهای نهایی پروژه به صورت زیر است :

نکات برنامه :

  • دلیل فراخوانی کتابخانه math استفاده از دستور pow (توان) در برنامه می باشد, جهت اشنایی با این دستور اینجا را مطالعه کنید 
  • برای هرکدام از کلیدها یک دستور شرطی if نوشته شده که با فشار دادن هر کلید و درنتیجه برقرای شرط درون if مربوط به ان کلید, دستورات درون if اجرا می شوند
  • در if دوم و سوم از حلقه for استفاده شده است که با هر بار تکرار حلقه شمارنده i یکی اضافه شده و با توجه به اینکه از i در دستور pow استفاده شده در هر بار تکرار for که می تواند از 0 تا 7 باشد, 2 به توان i می رسد به عنوان مثال در تکرار اول مقدار i=0 است بنابراین 2 به توان 0 می رسد و حاصل که 1 است در پورت c قرار داده می شود و  باتوجه به مقدار باینری 1 که به صورت 00000001 است فقط led متصل به پین 0 از پورت c روشن می شود. در تکرار بعدی که i=1 می شود 2 به توان 1 مرسد و حاصل 2 می شود که با توجه به مقدار باینری ان که 00000010 است led متصل به پین 1 از پورت c روشن شده و بقیه خاموش هستند و این روند ادامه دارد… تا حلقه for به پایان برسد .

فایل های شبیه سازی و کدویژن در ادامه قرار داده شده است. اگر سوالی در مورد برنامه داشتید, در قسمت نظرات میتونید مطرح کنید

کلیپ شبیه سازی :

 

دانلود فایل ها

پسورد فایل زیپ : www.emic.ir

نظر یادتون نره…

درباره ی عابد رازانی

فارغ التحصیل کارشناسی الکترونیک از دانشکده باهنر شیراز و علاقمند به برنامه نویسی و طراحی مدارات الکترونیکی, در حال حاضر به تولید محتوای اموزشی و طراحی و انجام پروژه مشغول هستم و همچنین درحال اماده شدن برای ارشد

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

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