طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
اندازه گیری ضربان قلب توسط تمامی انگشتان دست. نمایش بر روی سون سگمنت سه رقمی LED. ذخیره ضربان های اندازه گیری شده تا 250 مورد. نمایش اندازه گیری های ثبت شده توسط کلید های Up و downدر صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و از طریق بازر بوق هشدار پخش می شود.این پروژه جریان برق مصرفی را اندازه گیری و توسط یک ماژول سیم کارت اطلاعات مورد نظر را به شماره همراه دلخواه ارسال میکند. ولتاژ کاری آن AC220 ولت و حداکثر جریان عبور آن 50 آمپر می باشد.این پروژه در اصل یک ساعت زنگ دار می باشد که قابلیت برنامه ریزی آلارم صبحگاهی و تنظیم 5 برنامه یادآور را دارد. با تنظیم آلارم هر روز راس ساعت تنظیمی آلارم پخش می شود، همچنین با تنظیم یادآور ها در ساعت و تاریخ مشخص نیز آلارم پخش می شود. از امکانات آن می توان برای هر یادآور یک نام تعیین کرد (20 کاراکتر اسکی) با قابلیت تایپ حروف کوچک و بزرگ انگلیسی با کیبورد 3×4 و ...ساعت دیواری دیجتال با قابلیت نمایش ساعت و دقیقه، دمای اتاق، تاریخ شمسی، روز هفته، زدن تک بوق وقتی که زمان یک ساعت جلو می رود، تنظیم ساعت و دما تنها با 2 کلید. ابعاد ساعت 33*27 سانتی متر می باشد.
پروژه اندازه گیری ضربان قلب با نوک انگشتان و avr

MCP-17

پروژه اندازه گیری ضربان قلب با نوک انگشتان و avr
پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت

MCP-21

پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت
پروژه کنتور برق با AVR و ارسال اطلاعات توسط سیم کارت

MCP-40

پروژه کنتور برق با AVR و ارسال اطلاعات توسط سیم کارت
پروژه آلارم صبحگاهی و یادآور با LCD گرافیکی و avr

MCP-7

پروژه آلارم صبحگاهی و یادآور با LCD گرافیکی و avr
پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr

MCP-13

پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr

آموزش برنامه نویسی در محیط Atmel Studio 6

www.picpars.com آموزش برنامه نویسی در محیط Atmel Studio 6 367

به نام خدا

در دور جدید آموزش های برنامه نویسی، می خواهیم به آموزش برنامه نویسی در محیط Atmel Studio 6 به پردازیم، خواهیم گفت که چگونه یک پروژه جدید ایجاد کنیم و یک برنامه ساده بنویسیم و در نهایت آن را کامپایل کنیم و از فایل هگز خروجی آن در شبیه سازی و ... استفاده کنیم.

از بخش سفارش طراحی هم اکنون درخواست خود را ثبت کنید
حل و تشریح کلیه تمرینات درس میکروکنترلر AVR
طراحی و ساخت مدارات دلخواه شما با میکروکنترلر AVR


مراحل ایجاد یک پروژه جدید

ابتدا به منوی File رفته و از گزینه New مورد Project را انتخاب کنید، حال گزینه GCC C Executable Project انتخاب کرده و در انتها هم برای Name اسم پروژه مورد نظرتان را انتخاب کنید و در قسمت Location نیز می توانید محل ذخیره سازی پروژه را تعیین نمایید. در این مثال آموزشی ضمیمه شده ما ابتدا می خواهیم پورت A میکرو ATMEGA32 را به عنوان خروجی تعریف کنیم و 8 عدد LED به آن وصل کرده و حالت های مختلفی را ایجاد کنیم.

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

#include <avr/io.h>
#define F_CPU 1000000
#include <util/delay.h>

در قسمت F_CPU توسط دستور define ما فرکانس کاری میکروکنترلر را تعیین می کنیم که در اینجا 1MHZ انتخاب شده و در خط بعد نیز توابع تاخیری را فراخوانی می کنیم تا از تاخیر های میلی ثانیه یا میکرو ثانیه استفاده شود.

void mode1(){
unsigned char i;
    for (i=0; i<4; i++){
        PORTA=0xff;
        _delay_ms(300);
        PORTA=0x00;
        _delay_ms(200);
    }
}

در تابع تعریف شده به نام mode1 ما 4 مرتبه کل پورت A را روشن (یک) و 300 میلی ثانیه تاخیر ایجاد می کنیم و در ادامه کل پورت را خاموش (صفر) و تاخیر ایجاد می کنیم. کل این پروسه که 4 بار تکرار می شود را به صورت تابع نوشته ایم که در تابع اصلی main فراخوانی می کنیم. پس تا ایجا ما با نحوی نوشتن یک تابع Void تابع بدون برگشت نیز آشنا شدیم.

void mode2(){
    unsigned char i;
    PORTA=0x01;
    for (i=0; i<8; i++){
        _delay_ms(200);
        PORTA = PORTA<<1;
    }
}

 

mode2 نیز به این صورت می باشد که ابتدا بیت اول (A.0)  را یک کرده و توسط حلقه For هشت بار یکی یکی این بیت یک شده را به سمت چپ شیفت می دهیم و 200 میلی ثانیه در هر مرحله تاخیر ایجاد می شود تا حرکت LED به آرامی نمایان شود.

int main(void){
    PORTA=0x00;
    DDRA=0xff;
    
    while(1) {
        mode1();
        mode2();
    }
}

 

اکنون در تابع اصلی برنامه یعنی main پورت A را به صورت خروجی (DDRA) تعریف نموده و مقدار پیش فرض آن را نیز صفر قرار می دهیم، و در حلقه بینهایت تایع mode1 و mode2 را پشت سرهم فراخوانی می کنیم و این کار تا ابد ادامه می یابد.

انشاء الله در روزهای آتی با مثال ها و آموزش های بیشتری خواهیم آمد، امیدواریم دوستان نیز با ارائه مطالب همکاری کنند و همه صرفا خوانند مطالب نباشند.

  منبع: www.picpars.com

  لطفا مقالات، آموزش‌ها و پروژه های خود را به آدرس ایمیل ارتباطی ایمیل نمائید تا آن را با نام خودتان در سایت منتشر کنیم.




فایل های ضمیمه ( ورود - عضويت )

فایل شماره 229 | حجم 34 کیلوبایت | دانلود 1638 بار

منبع www.picpars.com  نویسنده: سید محسن قاسمیان

منبع www.picpars.com  مثال آموزش ایجاد یک پروژه جدید در Atmel Studio

منبع www.picpars.com  پسورد: www.picpars.com

به این مطلب امتیاز دهید

برچسب ها:
تاریخ ارسال سه شنبه، 14 خرداد ماه، 1392    نویسندهنویسنده: مدیریت    نظرات 12 نظر    بازدید بازدید [ 34364 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان