PDA

مشاهده نسخه کامل : شروع کار با میکروکنترلر



green_waves
25-01-09, 11:49
من قصد دارم در این تاپیک در زمینه میکروکنترلر AVR به طور ساده و طرز کار با آن را شروع کنم و برنامه ها آنها را نیز قرار دهم

برای مثال من در شهرسخت افزار یک مقاله ترجمه شده دیدم که چگونه می توان سه سرعت متفاوت بصورت دستی برای فن های تعیین کرد در ادامه برنامه و مداری هوشمند برای تعیین دورفن ها بر اساس دما قرار خواهم داد

green_waves
25-01-09, 11:51
در ابتدا می خواهم بپردازم که چرا میکروکنترلر ؟
میکروکنترلر چیست و با یادگیری آن چه نیازهایی از ما بر طرف می شود ؟

میکروکنترلر یک کامپیوتری کوچک شده قابل برنامه ریزی است که قابلیت های مثل تایمر (در چندین حالت متفاوت)، مقایسه کننده آنالوگ، مبدل آنالوگ به دیجیتال، ارتباط از طریق سریال RS232 RS458 ، USB ، ارتباط SPI (مانند ارتباط با کارت های حافظهSD و ماژول های پیشرفته) ، ارتباط با صفحه کلید ، شبکه بندی چندین میکروکنترلر با هم ، داشتن حافظ های داخلی (E2PROM و SRAM) و ارتباط با حافظه های خارجی، LCD کاراکتری و ...


Only the registered members can see the link
ارتباط میکروکنترلر توسط پورت USB

Only the registered members can see the link


اتصال LCD به میکروکنترلر جهت نمایش


تفاوت میکروپرسسور و میکروکنترلر چیست ؟
میکروکنترلر در اصل همان میکروپرسسور است با این تفاوت که میکروپرسسور ها علاوه بر بخش های محاسبه و منطق واحدهای ذخیره سازی مانند FLASH و SRAM دارند.
کار کردن با میکروپرسسورهای مطرح در حد آماتور بسیار مشکل است چرا که اغلب میکروپرسسورهای قوی SMD هستند و قرار دادن آنها در برد و طراحی برد برای آنها مشکل است.

green_waves
25-01-09, 11:53
در حال حاضر در ایران سه نوع میکروکنترلر مطرح هستند 8051 ، PIC و AVR

8051 ضعیف ترین آنهاست که فقط بخاطر اینکه کسانی که پیش از این کار می کردند با این آشنا هستند، تمایل به یادگیری آن ندارند متاسفانه در دانشگاه ها عموما 8051 و یا Z80 (منقرض شده) آموزش داده می شود.حافظه بسیار اندکی نیز دارند
زبان برنامه نویسی آن اسمبلی و بسیار پیچیده است و سخت است و در چند سال آینده شاهده حذف کامل آن خواهیم بود

PIC به میکروکنترلرهای صنعتی شهرت دارند سرعتی 3 برابر 8051 (با فرکانس کاری یکسان) دارا هستند و انواع و اقسام ماژولها و امکانات اضافی را دارند، بصورت 8 ، 16 و تازگی 32 بیتی عرضه شده اند حافظه آنها از 8 کیلوبایت شروع می شود تا 8مگابایت (که من دیده ام) موجود است.
یک انتخاب بسیار کامل است ولی در ایران زیاد استقبالی از آن دیده نمی شود شاید مشکلتر بودن کار با آن نسبت به AVR و قیمت بالاتر آن علت این موضوع باشد.

AVR آسان ترین و پرکاربردترین میکروکنترلر است. سرعتی معادل 12 برابر 8051 و در بسته های کوچک 8 پین تا 64 پین و بیشتر موجود هستند مشابه PIC تازگی مدل های 32 بیت هم تولید شده است.
قیمت مناسب و سادگی برنامه ریزی و داشتن امکانات فوق العاده باعث شده است که این خانوادگی موفق شود.


برنامه نویسی AVR

َبرای برنامه نویسی AVR از دو نرم افزار Codevision و Bascom استفاده می شود که کمک زیادی به ما در تهیه برنامه می کند در اصل تمام کارهای سخت را انجام می دهد
Codevision از برنامه نویسی با C و Bascom از Basic استفاده می کند به علت قویتر بود C آن را انتخاب می کنیم.
در Codevision مشابه برنامه نویسی C شرط ها و حلقه مانند if , while , for توابع ،آرایه ها و رشته ها ، یونیون ها ، اشاره گرها و ... دیده می شود.

مقایسه برنامه نویسی اسمبلی با C

می خواهیم دو عدد 45 و 25 را با هم جمع کنیم
در اسمبلی

MOV R5,#19H
MOV R6,#2DH
MOV A,#00H
ADD A,R5
ADD A,R6

در Codevision


a=25+45;


برای ارتباط می توانید با ایمیل reza.naeemafar@live.com من تماس داشته باشید