بخشی از مقاله

کامپیوتر

گرچه كامپيوترهاي تنها چند دهه‎اي است كه با ما همراهند با اين حال تأثير عميق آنها بر زندگي ما به تأثير تلفن، اتومبيل و تلويزيون رقابت مي‎كند. همگي ما حضور آنها را احساس مي‎‏كنيم چه برنامه‎نويسان كامپيوتر و چه دريافت كنندگان صورت حسابهاي ماهيانه كه توسط سيستمهاي كامپيوتري بزرگ چاپ شده و توسط پست تحويل داده مي‎شود. تصور ما از كامپيوتر معمولاً «داده‎پردازي» است كه محاسبات عددي را بطور خستگي ناپذيري انجام مي‎دهد.


ما با انواع گوناگوني از كامپيوترها برخورد مي‎كنيم كه وظايفشان را زيركانه و بطرزي آرام، كارا و حتي فروتنانه انجام مي‎دهند و حتي حضور انها اغلب احساس نمي‎شود. ما كامپيوترها را به عنوان جزء مركزي بسياري از فرآورده‎هاي صنعتي و مصرفي از جمله در سوپر ماركت‎ا داخل صندوق‎هاي پول و ترازوها، در خانه‎ها، در اجاق‎ها، ماشين‎هاي لباسشوئي، ساعت‎هاي اداري داراي سيستم جز دهنده و ترموستات‎ها، در وسايل سرگرمي همچون اسباب بازي‎ها، 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 برنامه‎ريزي شود.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید