Majid OC (26-01-09)
من قصد دارم در این تاپیک در زمینه میکروکنترلر AVR به طور ساده و طرز کار با آن را شروع کنم و برنامه ها آنها را نیز قرار دهم
برای مثال من در شهرسخت افزار یک مقاله ترجمه شده دیدم که چگونه می توان سه سرعت متفاوت بصورت دستی برای فن های تعیین کرد در ادامه برنامه و مداری هوشمند برای تعیین دورفن ها بر اساس دما قرار خواهم داد
آخرین ویرایش توسط green_waves در تاریخ 25-01-09 انجام شده است
Majid OC (26-01-09)
در ابتدا می خواهم بپردازم که چرا میکروکنترلر ؟
میکروکنترلر چیست و با یادگیری آن چه نیازهایی از ما بر طرف می شود ؟
میکروکنترلر یک کامپیوتری کوچک شده قابل برنامه ریزی است که قابلیت های مثل تایمر (در چندین حالت متفاوت)، مقایسه کننده آنالوگ، مبدل آنالوگ به دیجیتال، ارتباط از طریق سریال RS232 RS458 ، USB ، ارتباط SPI (مانند ارتباط با کارت های حافظهSD و ماژول های پیشرفته) ، ارتباط با صفحه کلید ، شبکه بندی چندین میکروکنترلر با هم ، داشتن حافظ های داخلی (E2PROM و SRAM) و ارتباط با حافظه های خارجی، LCD کاراکتری و ...
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
ارتباط میکروکنترلر توسط پورت USB
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
اتصال LCD به میکروکنترلر جهت نمایش
تفاوت میکروپرسسور و میکروکنترلر چیست ؟
میکروکنترلر در اصل همان میکروپرسسور است با این تفاوت که میکروپرسسور ها علاوه بر بخش های محاسبه و منطق واحدهای ذخیره سازی مانند FLASH و SRAM دارند.
کار کردن با میکروپرسسورهای مطرح در حد آماتور بسیار مشکل است چرا که اغلب میکروپرسسورهای قوی SMD هستند و قرار دادن آنها در برد و طراحی برد برای آنها مشکل است.
Majid OC (26-01-09)
در حال حاضر در ایران سه نوع میکروکنترلر مطرح هستند 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
آخرین ویرایش توسط green_waves در تاریخ 25-01-09 انجام شده است
Black_Legion (08-03-09), Majid OC (26-01-09)
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks