بخشی از مقاله
کامپیوتر
گرچه كامپيوترهاي تنها چند دههاي است كه با ما همراهند با اين حال تأثير عميق آنها بر زندگي ما به تأثير تلفن، اتومبيل و تلويزيون رقابت ميكند. همگي ما حضور آنها را احساس ميكنيم چه برنامهنويسان كامپيوتر و چه دريافت كنندگان صورت حسابهاي ماهيانه كه توسط سيستمهاي كامپيوتري بزرگ چاپ شده و توسط پست تحويل داده ميشود. تصور ما از كامپيوتر معمولاً «دادهپردازي» است كه محاسبات عددي را بطور خستگي ناپذيري انجام ميدهد.
ما با انواع گوناگوني از كامپيوترها برخورد ميكنيم كه وظايفشان را زيركانه و بطرزي آرام، كارا و حتي فروتنانه انجام ميدهند و حتي حضور انها اغلب احساس نميشود. ما كامپيوترها را به عنوان جزء مركزي بسياري از فرآوردههاي صنعتي و مصرفي از جمله در سوپر ماركتا داخل صندوقهاي پول و ترازوها، در خانهها، در اجاقها، ماشينهاي لباسشوئي، ساعتهاي اداري داراي سيستم جز دهنده و ترموستاتها، در وسايل سرگرمي همچون اسباب بازيها، 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 و مقدار پورتهاي تثبيت شده در ميكروكنترلرها، آنها را براي كاربردهائي كه قيمت و محفظه در آنها بحراني است، ايدهآل كرده است.
مقايسة سيستم ميكرو پروسسور و ميكرو كنترلر:
الف) ميكرو پروسسور ميكروكنترلر: ب) ميكروكنترلر
گذرگاه آدرس
ميكرو كنترلها و سيستمهاي تك منظوره:
در مقالاتي كه ميكرو پروسسورها مطرح ميشوند، اغلب عبارت سيستم تك منظوره را ملاحظه ميكنيم. ميكرو پروسسورها و ميكروكنترلرها بطور گستردهاي در توليد سيستمهاي تك منظوره بكار ميروند. يك محصول تك منظوره از يك ميكروپروسسور (يا ميكرو كنترلر) براي انجام فقط و فقط يك كار استفاده ميكند. يك چاپگر نمونهاي از يك سيستم تك منظوره است. زيرا پروسسور داخل آن فقط يك كار را انجام ميدهد و آن اين است كه داده را بدست آورده و آن را چاپ كند.
اين كار را با يك PC مبتني بر پنتيوم (مانند هر PC سازگار با x86 IBM) مقايسه نماييد. PC ميتواند براي هر كاربردي مانند پردازشگرهاي كلمات، مراكز چاپ، پايانه، ليستهاي بانك، بازيهاي ويدئويي، سرويسدهندة شبكه و پايانه اينترنت مورد استفاده قرار گيرد، براي انواع كاربردها ميتوان به راحتي برنامه را در PC بار كرده و آن را اجرا كرد. البته دليل قابليت اجراي كارهاي متنوع در PC،اين است كه داراي حافظه RAM و سيستم عاملي است كه نرم افزار كاربردي را در RAM بار كرده و اجازه اجراي آن را به PC ميدهد.
در يك سيستم تك منظوره، تنها يك نرم افزار كاربردي وجود دارد و معمولاً در ROM سوزانده ميشود. يكPC x86 ممكن است به وسايل تك منظورهاي مانند صفحه كليد، چاپگر، مودم، كنترلگر ديسك، كارت صدا، راه انداز CD-Rom، ماوس و غيره متصل باشد. هر يك از اين وسايل جانبي در داخل خود داراي يك ميكروكنترلر براي انجام كار خاص ميباشند. مثلاً در داخل هر ماوس يك ميكرو كنترلر وجود دارد كه وظيفهاش يافتن مكان ماوس و ارسال آنها به PC است. جدول زير بعضي از محصولات تك منظوره را نشان ميدهد.
منزل خودكار
لوازم خانگي كامپيوتر
ارتباطات دروني كنترل موتور
تلفن كيسه هوا
دزدگير وسايل اندازهگيري
منشي تلفن سيستم حفاظتي
ماشينهاي خياطي كنترل انتقال
ورود بدون كليد
اداري
فاكس
مايكروويو
دستگاه فتوكپي
چاپگر ليزري
چاپگر رنگي
احضار از بلندگو
انتخاب يك ميكروكنترلر
چهار نوع ميكروكنترلر 8بيت مهم وجود دارد كه عبارتند زا:
6811 ازموتورولا 8051- ازاينتل Z8- از زايكوگ PIC 16x از شركت ميكروچيپ تكنولوژي هر يك از ميكرو كنترلرهاي فوق مجموعة دستورات و مجموعه ثباتهاي خاص خود را دارد، بنابراين با يكديگر سازگار نيستند. برنامهاي كه بر روي يك ازآنها نوشته شود، بر روي ديگري قابل اجرا نيست. ميكروكنترلرهاي 16 و 32 بيتي هم وجود دارند كه به وسيلة سازندگان مختلف ساخته شدهاند. با اين تنوع در ميكرو كنترلرها، طراح بايد كداميك را انتخاب كند؟
سه روش براي اين انتخاب در زير تشريح شده است:
(1) برآورده كردن نيازهاي محاسبات كار بطور موثر و مقرون به صرفه.
(2) در دسترس داشتن نرمافزارهاي كمكي مانند كامپايلرها، اسمبلرها و عيب يابها
(3) منابع گسترده و قابل اعتماد براي ميكروكنترلرها
اكنون هر يك از موارد فوق را به تفصيل بررسي ميكنيم:
روش انتخاب ميكروكنترلر:
1-اولين و قديميترين روش انتخاب ميكروكنترلر اين است كه نيازهاي سيستم دقيقاً مشخص و هزينه آن هم مقرون به صرفه باشد. ديگر موارد قابل بررسي عبارتند از:
الف) سرعت. بالاترين سرعتي كه ميكروكنترلر پشتيباني ميكند چيست؟
ب) بستهبندي. آيا بستهبندي از نوع DIP چهل پايه است، از نوع AFP (بستة همسطح) تهيه شده است، و يا در ديگر انواع بستهبندي ارائه شده است؟ بستهبندي به دليل فضاي اشغالي مونتاژ و ساخت نمونة نهايي اهميت خاصي دارد.
پ) توان مصرفي. اين فاكتور خصوصاً براي محصولاتي كه با باطري كار ميكنند، اهميت دارد.
ت) مقدار RAM و ROM در تراشه
ث) تعداد پايههاي I/O و تايمر در تراشه
ج) به چه سادگي به ويرايش بعدي از نظر كارايي و توان مصرفي تبديل ميشود.
چ) قيمت هر عدد. اين فاكتور از نظر قيمت تمام شده ميكروكنترلري كه در توليد بكار رفته، اهميت دارد. مثلاً وقتي كه 100000 واحد خريداري گردد، قيمت هر يك ميتواند حدود 50 سنت باشد.
(2) روش دوم در انتخاب يك ميكروكنترلر اين است كه به چه سادگي ميتوان حول آن امكانات ايجاد كرد.
بررسيهاي كليدي نشان ميدهد كه در دسترس بودن اسمبلر، عيب ياب، كامپايلر C امولاتور (شبيه ساز) پشتيباني فني و متخصصين درون خانهاي و بيروني از نكات قابل توجهند در بسياري از حالات، توليد كنندگان دست دوم، (توليد كنندگاني كه سازنده اوليه نيستند) ميتوانند اگر بهتر از سازنده نباشند، در حد آنها سرويس ارائه كنند.
(3) سومين روش در انتخاب ميكروكنترلر، در دسترس بودن آن بتعداد لازم در حال حاضر و آينده است. براي بعضي از طراحان، اين يكي حتي مهمتر از موارد 1 و 2 است. در حال حاضر، در ميان پيشروان ميكروكنترلرها،خانوادة 8051 بيشترين تعداد توليد كنندة ثانويه را دارد. در اينجام منظور از توليدكننده ثانويه ميكروكنترلر، توليد كنندهاي به جز توليد كنندة اصلي است. در مورد 8051، كه ابتدا به وسيلة Intel ساخته شد، چندين كمپاني ديگر در حال حاضر مشغول توليد آن بوده و يا هستند. از آن جمله: Matra, Simens, AMD, Atmel, Philips/Signetics
بايد متذكر شد كه Motorola و Microchip Technology, Zilog تعداد زيادي شعبات را براي اين منظور انتخاب كردهاند تا توليدات خود را به طور گسترده و به موقع در دسترس قرار دهند زيرا توليدشان با ثبات، در حد كمال و قابليت دسترسي، از يك مركز است. در سالاي اخير آنها نيز شروع به فروش سلول كتابخانه AISC از ميكروكنترلرها كردهاند.
جدول 1-2 بعضي از كمپانيهاي توليد كنندة اعضاي خانواده 8051
Web Site Company
www.intel.com/design/mcs51
Intel
www.atmel.com
Atmel
WWW.Semiconductors.philips.com
Philips/signetics
www.Sci.siemens.com
Siemens
www.dalsemi.com
Dallas Semiconductors
تاريخچة مختصري از 8051:
در سال 1981 شركت اينتل، ميكروكنترلري به نام 8051 را معرفي كرد. اين ميكروكنترلر داراي 128 بايت RAM، 4K بايت ROM، دو تايمر، يك پورت سريال و چهار پورت موازي (هريك 8 بيت) بود كه همة آنها در يك تراش تعبيه شده بودند. زماني به آن «سيستم در يك تراشه» ميگفتند. 8051 يك پروسسور 8 بيت است، يعني CPU هر بار ميتواند فقط روي 8 بيت داده كار كند. دادههاي بزرگتر از 8 بيت بايد به قطعات 8 بيت بشكنند وسپس بوسيلة CPU پردازش شوند. 8051 كلاً داراي چهار پورت I/O با عرض 8 بيت است. شكل (1) را ملاحظه كنيد. گرچه 8051 ميتواند حداكثر 64K حافظه Rom در تراشه داشته باشد، بسياري از سازندگان فقط 4K بايت را در تراشه كار گذاشتهاند.
پس از اينكه اينتل به شرط حفظ سازگاري با 8051، اجازه توليد را به ديگر سازندگان داد، تراشه مذكور بسيار مورد توجه قرار گرفت. اين توافق منجر به توليد انواع 8051 با سرعتهاي متفاوت و مقداري ROM در تراشه به وسيلة نيم دوجين سازنده شد. آنچه اهميت دارد اين است كه گرچه انواع مختلف 8051 با سرعت و مقدار Rom متفاوت در تراشه موجودند ولي همة آنها با 8051 اصلي از نظر دستورات سازگارند. اين بدان معني است اگر شما برنامهاي براي يكي بنويسيد مستقل از سازندة روي ديگري هم قابل اجراست.
ميكروكنترلر 8051
8051 عضو اصلي خانوادة 8051 است. intel آن را MCS-51 مينامد.
جدول 1-3 امكانات اصلي 8051 را نشان ميدهد.
Quantity Feature
4K bytes Rom
128bytes Ram
2 Timer
32 I/O Pins
1 Serial port
6 Interrupt Sources 6
توجه: مقدار Rom در تراشه حجم برنامه را نشان ميدهد.
انواع ميكروكنترلر8051:
گرچه 8051 رايجترين عضو خانوادة 8051 است، ولي شما قادر نخواهيد بود شماره قطعهاي بصورت «8051» ملاحظه كنيد. دليل اين است كه 8051 با حافظههاي متفاوتي چون uv-EPROM، حافظة سريع، NV-RAM در دسترس است كه هر يك شمارة قطعه متفاوتي دارد. نوع UV_EPROM خانوادة 8051، تراشه 8751 است نوع Rom سريع بوسيلة كمپانيهاي متعدد از جملة Atmel راهي بازار شده است. 8051 نوع سريع از Atmel است كه AT89C51 خوانده ميشود. نوع NV-RAM از 8051 بوسيلة Dall as Semiconductor بنام DS500 شناخته ميشود. همچنين نوع OTP (يكبار قابل برنامهريزي) خانوادة OTP بوسيلة سازندگان متعددي توليد شده است. اكنون هر يك از تراشههاي فوق را بطور خلاصه توصيف و كاربرد آنها را بيان ميكنيم.
ميكروكنترلر 8751:
تراشة 8751 فقط 4K بايت حافظة UV-EPROM دروني دارد. هنگام استفاده از اين تراشه در طراحي و پياده سازي به دستگاه برنامهنويسي PROM و پاك كننده براي پاك كردن NV_EPROM در درون 8751 قبل از برنامهنويسي نياز است. با توجه به اين نكته كه Rom درون اين تراشه از نوع NV-EPROM است، حدود 20 دقيقه براي پاك كردن آن وقت لازم است تا بتوان بعد از عمل برنامه نويسي را انجام داد.
اين مسأله موجب شد تا بسياري از توليدكنندگان انواع سريع و NV-RAM نوع 8051 را كه در زير بحث شده، بكار ببرند. همچنين انواع سريع 8751 نيز توسط تعدادي از توليدكنندگان ساخته شده است.
AT89C51 از شركت Atmel:
اين تراشه 8051 رايج داراي Rom سريع ميباشد، در طراحيهاي سريع اين نوع حافظه ايدهآل است زيرا حافظه سريع ميتواند طي چند ثانيه، در مقايسه 20 دقيقه لازم براي 8751، پاك شود. به اين دليل AT89C51 بجاي 8751 بكار برده شده است تا هنگام پارك كردن تراشه وقتي تلف نشود و بدينوسيله ساخت سيستم سريع گردد. هنگام استفاده از AT89C51 براي ساخت سيستمهاي مبتني بر ميكروكنترلر به سوزاننده يا برنامهريز Rom سريع نياز داريم، با اين وجود به پاك كننده Rom نيازي نيست.
توجه داشته باشيد كه در حافظه سريع بايد تمام حافظه پاك شود تا بتوان مجدداً آن را برنامهنويسي كرد. پاك كردن حافظه سريع با خود سوزاننده صورت ميگيرد و به اين دليل پاك كننده جداگانهاي لازم نميباشد براي حذف سوزاننده Atmel,PRom روي نوعي از AT89C51 كار ميكند كه ميتواند از طريق پورت سريال COM يك IBM PC برنامهريزي شود.