طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
این پروژه در اصل یک قفل امنیتی است که می توان جلوی درب اصلی منزل (در کنار آیفون) آن را نصب کرد. از امکانات آن می توان به موارد زیر اشاره نمود: نمایش دما از 125 تا 55- درجه سانتیگراد، نمایش ساعت دقیق، نمایش تاریخ شمسی همراه با روز هفته به صورت فارسی، نمایش تعداد فرصت های باقیمانده برای وارد کردن رمز صحیح، و قفل شدن سیستم به مدت 15 دقیقه در صورتی که 4 بار رمز اشتباه وارد شود. امکان تغییر رمز و تنظیم کردن ساعت و تاریج و ...یک ماشین حساب لمسی ساده با قابلیت نوشتن تعداد 12 نوع عملیات متفاوت و پشت سر هم با محاسبه فوری جواب، قابلیت پاک کردن کارکتری جمله نوشته شده، نوشتن عدد اعشاری و منفیاین پروژه در اصل یک شمارنده می باشد که می توان عبور مرور افراد از یک گیت را شمارش کرد، شمارنده هم می تواند به صورت بالا شمار و هم پایین شمار کار کند. همچنین توسط شدت نور یک عدد LED می‌توان سنسور فرستنده و گیرنده را در یک راستای مستقیم تنظیم کرد. سنسورها ار نوع مادون قرمز با برد تقریبی 120cm می باشد.این پروژه یک ماشین حساب ساده با چهار عمل اصلی بروی نمایشگر گرافیگی می باشد.اندازه گیری ولتاژ DC از 0 تا 24 ولت با سه رقم دقت (اعشار) و
اندازه گیری دما از منفی 20 تا مثبت 100 درجه سانتی گراد. دارای نمایشگر السیدی
پروژه دربازکن الکترونیکی خانه قفل رمز با avr

MCP-5

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

MCP-15

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

MCP-6

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

MCP-34

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

MCP-16

پروژه ولت متر DC و دماسنج با 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 نظر    بازدید بازدید [ 10647 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان