میکروکنترلر AVR
آشنایی با میکروکنترلر ها و نرم افزار Atmel Studio
مقدمه
کار با میکروکنترلر های AVR از خانواده ی Atmel بسیار آسان است. همه ی میکروکنترلر های AVR نیازمند یک محیط کدنویسی (IDE) مانند Atmel Studio و CodeVision هستند. با استفاده از Atmel می توان برنامه ها و کد ها را بر روی AVR نوشت و کامپایل یا دیباگ کرد.
نرم افزار Atmel Studio به صورت رایگان در دسترس است
توجه : Atmel Studio را می توان به دو صورت آنلاین و آفلاین نصب و استفاده کرد، در اینجا ما از Atmel Studio 7 که آخرین ورژن فعلی است استفاده می کنیم.
Atmel Studio 7 شامل کامپایلر GCC C و ++C ، اسمبلر و یک شبیه ساز و رابط های یکپارچه با سیستم های debugger و Programmer است و کار برنامه نویسان را برای ایجاد کد ساده تر می کند.
بیایید یک برنامه LED چشمک زن ساده برای Atmega16 با استفاده از Atmel Studio 7 بنویسیم.
1. بعد از دانلود و نصب، Atmel Studio 7 را اجرا می کنیم. صفحه ی شروع به صورت زیر است:
2. حالا برای ایجاد پروژه ی جدید روی File -> New -> Project کلیک کرده و یا با استفاده از Ctrl + Shift + N به راحتی یک پروژه ی جدید ایجاد می کنیم:
3. یک پنجره ی New Project باز می شود که ما باید نوع , اسم و محل ذخیره ی پروژه رو انتخاب کرده، همچنین گزینه ی Create directory for solution که با تیک زدنش مسیر پروژه را با همان اسم پروژه در محل ذخیره ی پروژه ایجاد می کند:
4. پس از کلیک بر روی OK، همانطور که در شکل زیر نشان داده شده پنجره ی انتخاب میکروکنترلر ظاهر می شود . می توانیم مستقیما نام میکروکنترلر را تایپ و میکروکنترلر مورد نیاز را از لیست انتخاب کنیم.
بر روی نام میکروکنترلر و تأیید(OK) کلیک می کنیم، در اینجا ما میکروکنترلر ATmega16 را انتخاب کرده ایم.
5. حالا صبر می کنیم تا پروژه و فایل main.c ایجاد شود:
6.حالا میتوانیم برنامه ی دلخواهمان را برای میکروکنترلر بنویسیم, که ما یک برنامه برای LED چشمک زن که به پورت B وصل است می نویسیم:
کد های برنامه:
/*
* ATmega16_LED_Blinking.c
*/
#define F_CPU 8000000UL /* فرکانس کاری میکروکنترولر رو 8 مگاهرتز تعریف می کنیم*/
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0xFF; /* رو خروجی تعریف می کنیم B همه ی پین های پورت */
while (1) /* اجرای بینهایت کدهای داخل حلقه */
{
PORTB = 0x00;
_delay_ms(500); /* ایجاد 500 میلی ثانیه تاًخیر */
PORTB = 0xFF;
_delay_ms(500);
}
}
7. پس از نوشتن برنامه، ذخیره کرده (Ctrl + S) و بر روی Construction Solution از Build menu کلیک می کنیم.
همچنین، ما می توانیم از F7 برای Build Solution استفاده کنیم.
8. حالا میتوانیم عبارت build succeeded را در پنجره ی Output (پایین سمت چپ) ببینیم.
9.حالا میتوانیم فایل hex. ایجاد شده را در فایل Debug در مسیر پروژه ببینیم.
10.حالا باید فایل hex. ایجاد شده را روی میکروکنترلر آپلود کنیم. AVRDUDE یک برنامه برای این کار است.
SinaProg محیط کاربری برای AVRDUDE است که با استفاده از برنامه ی AVRDUDE و به وسیله ی USBasp فایل hex. ایجد شده رو, روی میکروکنترلر آپلود میکنه.
USBasp یه پروگرامر برای میکروکنترلر های AVR است.
11. بعد از آپلود کردن فایل hex. و وصل کردن LED روی میکروکنترلر, LED شروع به چشمک زدن می کند.
فایل های موردنیاز
سورس کدها
- فایل پروژه ی LED چشمک زن برای ATmega16 دانلود
فایل پیوست
- نرم افزار SinaProg دانلود