میکروکنترلر رو درواقع می توان یه کامپیوتر کوچولو در قالب یه چیپ برای کنترل وسایل الکترونیکی (در اینجا ربات) تلقی کرد. تفاوت میکروکنترلر با میکروپروسسور در اینه که میکروکنترلر دارای یک CPU ٫مقدار محدودی RAM ٬ ROM ٬ پورت های I/O و تایمر در درون خود می باشد در صورتی که میکروپروسسور فقط یه CPU هست و شما باید RAM, ROM ,... رو به صورت اجزای جانبی به اون متصل کنید (درست مثل CPU کامپیوتر). برای همین میکروکنترلرها تک منظوره ولی میکروپروسسورها همه منظوره هستند. با این تفاسیر میکروکنترلرها دارای کارایی های خاص خودشون مثلا در ماشین لباسشویی٬ ماکروویو٬ تلفن و البته ربات هاو... هستند یعنی جایی که استفاده از میکروپروسسور نه از نظر کارایی و نه از نظر اقتصادی عقلانیه
مقاله: راجع به میکروکنترل ها
سیر تکاملی میکرو کنترلرها: اولین میکرو کنترلرها در اواسط دهه 1970 ساخته شدند. این میکرو کنترلرها در ابتدا پردازنده های ماشین حساب بودند که دارای حافظه برنامه کوچکی از نوع ROM ، حافظه داده از نوع RAM و تعدادی درگاه ورودی/خروجی بودند. با توسعه فناوری سیلیکون ، میکرو کنترلرهای 8 بیتی قویتری ساخته شدند. در این میکرو کنترلرها علاوه بر بهینه شدن دستورالعمل ها، تایمر/شمارنده روی تراشه، امکانات وقفه و کنترل بهینه شده خطوطI/O نیز به آنها اضافه شده است. حافظه موجود بر روی تراشه هنوز هم محدود می باشد و دربسیاری موارد کافی نیست.یکی از پیشرفتهای قابل توجه در آن زمان، قابلیت استفاده از حافظه EPROM قابل پاک شدن با اشعه ماورا بنفش، روی تراشه بود. این قابلیت، زمان طراحی و پیاده سازی محصول را بطور محسوسی کاهش داد و نیز برای اولین بار امکان استفاده از میکرو کنترلر ها را در کاربردهایی که حجم تولید پایینی دارند، فراهم ساخت.
خانواده8051 در اوایل دهه 1980 توسط شرکت اینتل معرفی گردید. از آن زمان تاکنون8051 یکی از محبوبترین میکرو کنترلرها بوده و بسیاری از شرکتها دیگر نیز به تولید آن اقدام کرده اند. در حال حاضر مدل های مختلفی از 8051 وجود دارد که در بسیاری از آنها امکاناتی نظیر مبدل آنالوگ به دیجیتال حجم نسبتاً بزرگ از حافظه برنامه و حافظه داده، مدولاتور عرض پالس (PWM) در خروجیها و حافظه فلشFlash)) که امکان پاک کردن و برنامه ریزی مجدد آن توسط سیگنالهای الکتریکی وجود دارد، تعبیه شده است.
میکرو کنترلرها اکنون به سمت 16 بیتی شدن در حرکت هستند. میکرو کنترلر های 16 بیتی، پردازنده هایی با کارایی بالا (نظیر پردازش سیگنال های دیجیتال ) می باشند که در کنترل فرایندهای بلادرنگ و در مواردی که حجم زیادی از عملیات محاسباتی مورد نیاز است، به کار برده می شوند.
بسیاری از میکرو کنترلرهای 16 بیتی، امکاناتی نظیر حجم زیاد حافظه برنامه و حافظه داده، مبدل های آنالوگ به دیجیتال چند کانالی، تعداد زیادی درگاه I/O، چندین درگاه سریال، عملکردهای بسیار سریع ریاضی و منطقی و مجموعه دستورالعمل های بسیار قدرتمند با قابلیت پردازش سیگنال را دارا می باشند.
معماری داخلی میکرو کنترلر ها
ساده ترین معماری میکرو کنترلر، متشکل از یک ریز پردازنده، حافظه و درگاه ورودی/خروجی است. ریز پردازنده نیز متشکل از واحد پردازش مرکزی (CPU) و واحد کنترل (CU) است.
CPU درواقع مغز یک ریز پردازنده است و محلی است که در آنجا تمام عملیات ریاضی و منطقی ،انجام می شود. واحد کنترل ، عملیات داخلی ریز پردازنده را کنترل می کند و سیگنال های کنترلی را به سایر بخشهای ریز پردازنده ارسال می کند تا دستورالعمل ها ی مورد نظر انجام شوند.
حافظه بخش خیلی مهم از یک سیستم میکرو کامپیوتری است. ما می توانیم بر اساس به کارگیری حافظه، آن را به دو گروه دسته بندی کنیم: حافظه برنامه و حافظه داده . حافظه برنامه ، تمام کد برنامه را ذخیره می کند. این حافظه معمولاً از نوع حافظه فقط خواندنی (ROM) می باشد. انواع دیگری از حافظه ها نظیر EPROM و حافظه های فلش EEPROM برای کاربردهایی که حجم تولید پایینی دارند و همچنین هنگام پیاده سازی برنامه به کار می روند . حافظه داده از نوع حافظه خواندن / نوشتن (RAM) می باشد . در کاربردهای پیچیده که به حجم بالایی از حافظه RAM نیاز داریم ، امکان اضافه کردن تراشه های حافظه بیرونی به اغلب میکرو کنترلر ها وجود دارد.
درگاه ها ورودی / خروجی (I/O )به سیگنال های دیجیتال بیرونی امکان می دهند که با میکرو کنترلر ارتباط پیدا کند. درگاههای I/O معمولاً به صورت گروههای 8 بیتی دسته بندی می شوند و به هر گروه نیز نام خاصی اطلاق می شود. به عنوان مثال ، میکروکنترلر 8051 دارای 4 درگاه ورودی / خروجی 8 بیت می باشد که P3, P2, P1, P0 نامیده می شوند. در تعدادی از میکرو کنترلر ها ، جهت خطوط درگاه I/O قابل برنامه ریزی می باشد. لذا بیت های مختلف یک درگاه را می توان به صورت ورودی یا خروجی برنامه ریزی نمود. در برخی دیگر از میکروکنترلرها (از جمله میکروکنترلرهای 8051) درگاههای I/O به صورت دو طرفه می باشند. هر خط از درگاه I/O این گونه میکرو کنترلرها را می توان به صورت ورودی و یا خروجی مورد استفاده قرار داد . معمولاً ، این گونه خطوط خروجی ، به همراه مقاومتهای بالا کش بیرونی به کار برده می شوند.
خانواده 8051
خانواده 8051 یک خانواده میکرو کامپیوتر (میکرو کنترلر ) 8 بیتی تک تراشه ای استاندارد است که بسیار محبوب و عامه پسند می باشد و توسط سازندگان مختلف با قابلیت های متفاوت تولید می گردد. این آی سی استاندارد اصلی که اولین عضو این خانواده می باشد، 8051 است که یک میکرو کنترلر 40 پایه می باشد.
هم اکنون این آی سی با پیکربندی های مختلف موجود می باشد. 80C51 نوع cmos و کم مصرف این خانواده است. 8751 دارای حافظه برنامه از نوع EPROM است که عمدتاً در هنگام پیاده سازی به کار برده می شود.
89c51 نیز دارای حافظه فلش قابل برنامه ریزی و پاک شدن (PEROM) است لذا بدون نیاز به پاک کردن با اشعه ماورابنفش ، می توان حافظه برنامه را برنامه ریزی کرد.8052 عضو بهینه شده این خانواده می باشد و حافظه RAM آن بیشتر بوده و تعداد تایمر/شمارنده آن نیز بیشتر است. انواع مختلفی از خانواده 40 پایه وجود دارد که دارای مبدل های آنالوگ به دیجیتال ، مدولاتورهای عرض پالس و نظایر آن هستند. در بخش پایین خانواده 8051 ، میکرو کنترلر های 20 پایه قرار دارند که از لحاظ کد ، سازگاری کاملی با انواع 40 پایه دارند و این ادوات 20 پایه برای کاربردهایی با پیچیدگی کمتر که نیاز به خطوط I/O کمتری دارند و نیز برای کاربردهایی که باید مصرف توان کمتری داشته باشند (مثل سیستم های قابل حمل)،ساخته شده اند.
آی سی های AT89C2051 و AT89C1051 (ساخت شرکت Atmel)چنین میکرو کنترلرهایی هستند که از لحاظ کد سازگاری کاملی با خانواده 8051 دارند و مصرف توان آنها نیز کمتر است.
معرفی میکروکنترلرها:
به آی سی هایی که قابل برنامه ریزی می باشد و عملکرد آنها از قبلتعیین شده میکروکنترلرگویند میکرو کنترل ها دارای ورودی - خروجی و قدرت پردازش میباشد.
بخشهای مختلفمیکروکنترلر:
میکروکنترلر ها از بخشهای زیر تشکیل شده اند:
Cpu واحد پردازش
Alu واحد محاسبات
I/O ورودی ها و خروجیها
Ram حافظه اصلی میکرو
Rom حافظه ای که برنامه روی آن ذخیره میگردد
Timer برای کنترل زمان ها
و . . .
خانواده های معروف میکروکنترلر:
خانواده Pic - AVR - 8051
میکروکنترلر چگونه برنامه ریزی میشود:
میکروکنترلرها دارای کامپایلر های خاصی می باشد که با زبان های Assembly basic, c می توان برای آنهابرنامه نوشت سپس برنامه نوشته شده را توسط دستگاهی به نام programmer که در ایندستگاه ای سی قرار می گیرد و توسط یک کابل به یکی از در گاه های کامپیوتر وصل میشود برنامه نوشته شده روی آی سی انتقال پیدا میکند و در Rom ذخیره می شود.
با میکروکنترلر چه کارهایی میتوان انجام داد:
این آی سی ها حکم یک کامپیوتر در ابعاد کوچک وقدرت کمتر را دارند بیشتر این آی سی ها برای کنترل و تصمیم گیری استفاده می شود چونطبق الگوریتم برنامه ی آن عمل می کند این آی سی ها برای کنترل ربات ها تا استفادهدر کارخانه صنعتی کار برد دارد.