مقدمه:
گرچه کامپیوترهای تنها چند دههای است که با ما همراهند با این حال تأثیر عمیق آنها بر زندگی ما به تأثیر تلفن، اتومبیل و تلویزیون رقابت میکند. همگی ما حضور آنها را احساس میکنیم چه برنامهنویسان کامپیوتر و چه دریافت کنندگان صورت حسابهای ماهیانه که توسط سیستم های کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده میشود. تصور ما از کامپیوتر معمولاً «داده پردازی» است که محاسبات عددی را بطور خستگی ناپذیری انجام میدهد.
ما با انواع گوناگونی از کامپیوترها برخورد میکنیم که وظایفشان را زیرکانه و بطرزی آرام، کارا و حتی فروتنانه انجام میدهند و حتی حضور انها اغلب احساس نمیشود. ما کامپیوترها را به عنوان جزء مرکزی بسیاری از فرآوردههای صنعتی و مصرفی از جمله در سوپر مارکتا داخل صندوقهای پول و ترازوها، در خانهها، در اجاقها، ماشینهای لباسشوئی، ساعتهای اداری دارای سیستم جز دهنده و ترموستاتها، در وسایل سرگرمی همچون اسباب بازیها، VCRها، تجهیزات استریو و وسایل صوتی؛ در محل کار در ماشینهای تایپ و فتوکپی و در تجهیزات صنعتی مثل متههای فشاری و دستگاههای حروفچینی نوری مییابیم. د این مجموعهها کامپیوترها وظیفه کنترل را در ارتباط با دنیای واقعی برای روشن و خاموش کردن وسایل و نظارت بر وضعیت آنها انجام میدهند.
میکروکنترلرها (بر خلاف میکرو کامپیوترها و ریزپردازنده ها) اغلب در چنین کاربردهایی یافت میشوند.
با وجود اینکه بیش از بیست سال از تولد ریزپردازنده نمیگذرد تصور وسایل الکترونیکی و اسباب بازیهای امروزی بدون آن کار مشکل است. در سال 1971 شرکت اینتل 8080 رابه عنوان اولین ریزپردازنده موفق عرضه کرد. مدت کوتاهی پس از آن موتورلا، RCA و سپس Mos Technology و Zilog انواع مشابهی را به ترتیب به نامهای 6800، 1801، 6502، 80Z عرضه کردند گرچه این مودارهای مجتمع به خودی خود فایده چندانی نداشتند اما به عنوان بخشی از یک کامپیوتر تک بورد (SBC) به جزء مرکزی فرآوردههای مفیدی برای آموزش طراحی با ریزپردازندهها تبدیل شدند. از این SBCها که به سرعت به آزمایشگاههای طراحی در کالجها، دانشگاهها و شرکتیهای الکترونیک راه پیدا کردند میتوان برای نمونه از D2 موتورولا KIM-1 ساخت Mos Technology و 85-SDK متعلق به شرکت اینتل نام برد.
میکروکنترلر ها قطعهای شبیه به ریزپردازنده است در سال 1976 اینتل 8748 را به عنوان اولین قطعه خانواده میکروکنترلرهای TM 48-MCS معرفی کرد. 8748 با 17000ترانزیستور در یک مدار مجتمع شامل یک CPU، 1کیلو بایتی EPROM، 64بایت RAM، 27 پایه I/O و یک تایمر 8بیتی بود. این IC و دیگر اعضای TM 48-MCS که پس از آن آمدند خیلی زود به استاندارد صنعتی در کاربردهای کنترل گرا تبدیل شدند. جایگزین کردن اجزاء الکترو مکانیکی در فرآوردههایی مثل ماشینهای لباسشویی و چراغهای راهنمایی از ابتدای کار یک کاربرد مورد توجه برای این میکرو کنترلرها بودند و همین طور باقی ماندند. دیگر فرآوردههایی که در آنها میتوان میکروکنترلر را یافت عبارتند از اتومبیلها تجهیزات صنعتی، وسیال سرگرمی و ابزارهای جانبی کامپیوتر.
توان ابعاد و پیچیدگی میکروکنترلرها با اعلام ساخت 8051، یعنی اولین عنصر خانواده میکرو کنترلرای TM51-MCS در سال 1980 توسط اینتل پیشرفت چشمگیری کرد. در مقایسه با 8048 این قطعه شامل بیش از 60000ترانزیستور، 4k بایت Rom، 128 بایت RAM، 32 خط I/O یک درگاه سریال و دو تایمر 16 بیتی است. که از لحاظ مدارات داخلی برای یک IC بسیار قابل ملاحظه است. امروزه انواع گوناگونی از این IC وجود دارد که بصورت مجازی این مشخصات را دو برابر کردهاند. شرکت زیمنس که دومین تولید کننده قطعات است (TM 51-MCS)، 80515SAB وقفه و یکی مبدل آنالوگ به دیجیتال با 8 کانال ورودی عرضه کرده است.
خانواده 8051 به عنوان یکی از جامع ترین و قدرتمندترین میکروکنترلرهای 8 بیتی شناخته شده و جایگاهش را به عنوان یک میکروکنترلر مهم برای سالهای آینده یافته است.
این بخش با بحثی در مورد نقش و اهمیت میکروکنترلرها در زندگی روزمره و نیاز به میکروکنترلرها و مقایسه آنها با میکرو پروسسورهای همه منظورهای چون پنتیوم و دیگر میکرو پروسسورها آغاز شده است.
میکروکنترلرها در برابر میکرو پروسسور های همه منظوره
تفاوت بین یک میکرو پروسسور و یک میکروکنترلر چیست؟ منظور از یک میکروپروسسور ریز پردازنده میکروی پروسسورهایی از خانواده x86 اینتل مثل 8036,80286,8086 و یا 68040,68030,68020خانوادههائی از این قبیل است این میکروپروسسورها فاقد RAM و پورتهای ROM در درون خود تراشه هستند. به این دلیل به آنها «میکروپروسسورهای همه منظوره» میگویند.
طراح سیستمی که از میکرو پروسسور همه منظورهای چون پنتیوم، 68040 استفاده میکند، باید در خارج از آن RAm ROM,پورتهای I/O و تایمرها را اضافه نماید تا سیستمی قابل کار ساخت شود. اگرچه افزایش RAM Rom, پورتهای I/O موجب حجیم شدن و گرانتر شدن سیستمها میگردد، ولی به قابلیت انعطاف آنها افزوده میشود از جمله اینکه طراح میتواند روی مقدار ROM, ROM پورتهای I/O بر حسب نوع کاربرد تصمیمگیری و اعمال نظر نماید. این توانمندی در میکروکنترلرها امکان پذیر نیست. یک میکروکنترلر دارای یک CPU به همراه مقدار ثابتی از ROM,RAM پورتهای I/O و تامیر در درون خود میباشد. به بیان دیگر، پروسسور، ROM,RAM، پورتهای I/O و تایمر همگی در یک تراشه جای داده شدهاند، بنابراین طراح نمیتواند یک حافظه، I/O یا تایمری را بدون گسترش لازم آن از بیرون اضافه کند. مقدار ثابت RAM,ROM و مقدار پورتهای تثبیت شده در میکروکنترلرها، آنها را برای کاربردهائی که قیمت و محفظه در آنها بحرانی است، ایدهآل کرده است.