میکروکنترلرها

معرفی میکروکنترلرها: به آی سی هایی که قابل برنامه ریزی می باشد و عملکرد آنها از قبل تعیین شده است، «میکروکنترلر»گویند. میکرو کنترل ها دارای ورودی – خروجی و قدرت پردازش می باشد.

کلمه ی میکروکنترلر:

این کلمه از دو کلمه ۱- میکرو ۲- کنترلر تشکیل شده است.

۱- میکرو: می دانید که این یک واحد یونانی است و برابر با ۶-۱۰ متر است. یعنی یک ملیونیوم متر! واحده خیلی کوچکی است ولی واحدهای خیلی کوچکتر از این هم داریم که در الکترونیک مورد استفاده قرار می گیرند.

۲- کنترلر: یعنی کنترل کننده ؛ به تعبیری یعنی “مغز ” البته بدون تفکر. فقط دستوراتی را که به آن داده می شود به نحو احسن انجام می دهد.

حالا چرا این کلمات؟
کلمه ی میکرو به دو منظور استفاده شده است: منظور اول و مهم سرعت عمل میکروکنترلر است کهمیتواند تا یک ملیونیوم ثانیه باشد و دستوارتی که به آن می دهیم با این سرعت انجام بدهد. به همین خاطر واژه میکرو را به آن اختصاص دادند. البته معنی دوم آن شاید کوچکی این قطعه باشد که تا یک ملیونیوم متر کوچک شده است. شاید باور کردنی نباشد ولی در یک تراشه ممکن است بیش از یک ملیون تراتزیستور به کار رفته باشد. این کلمه وقتی اهمیتش کامل می شود که با واژه ی کنترلر عجین بشود تا معنیش کامل شود.

تمام میکروکنترلرها جزء این ۵ قسمت هستند:
۱- ۸۰۵۱
۲- PIC
۳- AVR
۴- ۶۸۱۱
۵- ۸z
البته مدل های ۶۸۱۱ ساخت شرکت موتورلا و۸z ساخت شرکت زایلوگ، در ایران خیلی کم استفاده می شوند و رقابت اصلی بین سه نوع دیگر است.

بخشهای مختلف میکروکنترلر:
میکروکنترلر ها از بخشهای زیر تشکیل شده اند
CPU: واحد پردازش
ALU: واحد محاسبات
I /O: ورودی ها و خروجی ها
Ram: حافظه اصلی میکرو
Rom: حافظه ای که برنامه روی آن ذخیره می گردد
Timer برای کنترل زمان ها
و…

ساختمان داخلی میکروکنترلر:

کامپیوتر دارای یک پردازنده مرکزی به نام CPU است که از کنار هم قرار گرفتن چندین ملیون ترانزیستور تشکیل شده و بر روی اطلاعات، پرداژش انجام میدهد. میکرو کنترلر هم عیناً دارای یک پردازنده ی مرکزی به نام CPU است که دقیقاً کار CPU ی کامپیوتر را انجام می دهد با این تفاوت که قدرت و سرعت پردازشش از CPU کمتر است که به آن میکروپرسسور می گویند. میکروکنترلر علاوه بر CPU دارای حافظه است که ما برنامه ای که به آن می دهیم در آن قرار بگیرد. در کنار حافظه در میکروکنترلرهای امروزی، تایمرها برای تنظیم زمان کانترها برای شمردن کانال های آنالوگ به دیجیتال تشکیل شده و همه ی اینها در یک چیپ قرار گرفته که تکنولوژی جدید آن را داخل یک تراشه به اندازه ی یک سکه قرار داده اند!

کاربرد ها:

میکرو کنترلر ها در طراحی مدارهای کنترلی استفاده می شوند. طراحی مدارهای کنترلی که قبلا با صدها مدار مجتمع پیاده سازی می شد امروزه با یک میکرو کنترلر ساده قابل انجام است.

به عنوان مثال برای کنترل وسایل ورودی و خروجی از یک میکروکنترلر و چند عنصر استفاده می شود.،در صورتی که میکرو پروسسور به عنوان CPU برای پردازش اطلاعات سیستم کامپیوتری بکاربرده می شود.

