مقدمه: با پيشرفت تكنولوژي در زمينه طراحي كامپيوتر، ارزش و اندازه آنها بشدت كاهش يافت.كامپيوترهاي اوليه به اندازه يك خانه بودند و تنها در اختيار عده بخصوصي از دانشمندان قرار داشتند. اختراع ترانزيستورها و پيشرفت هاي بعدي آن در طراحي، كامپيوتر را در اختيار عموم قرار داد. بتدريج كه نوآوري هاي سخت افزار محدوديت يافت، طراحان بدنبال تكنيك هاي جديد سعي در اصلاح عملكرد كامپيوترها نمودند .
بخش عملياتي هر كامپيوتر شامل سه قسمت است :
واحد پردازش مركزي
حافظه
وسايل ورودي و خروجي
نقش واحد پردازش اجراي (پردازش) اطلاعات ذخيره شده در حافظه است. عمل وسايل ورودي و خروجي همچون صفحه كليد، نمايشگر تصوير، تهيه مفاهيم ارتباط و محاوره با
واحد پردازشگر است.در سيستم هاي كامپيوتريدو نوع حافظه اصلي وجود دارد :
1-RAM: كه براي ذخيره موقت برنامه ها و داده هاست .
2-ROM: كه براي ذخيره سازي دائمي برنامه ها و داده هاي است كه كامپيوتر براي كار خود استفاده مي كند .
وسايل جانبي مانند وسايل ورودي/خروجي به پردازشگر اجازه مي دهند تا با انسان يا ديگر كامپيوترها تبادل اطلاعات نمايد .
سيستمي كه از ميكروپروسسور همه منظوره استفاده مي كند بايد در خارج از آن RAM,ROM و درگاههای ورودي/خروجي و تايمر ها را اضافه نمايد تا سيستمي كارآمد بوجود آيد. گرچه افزايش RAM,ROM و درگاههايورودي/خروجي موجب حجيم شدن و گرانتر شدن سيستم ها مي گردد، ولي به قابليت انعطاف آنها افزوده مي شود . از جمله اينكه طراح مي تواند روي مقدار RAM,ROM و درگاههاي ورودي /خروجي بر حسب نوع كاربرد تصميم گيري و اعمال نظر نمايد .
اما يك ميكرو كنترلر داراي يك پردازشگر به همراه مقدار ثابتي از RAM ,ROM ، درگاههايورودي/خروجي و تايمر در درون خود مي باشد .
ميكرو كنترلر در واقع يك ريز پردازندة تك تراشه ای است كه شامل حافظة داده ،حافظه برنامه، ورودي و خروجي سريال و موازي، تايمرها، وقفه هاي بيروني و داخلي مي باشد كه تمام آنها روي يك تراشة واحد مجتمع شده اند .
بنابر اين طراح نمي تواند يك حافظه ، ورودي،خروجي يا تايمري را بدون گسترش لازم آن از بيرون اضافه كند.مقدار ثابت ROM,RAM و مقدار درگاههاي ثابت در ميكرو كنترلرها آنها را براي كاربردهايي كه قيمت و محفظه در آنها بحراني است ايده آل كرده است.بيش از 34 درصد ميكرو كنترلها در اتوماسيون اداري نظير چاپگر ليزري ، دستگاههاي نمابر ، تلفنهاي هوشمند، و نظاير آنها به كار برده مي شوند. بيش از يك سوم ميكرو كنترلرها در لوازم خانگي الكترونيكي به كار برده شده اند. در اين دسته بندي توليداتي نظير cd player ، تجهيزات صوتي ، بازيهاي ويدويي ، ماشين لباسشويي ، دستگاهاي پخت و پز (مايكرو فر ) و نظاير آنها قرار دارند .
بازار تجهيزات مخابراتي ، ادوات نظامي و تجهيزات مربوط به اتومبيل ها بخش باقيمانده از سهم كاربرد ميكرو كنترلرها را به خود اختصاص داده اند .
ميكرو كنترلرها به طور معمول با استفاده از زبان اسمبلي مربوطه، برنامه ريزيمي شده اند. ميكرو كنترلرها ي ساخت توليد كنندگان مختلف ، زبانهاي اسمبلي متفاوتي دارند. زبان اسمبلي شامل عبارتهاي كوتاهي براي دستورالعمل ها است. معمولاً به خاطر سپردن اين عبارتها مشكل است و نيز برنامه هاي تهيه شده براي يك ميكرو كنترلر براي ساير انواع ديگر ميكرو كنترلرها قابل استفاده نمي باشد.سختي كار با زبان اسمبلي به خصوص در پياده سازي پروژه هاي پيچيده ، متداولترين شكايتي است كه در رابطه با برنامه ريزي ميكرو كنترلرها مطرح مي شود. راه حل اين مسئله ، استفاده از زبانهاي سطح بالا مي باشد. با اين كار عمليات برنامه نويسي ساده تر گشته ، برنامه خونا تر و انعطاف پذير تر شده و پشتيباني از آن نيز ساده تر مي گردد. براي اغلب ميكرو كنترلرها ، كامپايلرهاي C و BASIC متفاوتي موجود مي باشد.كامپايلرهاي BASIC معمولاً به صورت مفسر بوده و كدهاي حاصل از آنها كند مي باشند .
يكي ديگر از معايب زبان بيسيك اين است كه اغلب كامپايلرهاي بيسيك ساختيافته نيستند در نتيجه برنامه سازي با آن كار دشواري مي باشد. با اين وجود در اين پروژه مختصري راجع به برنامه نويسي با زبان C و بيسيك توضيح داده مي شود ولي اساس كار را بر روي برنامه نويسي اسمبلي قرار مي دهيم. و باتوجه به اينكه مطالب كمي راجع به برنامه نويسي ميكروكنترلرها به زبان C و بيسيك مي باشد اميدواريم كه براي خوانندگان مفيد واقع گردد. در اينجا يكي از كامپايلرهاي حرفه اي C با تمام قابليتهاي أن جهت برنامه ريزي ميكرو كنترلر معرفي مي گردد كه در اين مبحث برنامه نويسي C را اختصاص به ميكرو كنترلرهاي خانواده 8051 داده شده است.همچنين مختصري راجع به برنامه نويسي بيسيك براي ميكرو كنترلرهاي سري PIC توضيح داده خواهد شد.اين تراشه ساخت شركت Microchip Technology مي باشد.مجموعه ميكرو كنترلرهاي ساخت اين شركت با نام PIC سر نام كلمات Programmable Interface Controller مي باشد.زبان بيسيكي كه براي اين ميكرو كنترلر درنظر گرفته شده است كامپايلر PIC BASIC مي باشد.در پايان اقدام به طراحي و ساخت يك پروژه عملي همراه با توضيحاتي در مورد برنامه نويسي به زبان اسمبلي با استفاده از ميكرو كنترلر AT89C51 ساخت شركت ATMEL مي نماييم .اين پروژه درمورد ساخت يك سيستم كنترل اجاق گاز مايكرو ويو مي باشد. البته نمي توان گفت كه اين دستگاه مي تواند مورد استفاده عملي گردد و در مقايسه با اجاقهاي مايكرو ويو پيشرفته اي كه در بازار موجود مي باشد قابليتهاي بسياري دارند، بسيار ساده مي باشد ولي مي تواند ايده كلي به ما دهد .