طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
این پروژه یک مدار گیرنده رادیویی 433 یا 315 مگاهرتز می باشد که قابلیت تعریف و ذخیره سازی انواع ریموت کنترل هایی از قبیل (ریموت دزدگیر ماشین، پارکینگ، بالابر و ...) را دارد. می توان رله مربوطه را روی هر کلید دلخواه تعریف نمود. این پروژه توانایی کنترل دو عدد رله را به صورت مجزا توسط برنامه ریزی زمانی یا دمایی دارد. مثلا می توانید برای دمای بالا رله یک و برای دمای پایین رله دو را تنظیم کنید. یا هر رله در زمان مشخصی روشن و در زمان مشخصی خاموش شود.در صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و از طریق بازر بوق هشدار پخش می شود. ولتاژ فعلی، زمان باقیمانده تا اتصال رله و پیغام ها روی نمایشگر نشان داده می شود.بر اساس رنج دمایی حداقل و حداکثر که توسط کاربر تعریف می شود می توان سرعت موتور را بین 1 تا 100 درصد به صورت خودکار تنظیم کرد.این پروژه یک فرستنده گیرنده رادیویی با برد 100 تا 200 می باشد، که قابلیت کنترل 20 کانال مجزا به همراه کنترل سرعت موتور DC را دارد. از ماژول HMT و HMR و 20 عدد دیپ سوئیچ و درایور L298N برای موتور استفاده شده است.
پروژه ریموت کنترل 433-315 مگاهرتز تک کاناله با قابلیت لرنینگ

MCP-30

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

MCP-45

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

MCP-23

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

MCP-41

پروژه کنترل دور فن یا موتور توسط سنسور دما
پروژه کنترل 20 کاناله-به همراه کنترل سرعت موتور با avr

MCP-10

پروژه کنترل 20 کاناله-به همراه کنترل سرعت موتور با avr

چشمک زن با زبان c (برنامه نويسي به زبان سي)

این برنامه به زبان c می باشد که ضمن توضیح کامل برنامه عمکلرد دستورات نیز توضیح داده شده...

رنگ سبز نام فايل سر آيند مي باشد. رنگ قرمز توابع تعريف مي باشند يعني اينكه هر كلمه يا حرفي را مي توان به دلخواه تعريف كرد. رنگ قهواي مقدار هگز (عدد) را مي توان به يك تابع اختصاص داد كه بعد از 0x عدد هگز را قرار مي دهيم. رنگ آبي دستورات زبان C مي باشند. رنگ خاكستري رنگ قرمز را اجرا مي كند. 

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


 
1 #include
2 #defineout0x00
3 sbit led=P1^3;
4 void wait()
5 {
6   Unsigned int x;
7   for(x=0;x<33000;x++);
8 }
9    main()
10 {
11     P1=out;
12     Led=0;
13     Wait();
14     Led=1;
15     Wait();
16   }
1) دستورات براي ميكرو كنترولر 8051 ترجمه شوند
2) #define دستوري است براي تعريف كردن يك متغير، كه در اين مثال مقدار 00H به متغيير out اختصاص داده مي شود.
3) بيت 3 از پورت 1 را كه مي خواهيم خاموش و روشن شود را تعريف مي كنيم.
4) برنامه تاخيري مي باشد كه بجاي waitهر كلمه يا حروف ديگري را مي توان به كار برد
5)
6) Unsigned int يك دستور 16 بيتي مي باشد كه در آن ما x را به عنوان متغيير تعريف مي كنيم.
7) مقدار اوليه x=0 قرار مي دهيم و 33000 عددي است كه تقريبا يك ثانبه تاخير به وجود مي آورد. و در نهايت به x يك واحد يك واحد اضافه مي شود. تا اين تاخير به وجود آيد.
8)
9) main() برنامه اصلي از اين پس شروع مي شود.
10)
11) P1=out محتواي پورت 1 را با مقدار out برابر مي كند و طبق رنگها ، out برابر با رنگ قرمز و در رنگ قرمز مقدار 00H به متغيير out داده شده پس اگر ما همه بيت هاي پورت 1 را LED ببنديم پس از اجراي اين دستور همه LED ها روشن كي شوند و اگر عدد 0xff را قرار دهيم همه LED ها روشن مي شوند.
12) Led=0 طبق رنگها بيت 3 از پورت 1 راخاموش مي كند.
13) Wait() طبق رنگها اين دستور برنامه تاخيري را كه يك ثانيه مي باشد اجرا مي كند.
14) Led=1 طبق رنگها بيت 3 از پورت 1 راروشن مي كند.
15) ) Wait() طبق رنگها اين دستور برنامه تاخيري را كه يك ثانيه مي باشد اجرا مي كند.
 
 
نكته :
 0x00 اگر بخواهيم در حيني كه بيت 3 چشمك مي زند بقيه بيت ها خاموش بمانند مقدار 00 را به متغيير مي دهيم
0xff اگر بخواهيم در حيني كه بيت 3 چشمك مي زند بقيه بيت ها روشن بمانند مقدار ff را به متغيير مي دهيم
 
در ضمن ما اگر بخواهيم بين خاموش شدن و روشن شدن LED  زمان هاي متفاوت داشته باشيم به صورت زير عمل مي كنبم:
مثلا مي خواهيم 1 ثانيه روشن باشد و زمان خاموشي 2 ثانيه باشد؟
 
1 #include
2 #defineout0x00
3 sbit led=P1^3;
4 void wait()
5 {
6   Unsigned int x;
7   for(x=0;x<33000;x++);
8 }
9    main()
10 {
11     P1=out;
12     Led=0;
13     Wait();
14     Wait();
15     Led=1;
16     Wait();
17   }
در خط 14 براي مدت زمان خاموشي 2 ثانيه يك بار ديگر Wait(); را اجرا مي كنيم تا زمان ما 2 ثانيه شود.
 
در ضمن براي ايجاد تاخير 1 ثانيه اي در ديگر برنامه مي توان از خط 4 الي 8 استفاده كرد

  منبع: www.picpars.com

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

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

برچسب ها:
تاریخ ارسال چهارشنبه، 21 بهمن ماه، 1388    نویسندهنویسنده: مدیریت    نظرات 1 نظر    بازدید بازدید [ 28280 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان