digi-follower
آموزش

میکروکنترلر 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

سایت باارزش

 

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

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

نشانی ایمیل شما منتشر نخواهد شد.