میكروكنترلر ها بطور گسترده در تولید سیستم های تك منظوره بكار می روند مانند سیستم های حفاظتی و دزدگیر و سیستم های كنترل صنعتی. فاكس. فركانس متر كنترل موتور پله ای و DC. ولت متر و دما سنج یا تلفن..
(سیستم تك منظوره: سیستمی كه از میكروكنترلر یا میكروپروسسور فقط برای یك كار استفاده میگردد )
بیش از ۳۴%میكروكنترلرها در اتوماسیون اداری نظیر چاپگرلیزری , دستگاههای نمابر , تلفنهای هوشمند , ونظایر آنها كاربرد دارد. بیش از یك سوم میكروكنترلرها در لوازم خانگی الكترونیكی به كار برده شده اند. در این دسته بندی تولیداتی نظیر CD PLAYER , تجهیزات صوتی , بازیهای ویدویی , ماسین لبا سشویی, دستگاههای پخت و پز(مایكروفر) و نظایر آنها قرار دارند.بازار تجهیزات مخابراتی ,ادوات نظامی و تجهیزات مربوط به اتومبیل ها بخش باقیمانده از سهم كاربرد میكروكنترلرها را به خود اختصاص داده اند.بطور كلی میتوان كاربرد میكروكنترلر ها را در طراحی مدارهای كنترل و اتوماسیون خلاصه نمود.

مجموعه دستورات:

به علت کاربرد میکروکنترلر ها در کارهای کنترلی، دستورات آنها با دستورات میکروپروسسور ها متفاوت است. دستورات میکرو پروسسور ها برای حجم های بالای پردازش یا قدرت آدرس دهی زیاد و دستورات به صورت ۴بیتی، ۸ بیتی، ۱۶بیتی (یک کلمه ای) و حتی ۳۲بیتی(دوکلمه ای) می باشد. سیستم آدرس دهی در میکروپروسسور دسترسی به عناصر آرایه را آسان می کند.

از طرف دیگر دستورات میکروکنترلر برای کاربردهای ورودی و خروجی مناسب است. معمولاً در کارهای کنترلی، ارتباط ورودی و خروجی به صورت یک بیت است به عنوان مثال یک موتور یا سلونوئید باید روشن یا خاموش شود که با یک یا صفر شدن یک بیت در پورت خروجی میکروکنترلرها عملی می شود. لذا میکروکنترلر ها دستوراتی برای صفر یا یک کردن و همچنین عملیات منطقی مانند عملیاتAND,OR,XOR و …. بر روی بیت دارند. در صورتی که میکروپروسسور ها برای عملیات بر روی واحد بایت(۸بیت) طراحی شده اند.

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

چون سطح تراشه میکرو کنترلر محدود است، لذا دستورات باید به صورت ساده و اکثراً در یک بایت پیاده سازی شوند. لذا دستورات باید حداقل باشند. این موضوع در میکروپروسسور ها با قدرت آدرس دهی بالا، مهم نیست.

مزایای میکرو کنترلر نسبت به مدار های منطقی:
۱- یک میکرو کنترلر را می توان طوری برنامه ریزی کرد که کار چندین گیت منطقی را انجام دهد.
۲- تعداد آی سی هایی که در مدار به کار میرود به حداقل می رسد.
۳- به راحتی می توان برنامه ی میکرو کنترلر را تغییر داد و تا هزاران بار می توان روی میکرو، برنامه های جدید نوشت و یا پاک کرد.
۴- به راحتی می توان از روی یک مدار منطقی کپی کرد و مشابه آن را ساخت ولی در صورتی که از میکرو کنترلر استفاده شود و برنامه ی میکرو را قفل کرد به هیچ عنوان نمی توان از آن کپی گرفت.

پروگرام میکروکنترلر

یک میکروکنترلر برنامه ریزی نشده هیچ کاری نمی تواند انجام بدهد و هیچ کاربردی ندارد در واقع برنامه ی هر میکرو روح و جانی است که در آن دمیده می شود و آن را زنده می کند.
برای برنامه ریزی میکروکنترلر نیاز به دستگاه یا بردی هست به نام پروگرامر که یک پل ارتباطی بین کامپیوتر و میکروکنترلر است. پروگرامر را هم می شود از بازار تهیه کرد و هم می توان ساخت.
البته پروگرامرهای مختلفی در بازار هستنند که متناسب با کاربردشان قیمت های مختلفی دارند. بعضی ها فقط چند مدل را پروگرام می کنند. بعضی از پروگرامر ها همه فن حریفند و تمام میکروکنترلر های ۸۰۵۱,AVBR , PIC , را برنامه ریزی می کنند و به طبع قیمت زیادتری دارند.

بسته آموزشی میکروکنترلرهای PIC