معماری

فلاشر 4 کانال ساده با Bascom-AVR-Atmega8

این پروژه برای آشنایی بیشتر با نحوه کنترل خروجی های آی سی های AVR در نرم افزار برنامه نویسی Bascom در اختیار شما قرار گرفته است و پس از یاد گیری آن خواهید توانست LED های خود را به ترتیب و مدل دلخواه کنترل نمایید و فلاشر خود را بسازید. برای توضیحات بیشتر در ادامه مطلب با نما همراه باشید …

فلاشر

اهداف پروژه:

  • آموزش زبان برنامه نویسی Bascom-AVR
  • آموزش ساخت فلاشر با LED
  • کار عملی با میکروکنترلر Atmega8

قطعات مورد نیاز:

  • برد بورد
  • آی سی ATmega8
  • الی ای دی LED

قبل از این پروژه ، فلاشر تک کاناله با Bascom-AVR به عنوان پروژه پیش نیاز پیشنهاد می شود.

از لینک زیر فایل های پروتئوس و بسکام مرتبط با این پروژه را دریافت کنید.

دانلود فایل پروتئوس و سورس کد بسکام 

فلاشر 4 کانال در Proteus

فایل پروتئوس Four LED flasher .DSN رو توسط Proteus یا ISIS باز کنید.

فلاشر

روی میکرو Atmega8 دابل کلیک کرده و به کمک تصویر زیر فایل .hex رو از فولدر دانلود شده Bascom به میکرو معرفی می کنیم. فایل hex همان کد های نوشته شده در بسکام است که به زبان قابل فهم میکروکنترلر توسط کامپایلر بسکام ترجمه شده اند.

2

حالا با فشار دادن دکمه Play (پایین سمت چپ) LED ها شروع به چشمک زدن یکی پس از دیگری می کنند.

  الگوریتم برنامه

همانطور که میبینید LED1 به PC0 و LED2 به PC1 و LED3 به PB5 و LED4 به PB4 متصل شده اند.

از آنجایی که پایه ها ترتیب منظمی ندارند و ممکن است در برنامه نویسی فراموش کنید که کدام پایه به کدام LED متصل است ابتدا باید برای پایه های مورد نظر اسم دلخواه خود را جایگزین کنیم.

برای مثال:
Led1 به جای PORTC.0
Led2 به جای PORTC.1
Led3 به جای PORTB.5
Led4 به جای PORTB.4

حال اگر بنویسیم led1 = 1 خروجی پایه PORTC.0 برابر +5 ولت خواهد شد!

ابتدا الگوریتم خود را به زبان فارسی می نویسیم:

  1. انجام بده:
  2. led1 را روشن و بقیه را خاموش کن
  3. نیم ثانیه صبر کن
  4. led2 را روشن و بقیه را خاموش کن
  5. نیم ثانیه صبر کن
  6. led3 را روشن و بقیه را خاموش کن
  7. نیم ثانیه صبر کن
  8. led4 را روشن و بقیه را خاموش کن
  9. نیم ثانیه صبر کن
  10. برگرد و دوباره انجام بده

این ساده ترین الگوریتم برای یک فلاشر 4 کاناله بود. اما شما می توانید ترتیب روشن شدن LED ها را به دلخواه خود تغییر دهید یا حتی چند LED را هم زمان روشن و خاموش کنید.

آموزش کد های Bascom

از فولدر Bascom فایل Four LED flasher .bas را توسط نرم افزار بسکام خود باز کنید.

3

توصیح کد ها:

Regfile
این کد برای معرفی میکروکنترلر مورد نظر ما برای نرم افزار است. میکروی مورد استفاده در این پروژه Atmega8 است که در کد به صورت m8 نوشته شده است.

Crystal
در این کد نیز مقدار کریستال میکرو و سرعت آن مشخص می شود. سرعت پیش فرض میکرو های AVR یک مگا هرتز می باشد. توضیحات بیشتر راجب کریستال را در انتهای پروژه خواهید خواند.

Config Portc.0 = Output
Config Portc.1 = Output
Config Portb.5 = Output
Config Portb.4 = Output
با این کد ها پایه های PC0 و PC1 و PB5 و PB4 را برای میکرو خروجی تعریف می کنیم!

Led1 Alias Portc.0
Led2 Alias Portc.1
Led3 Alias Portb.5
Led4 Alias Portb.4
با این کد ها می توانید نام دلخواه خود را جایگزین نام پیش فرض پایه ها بکنید.
برای مثال پس از این کد ها هر جا بنویسید LED1 میکرو آن را همان PORTC.0 خواهد خواند و می توانید به جای اسم پیش فرض پایه از اسمی که خودتون گزاشتید استفاده کنید.
البته باز هم می توانید از اسم اصلی پایه استفاده کنید.

ادامه کد ها همان الگوریتم فارسی است که به صورت کد های زبان بیسیک نوشته شده اند! با مطالعه پروژه فلاشر تک کانال کاملا متوجه این کد ها خواهید شد!

حالا می توانید کد های خودتون رو جایگزین کد هایی که ما نوشتیم بکنید و ترتیب روشن و خاموش شدن LED ها را تغییر دهید و یا زمان های 500 میلی ثانیه را کمتر و بیشتر کنید.

برای مثال کد زیر رو امتحان کنید:

4

آزمایش: برگردید به برنامه پروتئوس و جهت کاتد و آند LED ها را تغییر دهید. و البته به جای GND از Power استفاده کنید. چه اتفاقی می افتد؟

کریستال

تو برنامه پروتئوس روی میکرو دابل کلیک کنید و به کمک عکس زیر گزینه CKSEL fuses را از 1Mhz به 4Mhz تغییر دهید.

5

مشاهده خواهید کرد که سرعت کار میکرو افزایش یافته و سرعت LED ها نیز بیشتر خواهند شد.

فیوز بیت ها در دنیای واقعی هنگام پروگرام کردن فایل hex به درون میکرو تنظیم می شوند و شما باید در نرم افزار بسکام نیز مقدار کریستال تنظیم شده زا درست نوشته باشید.

میکرو های AVR Atmega دارای 4 کریستال داخلی به مقادیر 1Mhz و 2Mhz و 4Mhz و 8Mhz می باشد و همچنین شما می توانید از کریستال خارجی در مقادیر دلخواه خودتون استفاده کنید. کریستال خارجی به دو پایه XTAL1  و XTAL2 متصل می شود.

کریستال
انواع کریستال

مونتاژ شده بر روی برد بورد

7-1024x768

درباره ی نوید مهاجری

نوید مهاجری
به نام خدا. نوید مهاجری هستم دانشجوی علاقمند به علوم کامپیوتر، الکترونیک و تکنولوژی های مرتبط. از دوران ابتدایی به کمک برادرم الکترونیک رو شروع کردم و از دوران راهنمایی با برنامه نویسی آشنا شدم. برای همکاری در سایت و یا کسب درآمد از قسمت نظرات اطلاع دهید. لازم به ذکر است این سایت کاملا رایگان در اختیار شما قرار گرفته و برای حمایت از سایت می توانید نظر ارسال کنید و در کانال تلگرام عضو شوید. همچنین از تبلیغات سایت استفاده کنید. به امید اینکه قدمی برای پیشرفت تکنولوژی در کشورمان برداشته باشیم.

پاسخ دهید

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

قالب وردپرس