مقدمه :
گر چه کامپیوترها تنها چند دهه است که با ما همراهند .,با این حال تاثیرعمیق آنها بر زندگی ما با تاثیر تلفن , اتومبیل, و تلویزیون رقابت میکند. ما با انواع گوناگونی از کامپیوترها برخورد می کنیم که وظایفشان را زیرکانه و به طرزی آرام, کارا و فروتنانه انجام می دهند و حتی حضور آنها اغلب احساس نمی شود.
ما کامپیوترها را به عنوان جز مرکزی بسیاری از فرآورده های صنعتی و مصرفی از جمله در ماشینهای لباس شویی , ساعتهای اداری سیستم هوشیار, وسایل سرگرمی همچون اسباب بازی, تجهیزات صوتی, ماشینهای تایپ و فتوکپی و تجهیزات صنعتی مانند PLC, CLC و مته های فشاری می یابیم. در این مجموعه ها, کامپیوترها وظیفه کنترل را در ارتباط با دنیای واقعی برای روشن و خاموش کردن وسایل و نظارت بر وضعیت آنها انجام می دهند. میکروکنترلرها بر خلاف میکروکامپیوترها و ریز پردازنده ها, اغلب در چنین کاربردهایی یافت میشوند.
توان, ابعاد و پیچیدگی میکروکنترلرها با اعلام ساخت 8051 یعنی اولین عضو خانواده میکروکنترلرهای Mcs-51 در سال 1980 توسط اینتل پیشرفت چشم گیری کرد. امروزه انواع گوناگونی از IC وجود دارند.
شکل صفحه بعد برای نشان دادن و روشن ساختن تفاوت بین میکروکنترلها و ریزپردازنده ها رسم شده است. در حالی که ریز پردازنده یک CPU ی تک تراشه ای است، میکروکنترلر در یک تراشه واحد شامل CPU و بسیاری از مدارات لازم برای یک سیستم میکروکامپیوتری کامل می باشد. اجزای داخل خط چین در شکل زیر بخش کاملی از اغلب IC های میکروکنترلر می باشند. علاوه بر CPU میکروکنترلرها شامل RAM,ROM یک رابط سریال، یک رابط موازی، تایمر و مدارات زمان بندی وقفه می باشند که همگی در یک IC قرار دارند. البته مقدار RAM روی تراشه حتی به میزان آن در یک سیستم میکروکامپیوتری کوچک هم نمی رسد اما آن طور که خواهیم دید این مساله محدودیتی ایجاد می کند زیرا کاربردهای میکروکنترلر بسیار متفاوت است.
یک ویژگی مهم میکروکنترلر ها، سیستم وقفه موجود در داخل آنهاست. میکروکنترلرها به عنوان ابزارهای کنترل گرا اغلب برای پاسخ بی درنگ به محرکهای خارجی (وقفه ها) مورد استفاده قرار می گیرند.
البته اغلب ریزپردازنده ها می توانند سیستم وقفه قدرتمند را به اجرا بگذارند. اما برای این کار معمولاً نیاز به اجرای خارجی دارند. مدارات روی تراشه یک میکروکنترلر شامل تمام مدارات مورد نیاز برای به کارگیری وقفه ها می باشد.
میکروکنترلها پردازنده هایی اختصاصی هستند. آنها به خودی خود در کامپیوترها به کار نمی روند، بلکه در فرآورده های صنعتی و وسایل مصرفی مورد استفاده قرار می گیرند. استفاده کنندگان این فرآورده ها اغلب از وجود میکروکنترلها کاملاً بی اطلاع هستند. از دید آنها اجزای داخلی وجود دارند اما جزو جزئیات بی اهمیت طراحی به شمار می روند. برای مثال اجاق های مایکروویو، ترموستات های قابل برنامه ریزی، ترازو های الکترونیکی و حتی خودروها را می توانید در نظر بگیرید. قسمت الکترونیکی هر یک از این فرآورده ها عموماً شامل ارتباط میکروکنترلر با کلیدهای فشاری، سوئیچ ها، وسایل هشدار دهنده و لامپ های روی یک تابلو می باشد. در نتیجه به استثناء برخی امکانات اضافی، طرز استفاده آنها با فرآورده های الکترومکانیکی قبلی تفاوتی نکرده است و میکروکنترلر آنها از دید استفاده کنندگان مخفی است.
برخلاف سیستم های کامپیوتری که توسط قابلیت برنامه ریزی و دوباره برنامه ریزی شدن، باز شناخته می شوند، میکروکنترلر ها یک بار برای همیشه وبرای یک کار برنامه ریزی می شوند. این مقایسه به یک تفاوت اساسی در معماری این دو سیستم منجر می شود. سیستم های کامپیوتری نسبت RAM به ROM بالایی دارند و برنامه های کاربران در یک فضای نسبتاً بزرگ RAM اجرا می شود در حالی که روال های ارتباط با سخت افزار در یک فضای کوچک ROM اجرا می گردد. از طرف دیگر میکروکنترلرها نسبت ROM به RAM بالایی دارند، برنامه کنترلی آنها که شاید نسبتاً بزرگ هم باشد در ROM ذخیره می شود، در حالی که RAM فقط برای ذخیره موقت مورد استفاده قرار می گیرد. از آنجا که برنامه کنترلی برای همیشه در ROM ذخیره می شود در مرتبه میان افزار قرار می گیرد، یعنی چیزی بین سخت افزار (مدارهای واقعی) و نرم افزار (برنامه هایی در RAM که هنگام خاموش شدن سیستم پاک می شوند).
تفاوت بین سخت افزار و نرم افزار تا حدی شبیه به تفاوت بین یک صفحه کاغذ (سخت افزار) و کلمات نوشته شده روی آن (نرم افزار) می باشد. میان افزار را می توان به صورت فرمهای استانداردی که برای یک کاربر مشخص طراحی و چاپ شده ا ند در نظر گرفت.
با توجه به مطالب بیان شده (نیاز به یک سیستم مجتمع آموزشی در جهت ارتقاء عملی دانش پژوهان کشور و معرفی میکروکنترلرها و نحوه کنترل سخت افزار به وسیله نرم افزار توسط میکروکنترلر) این سیستم به عنوان یک ساختار آزمایشی در جهت آشنایی دانش پژوهان به عنوان یک پروژه فارق التحصیلی ارائه شد.
میکرو پروسسور 8051
معرفی :
این میکروکنترلر یک آی سی از خانواده Mcs-51 می باشد که توسط شرکت اینتل به بازار عرضه شد. دیگر تولید کننده های آی سی نظیر زیمنس, AMD, فوجیتسو و فیلیپس به عنوان تولید کننده ثانویه, آی سی های این خانواده را تحت مجوز اینتل تولید می کنند. هر میکروکنترلر این خانواده از امکاناتی مناسب همراه با یک سری طراحیهای مشخص برخوردار است.
مشخصات تراشه8051
1 4 کیلو بایت حافظه ROM و 128 بایت حافظه RAM.
2 4 درگاه ورودی / خروجی 8 بیتی
3 2 تایمر/ شمارنده 16 بیتی
4 رابط سریال
5 64KB فضای حافظه خارجی برای کد و 64KB فضای حافظه خارجی برای داده
6 210 مکان بیتی آدرس پذیر در حافظه RAM داخلی
7 توانایی انجام عملیات ضرب و تقسیم در 4 میکروثانیه
حال مطالبی را در مورد مشخصات تراشه 8051 بیان می کنیم.
11) یکی از عمده مشخصات میکروکنترلرها, فضای حافظه ROM داخلی آنها جهت قراردادن یک برنامه کنترلی در درون آنهاست. این تراشه دارای 4KB فضای حافظه ROM داخلی است که با توجه به اندازه حافظه موجود نیاز مبرم بیش از %90 سیستمهای کنترلی را رفع می کند.
21) 32 پایه از 40 پایه تراشه 8051, به عنوان خطوط درگاه ورودی/خروجی هستند.اما تعداد 24 تا از این خطوط دو منظوره هستند. هر یک از این پایه ها به عنوان ورودی/ خروجی یا خط کنترل و یا بخشی ا ز گذرگاه آدرس و یا گذرگاه داده به کار میروند.
در طراحیهای با کمترین مقدار حافظه از این درگاهها به عنوان ورودی/ خروجی همه منظوره استفاده می شود. 8 خط هر درگاه را می توان به عنوان یک بایت در پردازش با دستگاههای موازی از قبیل چاپگرها, مبدلهای دیجیتال به آنالوگ و غیره به کاربرد و یا از هر بیت منحصراً به عنوان رابط دستگاههای تک بیت مانند سوئیچ ها, LED ها, ترانزیستورها, سولئوئیدها, موتورها و بلندگوها استفاده کرد. این چهاردرگاه با نامهای اختصاری P0 تا P3 شناخته می شود.
اشاره ای کوتاه به درگاهها
1 درگاه صفر
درگاهی دو منظوره است که بر روی پایه های 32 تا39 تراشه 8051 قرار گرفته است. این درگاه در طراحی های کوچک به عنوان درگاه همه منظوره ورودی/ خروجی به کار می رود و در طراحیهای بزرگ تر با حافظه های خارجی به عنوان گذرگاه تافته داده و آدرس عمل می نماید.
1 درگاه یک
بر روی پایه های 1 تا8 درگاهی مخصوص ورودی/خروجی است. پایه هایی که به صورت P1.0,P1.1,P1.2,... مشخص شده اند, در موقع لزوم برای ربط دستگاههای خارجی قابل دسترس هستند. هیچ نقش دیگری برای پایه های درگاه یک در نظر گرفته نشده است. لذا پایه های این درگاه فقط برای ربط دستگاههای خارجی به کار می روند. اما در تراشه 8052پایه های p1.1,P1.2 یا به عنوان خطوط ورودی / خروجی و یا به عنوان ورودیهای خارجی به زمان سنج سوم به کار می روند.
1 درگاه دو
(پایه های 21تا28) درگاه دو منظوره ای است که به عنوان درگاه ورودی/خروجی همه منظوره و یا به عنوان پر ارزش ترین بایت آدرس گذرگاه برای طراحی های با حافظه خارجی برنامه یا بیشتر از 256 بایت حافظه خارجی داده به کار می رود.
1 درگاه سه
روی پایه های 10تا 17 نیز دو منظوره است. این پایه ها علاوه بر اینکه برای درگاه ورودی/ خروجی هم منظوره مناسب هستند, برای کاربردی چند منظوره نیز طرح شده اند.
31( یک تایمر از یک سری فلیپ فلاپهای تقسیم کنند، بر دو تشکیل شده است که یک سیگنال ورودی را به عنوان منبع ساعت دریافت کند. عمده کاربرد تایمرها برای شمارش اتفاقات و زمان سنجی می باشد. نمونه کاربردهای تایمر را می توان در سیستمهای متراژ کننده (Shift encoder) مانند دستگاههای متراژ موکت و پارچه, دستگاههای برش سیم و غیره نام برد.
41) اصولاً ارتباط بین پردازنده ها می تواند به دو صورت سریال و موازی باشد که هر یک دارای خواص منحصر به فرد می باشد.
) ارتباط سریال
انتقال اطلاعات به صورت بیت به بیت است.
فاصله بین سیستمهای می تواند حداکثر تا 15 متر (برای این سیستم) باشد.
دقت در آن بیشتر و خطا در آن کمتر است.
هزینه اجرای سیستم به وسیله ارتباط سریال کمتر است.
) ارتباط موازی
انتقال اطلاعات به صورت بایت به بایت می باشد.
فاصله بین سیستمها حداکثر در صورت بافر کردن گذرگاه 5 متر می باشد.
خطا در آن بیشتر است.
هزینه اجرای سیستم به وسیله ارتباط موازی بیشتر است.
باید توجه داشته باشیم که 8051 به راحتی می تواند با یک کامپیوتر Pc و یا یک سیستم کنترلی دیگر در پهنای باند 19200,9600,4800,2400,1200 بیت در ثانیه ارتباط برقرار نماید.
51( با توجه به اینکه نحوه ارتباطات میکروکنترلر با حافظه RAM و ROM خارجی از معماری شرکت اینتل استفاده می کند, 16 پایه از پایه های خود را به درگاه آدرس و داده به صورت مشترک اختصاص داده است.
مهمترین قابلیت این میکروکنترلرها, تفکیک فضای آدرس دهی RAM و ROM و هر کدام به اندازه 64 کیلوبایت می باشد, به طوریکه خانه حافظه ای به آدرس 18FA مربوط به حافظه RAM خارجی, متفاوت می باشد. 8051 این قابلیت را به وسیله دوپایه کنترلی و ارائه می نماید.
61) 8051 شامل 210 مکان بیت آدرس پذیر است که 128 تا از 20H تا 2FH آدرس بایت بوده و مابقی در ثبات های ویژه قرار دارند. قابلیت دستیابی به تک بیت ها توسط نرم افزار یکی از شاخص های مهم و قدرتمند بیشتر میکروکنترلرها است. همچنین درگاه های ورودی/ خروجی 8051 به سادگی توسط رابط نرم افزاری با ورودی و خروجی های تک بیتی بیت آدرس پذیرند.
چند نکته
ô توانا ساز ذخیره برنامه ()
8051 چهار علامت کنترلی مخصوص گذرگاه دارد و علامت در پایه 29 به عنوان علامت کنترل خروجی است. این علامت کنترلی حافظه خارجی برنامه را فعال می کند و معمولاً به پایه توانا ساز خروجی EFROM وصل می شود تا امکان خواندن بایت های برنامه را فراهم نماید.
علامت در طول مکش یک دستورالعمل به سطح پایین می رود و کدهای عمل دودویی برنامه که از EPROM خوانده می شود, برروی گذرگاه داده آمده و در داخل ثبات دستورالعمل 8051 جای می گیرند. هنگام اجرای برنامه از ROM داخلی (8051/805) علامت در حالت بالا (غیرفعال) می ماند.
ô توانا ساز قفل آدرس (ALE)
علامت خروجی توانا ساز قفل آدرس (ALE) در پایه 30 برای کسانی که با ریزپردازنده های 8085, 8088 یا 8086 شرکت اینتل کارکرده باشند آشناست. 8051 نیز به طور مشابه از ALE برای و اتافت گذرگاه داده و آدرس استفاده می کند. وقتی درگاه صفر درحالت دیگرش بکار گرفته شود, یعنی به عنوان گذرگاه داده و بایت پائین گذرگاه آدرس, این علامت ALE است که در نیمه اول چرخه حافظه آدرس را در ثبات خارجی قرار می دهد, سپس خطوط درگاه صفر برای ورودی یا خروجی داده در نیمه دوم چرخه حافظه وقتی که انتقال داده اتفاق می افتد در دسترس هستند
آهنگ پالس علامت ALE یک ششم فرکانس نوسان ساز درون تراشه است که می تواند جهت ساعت همه منظوره برای باقی مانده سیستم بکار رود. اگر پالس ساعت 8051 از کریستال 12MHZ تامین شده باشد علامت ALE در 2MHZ نوسان می کند بجز وقتی که دستور در حال اجرا MOVX باشد که یک پالس ALE حذف می شود. همچنین این پایه برای پالس ورودی برنامه ریزی انواع EPROM دار 8051 بکار برده می شود.