در این مقاله یک LED را با با میکروکنترلر ATMega۸ از خانواده Atmel AVR توسط افزار کدویژن راه اندازی می شود. تراشه ATMega۸ دارای ۴ پورت ,B,C و D میباشد. در اینجا از پایه ۴ از پورت C استفاده کرده، ولی شما میتوانید از هر پایهای در هر پورتی استفاده کنید.
سرویس آموزش و آزمون برق نیوز، میکروکنترلر AVR از اواسط دهه ۹۰ میلادی در عرصه الکترونیک و مدارهای مجتمع پا به عرصه گذاشتند. در میکروکنترلر AVR امکان برنامه نویسی ابتدایی برای تراشه وجود داشته است. امروزه شاهد رشد و پیشرفت بسیار زیادی در میکروکنترلر AVR هستیم. در ادامه این قصد دارم به عنوان پروژه مقدماتی یک LED را با با میکروکنترلر ATMega۸ از خانواده Atmel AVR توسط افزار کدویژن راه اندازی نماییم. تراشه ATMega۸ دارای ۴ پورت ,B,C و D میباشد. در اینجا من از پایه ۴ از پورت C استفاده کردم، ولی شما میتوانید از هر پایهای در هر پورتی استفاده کنید.
لوازم مورد نیاز
۱- میکروکنترلر ATmega۸،
۲- LED یا دیود نورانی
۳- مقاومت ۴۰۰ اهم برای حفاظت از سوختن LED
کدهای پروژه AVR با تراشه ATmega۸
ابتدا نرم افزار کدویژن رو باز کنید و از منو file گزینه New Project را انتخاب کنید. کدهای زیر را در آن تایپ کنید. سپس از منوی Project گزینهی compile را انتخاب کنید و اگر error مشاهده نکردید گزینه OK را انتخاب کنید و از همان منو project گزینه Build All را انتخاب کنید. حال برنامه به زبان ماشین ترجمه شده و آن در فایلی به نام exe در جایی که انتخاب کردید با پسوند hex ذخیره شده
توضیح خط به خط کد AVR
۱- در خط اول، کتابخانهای جامع برای میکروکنترلر AVR را اضافه کردیم. این کتابخانه شامل سریهای ATTiny,AT۹۰S و ATMega میباشد.
۲- در خط دوم، کتابخانه مربوط به تاخیر را ضمیمه برنامه کردم.
۳- خط بعد مربوط به DDRC.۴ میباشد که ما با این کار پایهی ۴ از پورت c را به عنوان خروجی تعریف کرده ایم. ابتدا DDR را نوشته ایم که منظور ما را مشخص میکند یعنی ما میخواهیم ورودی یا خروچی بودن را مشخص کنیم و بعد به پورت اشاره دارد که در اینجا پورت c میباشد سپس نقطه میگذاریم و پایهای را از پورت مشخص میکنیم که در اینجا پایهی ۴ میباشد بعد مساوی میگذاریم و ۰ و یا ۱ را مینویسیم.۰ به معنای ورودی و ۱ به معنای خروجی بودن پایه است.
۴- در این خط ما مقدار اولیهای به پایهی ۴ از پورت c داده ایم که ان مقدار برابر ۰ بوده است. مانند دستور قبل ابتدا دستور اصلی که PORT است را مینویسیم سپس پورت را مشخص میکنیم و بعد از نقطه پایه را مشخص میکنیم.
۵- در حلقه (while (۱ ما دستوراتی را مینویسیم که میخواهیم بینهایت بار آنها را اجرا کنیم.
۶- این خط، خط اصلی است و میگوید که مقدار پایه ۴ از پورت c برابر است با متضاد حالت کنونی اش. یعنی اگر ۱ یا روشن باشد آنرا تبدیل به صفر میکند و اگر ۰ باشد آنرا تبدیل به ۱ میکند
۷- اگر میکروکنترلر AVR پشت سر هم عمل چشمک زدن را انجام دهد آنقدر سریع خواهد بود که چشم انسان قادر به دیدن آن نیست بنابر این با دستور () delay_ms وقفهای میلی ثانیهای در کار ایجاد میکنیم که در اینجا ۵۰۰ میلی ثانیه وقفه در کار AVR ایجاد کرده ایم.
منبع: دیجی اسپارک
لوازم مورد نیاز
۱- میکروکنترلر ATmega۸،
۲- LED یا دیود نورانی
۳- مقاومت ۴۰۰ اهم برای حفاظت از سوختن LED
کدهای پروژه AVR با تراشه ATmega۸
ابتدا نرم افزار کدویژن رو باز کنید و از منو file گزینه New Project را انتخاب کنید. کدهای زیر را در آن تایپ کنید. سپس از منوی Project گزینهی compile را انتخاب کنید و اگر error مشاهده نکردید گزینه OK را انتخاب کنید و از همان منو project گزینه Build All را انتخاب کنید. حال برنامه به زبان ماشین ترجمه شده و آن در فایلی به نام exe در جایی که انتخاب کردید با پسوند hex ذخیره شده
توضیح خط به خط کد AVR
۱- در خط اول، کتابخانهای جامع برای میکروکنترلر AVR را اضافه کردیم. این کتابخانه شامل سریهای ATTiny,AT۹۰S و ATMega میباشد.
۲- در خط دوم، کتابخانه مربوط به تاخیر را ضمیمه برنامه کردم.
۳- خط بعد مربوط به DDRC.۴ میباشد که ما با این کار پایهی ۴ از پورت c را به عنوان خروجی تعریف کرده ایم. ابتدا DDR را نوشته ایم که منظور ما را مشخص میکند یعنی ما میخواهیم ورودی یا خروچی بودن را مشخص کنیم و بعد به پورت اشاره دارد که در اینجا پورت c میباشد سپس نقطه میگذاریم و پایهای را از پورت مشخص میکنیم که در اینجا پایهی ۴ میباشد بعد مساوی میگذاریم و ۰ و یا ۱ را مینویسیم.۰ به معنای ورودی و ۱ به معنای خروجی بودن پایه است.
۴- در این خط ما مقدار اولیهای به پایهی ۴ از پورت c داده ایم که ان مقدار برابر ۰ بوده است. مانند دستور قبل ابتدا دستور اصلی که PORT است را مینویسیم سپس پورت را مشخص میکنیم و بعد از نقطه پایه را مشخص میکنیم.
۵- در حلقه (while (۱ ما دستوراتی را مینویسیم که میخواهیم بینهایت بار آنها را اجرا کنیم.
۶- این خط، خط اصلی است و میگوید که مقدار پایه ۴ از پورت c برابر است با متضاد حالت کنونی اش. یعنی اگر ۱ یا روشن باشد آنرا تبدیل به صفر میکند و اگر ۰ باشد آنرا تبدیل به ۱ میکند
۷- اگر میکروکنترلر AVR پشت سر هم عمل چشمک زدن را انجام دهد آنقدر سریع خواهد بود که چشم انسان قادر به دیدن آن نیست بنابر این با دستور () delay_ms وقفهای میلی ثانیهای در کار ایجاد میکنیم که در اینجا ۵۰۰ میلی ثانیه وقفه در کار AVR ایجاد کرده ایم.
منبع: دیجی اسپارک
لینک کوتاه
از ارسال دیدگاه های نا مرتبط با متن خبر، تکرار نظر دیگران، توهین به سایر کاربران و ارسال متن های طولانی خودداری نمایید.
لطفا نظرات بدون بی احترامی، افترا و توهین به مسئولان، اقلیت ها، قومیت ها و ... باشد و به طور کلی مغایرتی با اصول اخلاقی و قوانین کشور نداشته باشد.
در غیر این صورت، «برق نیوز» مطلب مورد نظر را رد یا بنا به تشخیص خود با ممیزی منتشر خواهد کرد.