طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
یک ماشین حساب لمسی ساده با قابلیت نوشتن تعداد 12 نوع عملیات متفاوت و پشت سر هم با محاسبه فوری جواب، قابلیت پاک کردن کارکتری جمله نوشته شده، نوشتن عدد اعشاری و منفیاین پروژه یک مدار گیرنده رادیویی 433 یا 315 مگاهرتز می باشد که قابلیت تعریف و ذخیره سازی انواع ریموت کنترل هایی از قبیل (ریموت دزدگیر ماشین، پارکینگ، بالابر و ...) را دارد. با نگه داشتن یک میکروسوئیچ و فشار دادن یکی از کلید های ریموت به مدت 1 ثانیه کد شناسایی ریموت مورد نظر آشکار و سپس در حافظه ذخیره می شود و می توان با چهار کلید ریموت (کلیدهای A,B,C,D) چهار رله را روشن و خاموش کرد.این پروژه یک ماشین حساب ساده با چهار عمل اصلی بروی نمایشگر گرافیگی می باشد.در صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و از طریق بازر بوق هشدار پخش می شود.کنترل زاویه ای 0 تا 180 درجه؛ قابلیت تعریف بیش 100 برنامه مجزا توسط کاربر؛ تعیین زاویه برای هر پله حرکت سروو موتور؛ تعیین سرعت حرکت سروو موتور؛ تعیین مدت زمان کارکرد در هر برنامه از 1 تا 255 دقیقه. منوی کاربری بسیار آسان برای تعریف برنامه ها.
پروژه ماشین حساب لمسی ساده با avr

MCP-15

پروژه ماشین حساب لمسی ساده با avr
پروژه ریموت کنترل 433-315 مگاهرتز 4 کاناله با قابلیت لرنینگ

MCP-27

پروژه ریموت کنترل 433-315 مگاهرتز 4 کاناله با قابلیت لرنینگ
پروژه ماشین حساب ساده با السیدی گرافیکی و avr

MCP-34

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

MCP-21

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

MCP-2

پروژه کنترل سروو موتور از 0 تا 180 درجه با avr

شمارنده دو رقمی با سون سگمنت Atmel Studio

www.picpars.com شمارنده دو رقمی با سون سگمنت Atmel Studio 374

در این مثال می خواهیم یک شمارنده دو رقمی بالا شمار طراحی کنیم. متغییر counter به عنوان شمارنده در حلقه تکرار به صورت افزایشی مقدار آن تغییر می­کند. در تابع main دو پورت D و C به صورت خروجی تعریف می­شوند و در حلقه تکرار مقدار متغییر counter به دو رقم کم ارزش و با ارزش شکسته شده و سپس در اشاره گر آرایه قرار می­گیرد و کد متناظر با آن عدد از آرایه استخراج و روی پورت قرار می­گیرد.

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


همانطور که می­دانیم اگر یک عدد دو رقمی را بر 10 تقسیم کنیم در خارج قسمت مقدار با ارزش عدد را خواهیم داشت و در باقیماند مقدار کم ارزش را داریم، که در اینجا با کمک دستور / تقسیم و % باقیمانده این کار را انجام می­دهیم. شرطی هم برای جلوگیری از سرریز برقرار می­کنیم تا اگر شمارنده بزرگتر از 99 شد ریست شود. تاخیر هم سرعت شمارش را تعیین می­کند که در اینجا 100 میلی ثانیه می باشد.

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

unsigned char counter,cathode_seg[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
    
int main(void)
{
     PORTD=0x00;
    DDRD=0xFF;
    PORTC=0x00;
    DDRC=0xFF;
    
    while(1)
    {
        PORTC=cathode_seg[counter/10];
        PORTD=cathode_seg[counter%10];
        counter++;
        if(counter>99) counter=0;
        _delay_ms(100);
    }
}

  منبع: www.picpars.com

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




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

برچسب ها:
تاریخ ارسال يكشنبه، 30 آذر ماه، 1393    نویسندهنویسنده: مدیریت    نظرات 0 نظر    بازدید بازدید [ 11271 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان