آموزش

میکروکنترلر 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 به راحتی یک پروژه ی جدید ایجاد می کنیم:

پروژه جدید Atmel
پروژه جدید Atmel

3. یک پنجره ی New Project باز می شود که ما باید نوع , اسم و محل ذخیره ی پروژه رو انتخاب کرده، همچنین گزینه ی Create directory for solution که با تیک زدنش مسیر پروژه را با همان اسم پروژه در محل ذخیره ی پروژه ایجاد می کند:

پنجره ی پروژه جدید
پنجره ی پروژه جدید

4. پس از کلیک بر روی OK، همانطور که در شکل زیر نشان داده شده پنجره ی انتخاب میکروکنترلر ظاهر می شود . می توانیم مستقیما نام میکروکنترلر را تایپ و میکروکنترلر مورد نیاز را از لیست انتخاب کنیم.

بر روی نام میکروکنترلر و تأیید(OK) کلیک می کنیم، در اینجا ما میکروکنترلر ATmega16 را انتخاب کرده ایم.

انتخاب میکروکنترلر
انتخاب میکروکنترلر

5. حالا صبر می کنیم تا پروژه و فایل main.c ایجاد شود:

محیط کدنویسی
محیط کدنویسی
LED ی چشمک زن
LED ی چشمک زن

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 استفاده کنیم.

Build
Build

8. حالا میتوانیم عبارت build succeeded را در پنجره ی Output (پایین سمت چپ) ببینیم.

build output
خروجی build

9.حالا میتوانیم فایل hex. ایجاد شده را در فایل Debug در مسیر پروژه ببینیم.

10.حالا باید فایل hex. ایجاد شده را روی میکروکنترلر آپلود کنیم. AVRDUDE یک برنامه برای این کار است.

SinaProg   محیط کاربری برای AVRDUDE است که با استفاده از برنامه ی AVRDUDE  و به وسیله ی USBasp فایل hex. ایجد شده رو, روی میکروکنترلر آپلود میکنه.

USBasp یه پروگرامر برای میکروکنترلر های AVR است.

USBasp
USBasp

11. بعد از آپلود کردن فایل hex. و وصل کردن LED روی میکروکنترلر, LED شروع به چشمک زدن می کند.


فایل های موردنیاز

سورس کدها

  • فایل پروژه ی LED چشمک زن برای ATmega16 دانلود

فایل پیوست


تنظیم و ترجمه: نویسندگان سایت باارزش

baarzesh.net

سایت باارزش

 

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

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