1508 ميكروكنترلر
«مقدمه»
با وجود اينكه بيش از بست سال از تولد ريز پردازنده نمي گذرد،تصور وسايل الكترونيكيي و
اسييباب بازييييار امييروزر بييدو ش كييار م ييك ي اسييت.در 1791 ييريا انيتييل،0808 را بييه
عنوا اولي ريز پردازنده موفي عرهيه كيرد.ميدت كوتيا ي پيز از ش ،موتيور و ، RCAو
سيييييييپز Mostechnologyو Zilogانيييييييواي م يييييييابيي را بيييييييه ترتييييييييب بيييييييه نامييييييييار
0086،1081،2056،08 Zعرهه كردند.گرچه اي مدار ار مجتمع ( )ICبه خيودر خيود
فايده چنداني ندا تند اما به عنوا بخ ي از ييا كيامپيوتر تيا بيورد( )SBCبيه جيزم مركيزر
فرشورده ار مفيدر برار شموزش طراحي با ريز پردازنده ا تبديل دند.تز تيم SBCا كه
به سرعت بيه شزماي يها يار طراحيي در كالا،دان يها يا و يركت يار الكترونييا راه پييدا
كردنييد مييي تييوا بييرار نمونييه از 2 Dموتييورو ،1- KIMسيياخت Mos technologyو
به ركت انتيل نام برد. 58- SDKمتع
ميكروكنترلر قطعه ار بيه به ريز پردازنده است.در 6791 انتيل 8478 را به عنوا اولي
قطعيييييييه خيييييييانوادا ميكروكنترلر يييييييار MCS-48TMمعرفيييييييي كيييييييرد.8478 بيييييييا 00071
ترانزيستور،در يا مدار مجتمع، يامل ييا 1 ،cpuكي وباييت 64 ،EPROMباييت ،RAM
72 پايه I/Oو يا تايمر 8 بيتي بود.اي ICو ديهير اعهيار MCS-48TMكيه پيز از ش
شمدند خي ي زود به يا استاندارد صنعتي در كابرد ار كنترل گرا تبديل دند.جيايهزي كيرد
يار لباس يويي و چيراا يار را نميايي از اجزام الكترومكانيكي در فرشورده ار مثل ما ي
ابتيييدا كار،ييييا كييياربرد ميييورد توجيييه بيييرار ايييي ميكروكنترلر يييا بودنيييد و ميييي طيييور بييياقي
ماندنييد.ديهيير فييرشو رده ييايي كييه در شنيييا مييي تييوا ميكروكنترليير را يافييت عبارتنييد از اتومبيييل
1
ا،تجييزات صنعتي،وسايل سرگرمي و ابزار ار جانبي كامپيوتر (افرادر كه يا IBM PC
دارند كافي است به داخل صفحه ك يد نهاه كنند تا مثالي از يا ميكروكنترلر را در يا طراحي
با كمتري اجزام ممك ببينند)
تييوا ابعيياد و پيچيييدگي ميكروكنترليير بييا اعيي م سيياخت 1508،يعنييي اولييي عهييو خييانوادا
ميكروكنترلر ار MCS-51TMدر 0891 توسط انيتيل پي يرفت چ يمهيرر كيرد.در مقايسيه
8408 اي قطعه امل بيش از 00006 ترانزيستور، 4Kبايت 128 ،ROMبايت ،RAM
23 خط I/Oيا درگاه سلاير و دو تايمر 61 بيتي است.كه از لحاظ مدارات داخ ي بيرار ييا
TCبسيار قابل م حظه است.امروزه انواي گوناگوني از اي ICوجود دارند كه بيه صيورت
بخيارر ايي م خصيات را دو برابير كيرده انيد. يركت زيمينز كيه دوميي تولييد كننيدا قطعييات
MCS-51TMاست 51508 SABرا به عنوا يا 5108 توسعه يافت در يا بسته 68پاييه
بيه ديجيتيال بيا 8 كانيال ورودر با ش درگاه 8 I/Oبيتي،31 منبع وقفيه و ييا مبيدل شنيالو
عرهيييييه كيييييرده اسيييييت.خيييييانوادا 1508 بيييييه عنيييييوا يكيييييي از جيييييامعتري و قدرتمنيييييدتري
ميكروكنترلر ار 8 بيتي ناخته يده و جايهيا ش را بيه عنيوا ييا ميكروكنترلير مييم بيرار
سال ار شينده يافته است.
يا سيستم كامپيوترر يامل ييا واحيد پيردازش مركيزر ( )CPUاسيت كيه از طريي گيذرگاه
شدرز،گذرگاه داده و گيذرگاه كنتيرل بيه حافظي قابل دسيتيابي تصيادفي ( )RAMو حافظيه فقيط
خواندر ( )ROMمتصل مي با د.مدار ار واسطه گيذرگاه يار سيسيتم را بيه وسيايل جيانبي
متصل مي كنند.
واحد پردازش مركزي
،CPUبه عنوا «مغز» سيستم كامپيوترر،تميامي فعالييت يار سيسيتم را اداره كيرده و ميه
2
اسرار شميز بود CPUدر اغ ب ميوارد ناردسيت عم يات رور داده را انجام مي د د.اندي
است زيرا اي ترا ه فقط مجموعه ار از مدار يا منطقي است كه بطور مداوم دو عمل انجيام
مييي د نييد:واكن ييي دسييتورالعمل ييا و اجييرار شنيييا،CPUتوانييايي درا و اجييرار دسييتورالعمل
ار را براساز مجموعه ار از كد ار دورويي دارد كه ريا از ايي كيد ا ن يا د نيدا ييا
عمييل سيياده اسييت.اي ي دسييتورالعمل ييا معمييو حسييابي (جمع،تفري ،هييرب و تقسيييم)،منطقييي
( NOT،OR،ANDو غييييره)انتقيييال دا ده ييييا عم ييييات ان يييعاب سيييتند و ييييا مجموعيييه ار از
كد ايي دروريي با نام مجموعه دستورالعمل ا ن ا داده مي وند.
حافظه نيمه رسانا: RAMوROM
برنامه ا و داده ا در حافظه ذخيره مي وند.حافظه ار كامپيوتر بسيار م وعند و اجيزار
مراه شنيا بسيار و تكنولوژر بطور دائم و پي در پي موانع را برطرف مي كند.بهونه ار كه
اط ي از جديدتري پي رفت ا نياز به مطالع جامع و ميداوم دارد.حافظيه يايي كيه بيه طيور
مستقيم توسط CPUقابل دستيابي مي با ند، ICار (ميدار مجتميع)نيميه رسيانايي سيتند كيه
RAMو ROMنامييده ميي يوند.دو ويژگيي RAMو ROMرا از يم متميايز سيازد:اول
شنكيه RAMحافظيه خوانيدني /نو يتني اسيت.در حاليكيه ROMحافظيه خوانيدني اسيت و دوم
نهييام عبييور ولتيياژ تغذيييه مييي ييود)در حييالي كييه شنكييه RAMفييرر ار اسييت( يعنييي محتويييات ش
ROMغيرفرر ار است.
ابزارهاي كنترل /نظارت
بيييه كميييا ابزار يييار كنتيييرل/نظيييارت در برخيييي نيييرم افزار يييا و روابيييط يييار الكترونيكيييي
(دقي ) كامپيوتر ا مي توانند كار ار كنترلي زييادر را بيي وقفه،بيدو خسيتهي و بسييارفراتر
از توانايي انسا انجام د ند.
3
كاربرد ييايي نظييير كنتييرل حييرارت يييا سيياختما ،محافظت از خانييه، كنتييرل شسانسييور،كنترل
وسايل خانهي و حتي جوش داد قطعات مخت ف يا خودرو مهي با استفاده از ايي ابزار يا
امكا پذير ستند.ابزار ار كنترل،ابزار ار خروجي يا عمل كننده ستند.شنيا وقتي كه با ييا
ولتيياژ بييا جريا ،تغذيييه ييوند مييي تواننييد بيير جيييا پيرامييو خييود اثيير بهذارنييد(مثييل موتور ييا
موليييد ا). ابزار يييار نظارت،ابزار يييار ورودر ييييا مسيييهر سيييتند كيييه بيييا كمييييت يييايي نظيييير
حرارت،نور،ف ار،حركت و ماننيد ش ،تحرييا يده و شنييا را بيه جرييا ييا ولتياژر كيه توسيط
CPUخوانيييده ميييي يييود تبيييديل ميييي كننيييد( مثيييل فتوترانزيسيييتور ا و ترميسيييتور ا و سيييوئي
ا).ولتاژ يا جريا توسط مدار ار واسطه، به يا دادا دورويي تبديل مي و د و يا برعكز و
سپز نر م افزار،يا رابطه منطقي بي ورودر ا و جروجي ا برقرارمي كند.
مقايسه ريز پردازنده ها با ميكروكنترلرها
د كيه رييز پردازنيده يا CPUيايي ت يكيل تيا ترا يه سيتند و در پيش از اي خاطرن ا
ميكروكامپيوتر ا به كار مي روند.پز فر ميكروكنترلر ا با ريز پردازنده يا چيسيت با ايي
سؤال از سه جنبيه ميي تيوا برخيورد كيرد:معميارر سيخت افزار،كاربرد يار و ويژگيي يار
مجموعه دستورالعمل ا.
معمار سخت افزار
در حالي كيه زييز پردازنيده ييا CPUتيا ترا يه ار اسيت،ميكروكنترلر در ييا ترا يه واحيد
امل يا CPUو بسيارر از مدرارات زم برار يا سيستم ميكروكامپيوترر كامل مي با د.
ع وه بر CPUميكروكنترلر ا امل RAMو ROMيا رابطه سلاير،يا رابط سلاير،يا
رابط موازر،تايمر و مدارات زمانبيدر البتيه مقيدار RAMرور ترا يه حتيي بيه مييزا ش در
4
يييا سيسييتم ميكروكييامپيوترر كوچييا ييم نمييي رسييد امييا ش طييور كييه خييوا يم ديييد اي ي مس ي له
محدوديتي ايجاد نمي كند زيرا كاربرد ار ميكروكنترلر بسييار متفياوت اسيت.ييا ويژگيي مييم
ميكروكنترلر ا،سيسييتم وقفي موجييود در داخييل شنياسييت.ميكروكنترلر ييا بييه عنييوا ابييزار ييار
كنترل گرا اغ ب برار پاسخ بي درنگ به محركيار خارجي (وقفه ا)مورد استفاده قرار ميي
گيرند.يعني بايد در پاسيخ بيه ييا «اتفياقي» سيريعا ييا فرشينيد را معيد گذاره،بيه فرشينيد ديهير
بپردازند. باز د در يا اجا مايكروويو مثالي است از يا اتفا ممك است باعث ايجاد ييا
وقفه در يا سيستم ميكروكنترولي ود.البته اغ ب ريز پردازنده ا مي توانند سيستم ار وقف
قدرتمندر را به اجرا بهذارند،اما برا اي كار معميو نيياز بيه اجيزار خيارجي دارنيد.ميدارات
رور ترا ه يا ميكروكنترولر امل تمام مدارات مورد نياز بيرار بكيارگيرر وقفيه يار ميي
با د.
5
«كاربردها»
رييز پردازنييده اغ يب بييه عنيوا CPUدر سيسييتم يار ميكروكييامپيوترر بكيار مييي رونيد.ايي
كاربرد دليل طراحي شنيا و جايي است كه مي توانند خود را بيه نميايش بهذارنيد.بيا ايي وجيود
ميكروكنترلر ا در طراحي ار كوچا با كمتيري اجيزام ممكي كيه فعالييت يار كنتيرر گيرا
انجام مي د.يا ميكروكنترلر مي تواند در كيا ش تعيداد كيل اجيزام كميا كنيد.شنچيه كيه ميورد
نياز است عبارت است از يا ميكروكنترلر،تعداد كمي اجزامپ تيبا و ييا برناميه كنترليي در
ROMميكروكنترلر ييا بييرار «كنتييرل» ابزار ييار I/Oدر طراحييي ييايي بييا كمتييري تعييداد
اجزام ممك مناسيب سيتند،اما ريزپردازنيده يا بيرار «پيردازش» اط عيات در سيسيتم يار
كامپيوترر مناسبند.
«ويژگي هاي مجموعة دستورالعمل ها»
بييه ع ييت تف ي اوت در كاربرد ا،مجموعييه دسييتورالعمل ييار مييورد نييياز بييرار ميكروكنترلر ييا
تاحدودر با ريز پردازنده ا تفاوت دارد.مجموعه دستورالعمل ار ريز پردازنده ا بر عميل
پيييردازش تمركيييز يافتيييه انيييد و در نتيجيييه دارار روش يييار شدرز د يييي قدرتمنيييد بيييه ميييراه
دستورالعمل ايي برار انجام عم يات رور حجم زياد داده مي با ند. دسيتورالعمل يار رور
چيار بيت ا،بايتيا،ك مه ا يا حتي ك مه ار مهاعف عمل مي كنند.روش يار شدرز د يي
با استفاده از فاص ه ار نسبي و ا اره گر ار شدرز امكا دسترسيي بيه شراييه يار بيزر
داده را فرا م مي كنند.حالت ار افزايش يا واحيدر اتوماتييا و كيا ش ييا واحيدر اتوماتييا
حركييت گييام بييه گييام رور بايييت ا،ك مييه ييا ك مييه ييار مهيياعف را درشرايييه ييا شسييا مييي
كنند.دستورالعمل يا رمزر نمي توانند در داخل برنامه كاربرد اجيرا يوند وبسييارر ويژگيي
يار ديهيير از ايي قبيييل.از طييرف ديهير ميكروكنترلر ييا مجموعييه دسييتورالعمل ييايي مناسييب
6
برار كنترل ورودر ا و خروجي ا دارنيد.ارتبياط بيا بسييارر از ورودر يا و خروجيي يا
تنيا نيازمند يا بيت است. برار مثال ييا موتيور ميي توانيد توسيط ييا سييم پيي كيه توسيط ييا
درگيياه خروجييي يييا بيتييي انييرژر دريافييت مييي كند،رو يي و خيياموش ييود.ميكروكنترلر ييا
دستورالعمل ايي برار 1 كرد و0كرد بيت ار جداگانه دارند و ديهر عم يات رور بييت
ا مثل OR،ANDيا XORكرد منطقي بيت ا،پرش در ثورت ايا پياا بيود ييا بييت و
ا را نيز انجام مي د ند.اي هميم مفيد بندرت در ريزپردازنده يافت مي ود زيرا مانند ش
شنيا معمو برار كار رور بيت ا يا واحد ار بزرگتر داده طراحي مي وند.برار كنترل و
نظييارت بييير ابزار يييا ( يييايد توسيييط ييييا رابييط تيييا بيتيييي)،ميكروكنترلر يييا ميييدارات داخ يييي و
دستورالعمل ايي برار عم يات ورودر/خروجي،زميا بنيدر انفاقيات و فعيال كيرد و تعييي
اولويييت وقفييه ييار نا ييي از محييرا ييار خييارجي دارنييد.ريزپردازنييده يا اغ ييب بييه مييدارات
اهافي ( ICار رابط سلاير،كنترل كننده ار وقفه،تايمر ا و غيره)برار انجام اعمال م ابه
مه در قدرت پردازش محض،يا ميكروكنترلير رگيز بيه ريزپردازنيده نميي نيازدارند. با اي
رسد(اگير در بقييه ميوارد يكسيا با يند)زييرا بخيش عميدا «فهيار واقعيي». ICميكروكنترلير
صرف تيييه امكانيات رور ترا يه ميي يود البتيه بيه قيميت كيا ش تيوا پيردازش.از شنجيا كيه
فهييا ار واقعييي در ترا ييه بييرار ميكروكنترليير ا يمييت دارنييد دسييتورالعمل ييا بايييدبي نيايييت
ف رده با ند و اساسا در يا بايت پياده سازر وند.يكيي از نكيات در طراحيي جياداد برناميه
كنترلييي در داخييل ROMرور ترا ييه اسييت.زيييرا افييزود حتييي يييا ROMخييارجي زينييه
نيايي توليد را بسيار افزايش مي د د.به ريزدرشورد ف رده برار مجموعه دستورالعمل ار
ميكروكنترلر اساسي است،در حاليكه ريزپردازنده بندرت دارار ويژگي مي با ند،روش يار
شدرز د ي قدرتمند شنيا باعث به رمز درشورد غيرف ردا دستورالعمل ا مي ود.
7
8
«مفاهيم جديد»
ميكروكنترلر مانند ديهر فرشورده ايي كه پيش از ش برار برطرف كيرد موانيع كيار ميورد
م حظييه بودند،توسييط دو نيييرور مكمييل ييم يعنييي نييياز بييازار و تكنولييوژر جديييد بوجييود شمييده
انيييد. تكنوليييوژر جدييييد ميييا اسيييت كيييه پييييش از ايييي ذكييير يييد،يعني نيميييه رسيييانا ايي بيييا
ترانزيسيتور ار بي ييتر در فهييار كمتير كييه بييا قيمييت پيايي تييرر بييه صيورت انبييوه توليييد مييي
وند. نياز بازار،تقاهار صنعت و مصرف كنندگا وسايل و اسباب بيازر يار و يمند ميي
با د. ايي تعرييف گسيترده ار اسيت،بيتري مثيال يايد دا يبورد خيودور با يد كيه يا د تغييير
«مركز كنترل» خودرو در طي د ه گذ ته بوده است.زماني راننده ا بايد با دانسيت سيرعت
خوداكتفا مي كردند،اما امروزه نماي ي از سرعت صرفه جيويي يده و زميا تقريبيي رسييد
را دراختيار دارند.زماني دانست اي كه يا كمربند ايمني در روي حركت محكم ده است يا
نه كافي بود.امروزه به ما گفته مي ود كه كدام كمربند ايمني ايراد دارد- اگير درر نيميه بياز
بماند بموقع توسط ك مات به ما اط ي داده مي ود( ايد كمربند ايمني ر درگير كرده با د)
مه اي موارد اي مط ب را در ذ ي تيداعي ميي كننيد كيه رييز پردازنيده يا (و درايي ميورد
ميكروكنترلر)به راه حل ايي تبديل ده اند كه به دنبال يا مس له مي گردند.به نظر مي رسيد
كه شنيا در كا ش پيچيدگي مدارات فرشورده ار مصرفي بسيار مؤثر عمل كرده انيد بطيورر
كه توليدكنندگا اغ ب برار افزود امكانات اهافي ا تيا زيادر دارند،فقط به ايي ع يت كيه
ميكروكنترلر يا خي ييي راحيت بييرار فيرشورده ييار قابيل طراحييي سيتند.نتيجييه كار،اغ يب فاقييد
سييادگي زم مييي با ييد. بيتييري مثييل ممك ي ظيييور فييرشورده ييار سييخنهو درسييال ييار اخييير
اسييت.ايي فييرشورده ا،چييه خودرو،چييه اسييباب بييازر معمييو مثييال ييايي از زييياده رور ييا و
ييم ييتاد س يتند.در ش زمييا طراحييي ييار اهييافه برنييياز، و ييايد گو ييه ار از يير د ييه
بسيارر معتقد بودند كه مي كه گردكينهي رور اي وسايل بن يند،تنيا چيزر كه بيرار شنييا
9
باقي مي ماند قاب يت كارر شنيا خوا د بيود.ميكروكنترلر يا پردازنيده يايي اختصاصيي سيتند
شنيا به خودر خود در كامپيوتر ا به كار نمي رونيد ب كيه در فيرشورده يار صينعتي و وسيايل
مصييرفي مييورد اسييتفاده قييرار مييي گيرنييد.اسييتفاده كننييدگا اي ي فييرشورده ييا اغ ييب از وجييود
ميكروكنترلر ا كام بي اط ي ستند.از ديد شنيا اجزار داخ ي وجود دارند اما جزو جزئيات
ار مايكروويو،ترموسات قابل برناميه بي ا ميت طراحي به مار مي روند.برار مثال اجا
ريزر، تيييرازو يييار الكترونيكيييي و حتيييي خودرو يييا را ميييي توانييييد در نظييير بهيرييييد.قسيييمت
الكترونيكيييي ييير ييييا از ايييي فيييرشورده يييا عموميييا يييامل ارتبييياط ميكروكنترلييير بيييا ك ييييد ار
يدار د نيده و مير يار رور ييا تياب و ميي با يد.در نتيجيه بييه يا، وسيايل ف ارر،سيوئي
استثنار برخي امكانات اهافي،طرز استفادا شنيا يا فرشورده يار الكترومكيانيكي قب يي تفياوتي
نكييرده اسييت و ميكروكنترليير شنيييا از ديييد اسييتفاده كننييدگا مخفييي اسييت.بييرخ ف سيسييتم ييار
كييامپيوترر كييه توسييط قاب يييت برنامييه ريييزر و دوبيياره برنامييه ريييزر ييد ،باز ييناخته مييي
وند،ميكروكنترليا يا بار برار مي ه و برار يا كار برنامه ريزر مي وند.اي مقايسه به
يا تفياوت اساسيي در معميارر ايي دو سيسيتم منجير ميي يود.سيسيتم يار كيامپيوترر نسيبت
ROM RAMبييه ROMبييا يي دارنييد و برنامييه ييار كيياربرا در يييا فهييار نسييبتا بييزر
اجرا مي وددر حاليكه رواليار ارتباط با سخت افزار در يا فهار كوچا ROMاجرا مي
گردد.از طرف ديهر ميكروكنترلر ا نسبت ROMبه RAMبا يي دارند،برنامه كنترلي شنيا
سييم با يد در ROMذخييره ميي يود،در حيالي كيه RAMفقيط بيرار كه يايد نسيبتا بيزر
ذخيره موقت مورد استفاده قرار مي گيرد.از شنجا كه برنامه كنترليي بيرار مي يه در ROM
ذخيره مي ود در مرتب مييا افيزار قرارميي گييرد.يعنيي چييزر بيي سيخت افيزار(ميدار ار
واقعيييي) ونيييرم افيييزار (برناميييه يييايي در RAMكيييه نهيييام خييياموش يييد سيسيييتم پييياا ميييي
وند) تفاوت بي سخت افزار و نرم افزار تا حدر بيه به تفاوت بي يا صفحه كاغيذ (سيخت
01
افزار)وك مات نو ته ده رور ش (نرم افزار)ميي با يد.مييا افيزار را ميي تيوا بيه صيورت
فرم ار استانداردر كه برار يا كاربرد م خص طراحي و چار ده اند درنظر گرفت.
«مزيت ها و معايب:يك مثال طراحي»
وظايفي كه ميكروكنترلر ا انجام مي د ند وظايف تازه ار نيستند.شنچه جديد است اي است كه
طراحي ا با تعداد اجزار كمترر از گذ يته انجيام ميي يوند.طراحيي يايي كيه در گذ يته بيا
استفاده از ده ا يا حتي صد ا ICانجام مي يوند اميروزه بيا ييا ميكروكنترلير و اجزاييي بيه
تعداد از انه تا دست قابل انجام اند.كا ش تعداد اجزام كه نتيج مستقيم قاب يت برنامه ريزر
و توانايي زياد ميكروكنترلر ا درايجاد يكپارچهي مي با د،معمو منجر به زميا طراحيي و
سيياخت كوتيياه تر، زينييه توليييد پييائي تر،مصييرف تييوا كمتيير و قاب يييت اطمينييا بي ييتر مييي
ود.اعمال منطقيي كيه نيازمنيد چنيدي ICميي با يند،اغ ب توسيط ييا ميكروكنترلير بيا اهيافه
كرد يا برنام كنترلي انجام مي وند.عيب كار در سرعت است.راه حل ار ميكروكنترلي
رگز در سرعت به پار راه حل ار م ابه با اجزار گسسته نمي رسند.در موقعيت ايي كه
نياز به پاسخ ار بسيار سريع به رويداد ا وجود دارد كه البته بندرت چني كاربرد يايي پييدا
مي وند)ميكروكنترلر ا عكز العمل هعيفي از خودن ا مي د ند.به عنوا يا مثل،نميايش
سيياده ار از انجييام عمييل NANDبييا اسييتفاده از ميكروكنترليير1508 در ييكل الييف ن ييا داده
ده است. به كاربرد ميكروكترلر برار چني عم ي چندا مرسوم نيست،اما اي امكا وجود
دارد.نرم افزار بايد عم يات ن ا داده ده در نمودار گرد ي كل (ب) را انجام د يد.برناميه
زبا اسمب ي 1508 برار اي عمل منطقي به صورت زير مي با د.
:Loop Mov 4,1 c,p ;
ANL 5,1c,p ;
11
ANL 6,1c,p ;
CPL c ;
Mov p1,7,c ;
SUMP Loop ;
ا تابع NANDبيا سيه ورودر اگر اي برنامه در يا ميكروكنترلر 1508 اجرا ود بدو
تحق مي يابد( اي مط ب را ميي تيوا بيا ييا ولتمتير ييا نوسيا تحقيي كيرد)تي خير انت يار ييا
گذار1 در ورودر تا استقرار سطح منطقي درست در خروجيي دسيت كيم در مقايسيه بيا معيادل
2TTLش بسيار طو ني است.
بسته به نسبت زماني تغيير در ورودر و ت خيص اي تغيير توسط برنامه،ت خير بي 3 تا 71
ميكروثانييه خوا يد بيود.(بيا فيرض عم كيرد اسيتاندارد 1508 بيا اسيتفاده از ييا كريسيتال 21
مها رتز)در حالي كه ت خير انت ار در معادل TTLاز مرتبه 01 نانو ثانيه است يعنيي حيدود
زار با كمتر. واهح است كه در ايجياد توابيع منطقيي بيا سيرعت ميكروكنترلر يا بيا ميدار ار
معادل TTLقابل مقايسه نيسيت.در بسييارر از كاربرد يا بيويژه شنييايي كيه بيا عم كيرد انسيا
سييروكار دارنييد ايي ت خير ييا بييا نانوثانيييه انييدازه گيييرر مييي ييوند يييا ميكروثانيييه و مي ييي ثانيييه
ا ميتي ندارند، نهامي كه ف ار روغ در خودرور ما افت مي كند شيا زم است كه ظيرف
چند ميكروثانيه مط ع ويد ) مثال گييت منطقيي ن يا ميي د يد كيه ميكروكنترلر يا ميي تواننيد
عم يييات منطقييي را انجييام د نييد از اي ي گذ ييته يير چييه طراحييي ييا پيچيييده تيير با ييند طراحييي
ميكروكنترلر بي تر خود را ن ا مي د د،تعداد كم اجزاممزيتي است كه قب به ش ا اره ده
1
Transition
2
Transistor-Transistor logic
21
ع وه برش عم يات پيش بيني ن يده در برناميه كنترليي را ميي تيوا تنييا بيا تغييير نيرم افيزار
دگرگو كرد و اي روش كمتري اثر ممك را رور چرخ توليد خوا د گذا ت.
«مروري بر خانواده»Mcs-51TM
1508 يا ICنوعي و اولي عهو اي خانواده است كه بصورت تجارر مطرح د خ صه
م خصات اي ICاز اي قراراست:
4Kبايت ROM
821 بايت RAM
چياردرگاه ( 3I/Oورودر – خروجي) ت بيتي
دو تايمر/ مارنده4 61 بيتي
5
رابط سلاير
64Kبايت فهار حافظه خارجي برار كد
64Kبايت فهار حافظه خارجي برار داده
پردازنده بويي6(كه عم يات رور بيت ا را انجام مي د د)
7
012 مكا بيتي شدرز پذير
انجام عم يات هرب و تقسيم در 4 ميكروثانيه
Mcs-51TMرييييا امكانيييات ديهيييرر از قبييييل ROMرور ديهييير اعهيييار خيييانواده
ير ييا ترا ه8RAM EPROMرور ترا ه و يا يا تايمر سوم را دارا ستند.درهم
از انواي ICار اي خانواده يا نسخه م ابه يا CMOSكم مصرف9نيزدارد.(جدول ر)
3
I/O Port
4
Timer/counter
5
Serial-interface
6
Boolean processo
7
bit-addressable
31
8
On-chipRom
9
low power CMOs
14
ماره قطعه حافظييييييييه كييييييييد رور حافظه دادا رور ترا ه تعداد تايمر
ترا ه
4K ROM 821Byte 2
- 821Byte 2
4K EP ROM 821Byte 2
8K ROM 652Byte 3
- 652Byte 3
8K EPROM 652Byte 3
جدول ر
51
«بررسي اجمالي پايه ها»
كل ديده مي ود 23 پايه از 04 پايه 1508 به عنوا خطوط درگاه I/Oعميل در اي
مي كنند.معيذا 42 خط از اي خطوط دو منظوره ستند. ريا از اي خطوط مي توانند به
عنييوا I/Oيييا خييط كنتييرل و يييا بخ ييي از گييذرگاه شدرز يييا گييذرگاه داده بييه كييار رونييد.در
طراحي ايي كه با كمتري مقدار حافظه و ديهر قطعيات خيارجي انجيام ميي يوند،از ايي
درگا يا به عنوا I/Oمه منظوره استفاده مي كنند. ر ت خط يا درگياه ميي توانيد بيه
صورت يا واحد ارتباط با وسايل موازر مانند چاپهر ا و مبيدل يار ديجيتيال بيه شنيالو
ييييا،LED بكييييار رود. يييييا يييير خييييط بييييه تنيييييايي بييييا وسييييايل تييييا بيتييييي مثييييل سييييوئي
ا01،موتور ا و ب ندگو ا ارتباط برقرار كند. ا،ترانزيستور ا،سيم پي
«درگاه »O
درگاه :Oيا درگاه دو منظوره از پاي 23 تيا 93 ترا يه 1508 ميي با يد.ايي درگياه در
طراحي ار با كمتري اجزار ممك به عنوا يا درگاه I/Oعمومي استفاده مي ود.در
طراحي ار بزرگتر كه از حافظه خارجي استفاده مي كنند،اي درگاه يا گيذرگاه شدرز و
داده حالتي پ كز ده مي با د.
01
Solenoids
61
درگاه1
درگاه 1 درگاه اختصاصي I/Oرور پايه ار 1 تا 8 اسيت.پاييه يار p1.oتيا 7.1 Pدر
صورت نياز برار ارتباط با وسايل خارجي بكار مي روند.وظيفه ديهيرر بيرار پاييه يار
درگاه از نظر گرفته ن ده است با بنابراي شنيا گيهاه برار ارتباط با وسيايل خيارجي بكيار
مي روند.استثنام در Icار 2508/2308 كه از p1.oو 1.1 pبه عنوا خطيوط I/Oو
يا ورودر تايمر سوم استفاده مي ود.
درگاه 2
درگاه 2 (پايه ار 12تا 82)يا درگاه سات كه بيه عنيوا I/Oعميومي و ييا باييت بيا ر
گييذرگاه شدرز طراحييي بييا حافظييه كييد خييارجي11 بييه كييار مييي رود.اي ي درگيياه مچنييي در
طراحي ايي كه به بيش از 652 بايت از حافظه داده خارجي 21نيازدارد نيز اسيتفاده ميي
ود.
درگاه 3
درگاه 3 يا درگاه دو منظوره رور پايه يار 01تيا 71ميي با يد.عي وه بير I/Oعميومي
اي پايه ا ريا وظايف ديهرر نييز در رابطيه بيا امكانيات خياص 1508 دارنيد.وظيايف
خاص پايه ار درگاه 3 و درگاه 2 در جدول خ صه ده است.
بيت نام شدرز بيت عم كرد خاص
3.3P RXD B0H دريافت داده برار درگاه سلاير
11
external code memory
21
external data memory
71
1.3P TXD B1H ارسال داده برار دريافت سلاير
2.3P INTO B2H وقفه خارجي 0
3.3P INTI B3H وقفه خارجي 1
4.3P TO B4H ورودر خارجي برار تايمر مارنده 0
5.3P 1T B5H ورودر خارجي برار تايمر مارنده 1
6.3P WR B6H سيييييهنال فعييييال سيييياز نو ييييت در حافظييييه داده
خارجي
7.4P RD B7H سيييييهنال فعييييال سيييياز خوانييييد از حافظييييه داده
خارجي
0.1P 2T 90H ورودر خارجي تايمر مارنده 2
1.1P T2EX 91H تسخير/ reloadتايمر مارنده 2
)Program stare Enable ( PSEN
1508 چيييار سيييهنال اختصيياص يافتييه بييرار كنتييرل گييذرگاه دارد. PSENيييا سيييهنال
خروجييي رور پايييه 92 اسييت كييه حافظييه برنامييه خييارجي (كييد)را فعييال مييي كنييد.اي ي پايييه
معمييو بييه پييار CEيييا EPROMوصييل مييي گييردد تييا خوانييد بييا بيتيييار برنامييه از
EPROMامكا پذير ود.
سييهنال PSENدر طيي مرح يه خوانييد ييا دسيتورالعمل پييائي ميي رود.كيد ار دورويييي
برنامييه از EPROMخوانييده مييي ييوند.در گييذرگاه داده منتقييل مييي گردنييد و بييرار رمييز
گ ييائي در ثبييات دسييتورالعمل 1508 ذخيييره مييي ييوند نهييام اجييرار برنامييه از ROM
مي ماند. داخ يييي PSENدر حاليييت غيرفعيييال بييياقي
81
)Address latch Enable(ALE
سييييهنال خروجيييي ALEدر پاييييه 03 بيييرار ييير فيييردر كيييه بيييا ريزپردازنيييده انيتيييل مثيييل
5808,60808 يا 8808 كاركرده با د ش ناسيت.1508 بطيور م يابيي از ALEبيرار
جداسازر گذرگاه شدرز داده استفاده ميي كنيد. نهاميكيه درگياه oدر حاليت خياص خيود بيه
عنوا گذرگاه داده وبايت پايي گذرگاه شدرز استفاده مي ود سييهنال ALEشدرز را در
يييا ثبييات خييارجي در طييي غييير نخسييت سيييكل31 حافظييه نهيياه مييي دارد.پييز از ش خطييوط
درگاه برار ورود و خروج داده در طي نيمه دوم سيكل حافظه يعنيي نهاميكيه انتقيال داده
يم فركيانز نوسيا سياز انجام مي ود،در دسترز ستند سيهنال ALEبا فركانز ييا
رور ترا ه نوسا مي كند و مي تواند بيه عنيوا ييا پيالز سياعت ميه منظيوره در تعبيه
سيسييييتم بكييييار رود.اگيييير 1508 از يييييا كريسييييتال 21 مها رتز،پييييالز سيييياعت دريافييييت
كند،ALEبا فركانز 2 مهيا رتز نوسيا ميي كنيد.تنييا اسيتثنام در طيي انجيام دسيتورالعمل
Movxاست كه يا پالز ALEحذف مي ود.اي پايه مچني برار برنامه ريزر پيالز
ورودر در انواي EPROMدر 1508 مورد استفاده قرار مي گيرد.
)Extrral Access( EA
سيييييهنال ورودر EAدر پايييييه 13 معمييييو بييييه سييييطح منطقييييي بييييا ( )+5Vيييييا پييييائي
(زمي )وصل مي ود اگر اي پايه در وهعيت با قرارگرفته با د 2508/1508 برنامه
را از ROMداخ ي يعني 4Kيا 8Kبايت پيائي حافظيه اجيرا ميي كنيد. نهيامي كيه پيايي
با ييد ROMداخ ييي غيرفعييال مييي ييود و برنامييه ييا از EPROMخييارجي اجييرا مييي
31
memory cycle
91
يوند. مچنيي نيوي EPROMدر 1508 از خيط EAبيرار تغذييه 12 وليت در برناميه
ريزر EPROMداخ ي استفاده مي كند.
)Reset(RST
ورودر RSTدر پايه 9، شغازگر اص ي 1508 است و نهاميكه اي سيهنال حداقل برار
دوسيكل ما ي 41در وهعيت با بماند اثبات ار داخ ي 1508با مقادير نسبي بيرار ييا
روي به كار سازما يافته بكار مي وند.
«ورودي هاي نوسان ساز روي تراشه»
1508 دارار يا نوسا ساز رور ترا ه51 است و معمو با يا كريستال كه به پايه ار
81و91 متصل مي ود به راه مي افتد.فازنييار پاييدار كننيده نييز بيه صيورت ن يا داده
ده مورد نياز ستند،فركانز نيامي كريسيتال بيرار اغ يب ICيا خيانواده MCS-51TM
،41 مها رتز است، رچند كه 80c31BHمي تواند با فركانسيايي تا 61 مهيا رتز نييز
كاركند.نوسا ساز رور ترا ه الزاما نيازر به يا كريسيتال نيدارد. ميانطور كيه در يكل
ن ا داده ده است يا منبع پالز ساعت TTLمي تواند به 1 XTALو2 XTALوصل
ود.
«اتصاالت تغذيه»
1508 بيا ييا تغذييه 5+ ولتيي كيارمي كنيد.اتصيال Vssبيه پاييه 04 و (Vssزميي )بيه پاييه
02وصل مي ود.
41
Machine Cycle
51
On.chip oscillator
02
«ساختار درگاه »I/O
مدارات داخ ي پايه ار درگاه ا به صورت مختصر در كل ن ا داده يده اسيت.نو يت
در پايييه يييا درگيياه،داده را در يييا ذخيييره سيياز درگيياه بييار61مييي كنييد.در اثيير اي ي عمييل يييا
ترانزيسييتور اثيير ميييداني ()FETكييه بييه پايهيياه درگيياه وصييل ييده اسييت،راه انييدازر مييي
ييود.قاب يييت راه انييدازر بييرار درگا يييار 1،2 و 3بييه انييدازا چيييار TTLييا تكييي كييم
ت عدد از مي نوي TTLمي با د. مصرف71و برار درگاه oبه اندازه
توجيه كنييد كيه مقاوميت با برنيده81در درگياه oوجيود ندارنيد.ممكي اسيت ييا مقاوميت بييا
برندا خارجي بسته به م خصات ورودر وسي ه ار كه توسيط درگياه راه انيدازر ميي يود
مورد نياز با د.
در 1508دو قاب يت خواند ذخيره ساز91و خواند پايه02وجود دارد.دستورالعمل ايي كه
عمل بخوا تغيير بده- بنويز ر ابكار مي برد(مثل 5.1)CPL pبرار پر ييز ازت يخيص
نادرسييت سييطح ولتيياژ در مييواقعي كييه پايييه ب ييدت تحييت بييار قراردارد،عمييل خوانييد را از
ذخيره ساز انجام مي د ند و دستورالعمل ايي كه يا بييت ازدرگياه وارد ميي كنند،پاييه را
ميي خواننيد.ذخييره سياز درگياه در ايي ميورد باييد يمال 1 منطقيي با يد وگرنييه FETراه
مي ود و خروجي را پايي مي ك د. resetكرد سيسيتم مي ذخييره سيازه انداز رو
ار درگاه را مي كند.پز اگر يا ذخيره ساز درگاه پاا ود متعاقب ش نمي توا از پايه
به عنوا ورودر استفاده كرد،مهر اينكه ابتدا ذخيره ساز 1 ود. كل با مدارات مربوط
61
prot latch
71
low power schttkg TR
81
Pull-up resister
91
read latch
02
read pin
12
به عم كرد خاص درگا ييار oو 2 و 3 را ن يا نميي د د، نهامييه عم كيرد خياص ايي
درگاه ا در حال انجام است.راه انداز ار خروجي به ييا شدرز داخ يي شدرز/داده داخ يي
با يا سيهنال كنترلي بصورت مقتهي سوئي مي وند.
22
«سازمان حافظه»
اغ ب ريزپردازنده ا يا فهار حافظه م ترا برار داده و برنامه در نظر مي گيرند.اي
كييار معتييولي اسييت چييو برنامييه ييا معمييو رور يييا ديسييا ذخيييره ييده و بييرار اجييرا بييه
RAMمنتقل مي گردند.به اي ترتيب برنامه يا و داده يا ير دو در RAMسيسيتم مقييم
مي وند.از طرف ديهر ميكروكنترلر ابندرت به عنوا cpuدر سيستم ار كيامپيوترر
مورد استفاده قرار مي گيرند.در عوض،بيه عنيوا جيزم مركيزر در طراحيي يار كنتيرل
گرا به كار ميي رونيد كيه درايي ميوارد حافظيه محيدود است،ديسيا دراييو ييا سيسيتم عاميل
ديسا وجود ندارد و برنامه كنترلي بايد در ROMقرارداده ود.به مي دليل 1508 يا
فهار حافظه جداگانه برار برنامه (كد)و داده در نظر مي گيرد. ما طيور كيه در جيدول
مقايسه ICا ن ا داده ده است،كه داده ر دو ممكي اسيت داخ يي با يند. بيا ايي وجيود
ردو با استفاده از اجزامرا خارجي تا خد 64Kبايت حافظه كد و 64Kبايت حافظه داده
قابييل توسييعه سييتند.حافظييه داخ ييي ييامل ROMرور ترا ييه و RAMدادا رور ترا ييه
است. RAMرور ترا ه امل شرايش مناسبي از حافظه ميه منظوره،حافظيه بيتيي شدرز
پذير،بانا ار ثبات و ثبات ا كاربرد خاص12مي با د.دو ويژگي جالب توجه در 1508
بييدي قيييرار اسييت:اليييف – ثباتيييا و درگا ييييار ورودر- خروجييي بصيييورت نق ييه حافظيييه
22
ستند و مانند ر مكا ديهر حافظه قابل دسترسي ميي با يند ب)پ يته،برخ ف معميول
ديهيير ريييز پردازنييده ييا كييه پ ييته را در RAMخييارجي قييرار مييي د نييد،در RAMداخ ييي
قراردارد.
« RAMهمه منظوره»
12
spe cial Function Registers
22
memory mapped
32
23 باييييت پيييائي ازشدرز 00Hتيييا 2FHنييييز ميييي تواننيييد بيييه صيييورت م يييابيي اسيييتفاده
ييوند. يير مكيياني در RAMمييه منظييوره بييا اسييتفاده از رو يييار شدرز د ييي مسييتقيم يييا
غيرمسييتقيم قابييل دسييترز اسييت.بييرار مثييال بييرار خوانييد محتويييات RAMداخ ييي شدرز
5FHبه داخل انباره اي دستورالعمل بكار مي رود:
MOV A,5FH
اي دسيتورالعمل ييا باييت داده را بيا اسيتفاده از شدرز د يي مسيتقيم بيرار م يخص كيرد
مكا مبدأ منتقل مي كند،مقصد داده بطور منحتي در كد عم ياتي دستورالعمل بيا عنيوا A
انبار،32م خص ده است.در هم RAMداخ ي با استفاده از شدرز د ي غير مسيتقيم و
0 Rو 1 Rنيز قابل دسترسي است.برار مثال دو دستورالعمل زير ما كارر را مي كننيد
كه دستورالعمل با به تنيايي انجام مي د د:
# 5FHو0MOV R
MOV A, @ Ro
دستورالعمل نخست از شدرز د ي فورر برار انتقال مقدار 5FHبيه ثبيات Roاسيتفاده ميي
كند و دستورالعمل دوم شدرز د ي غيرمستقيم را برار انتقيال داده ار كيه « Roبيه ش ا ياره
مي كند»به داخل انباره به كار مي گيرد.« RAMبيت شدرز پذير»
1508،012 مكييا بيييت شدرز پييذير دارد،كييه 821 مكييا ش درشدرز بايييت 20Hتييا 2FH
قراردا ته و بقيه ثبات ار كاربرد خاص ستند كه بعدا ميورد بحيث قيرار ميي گيرنيد.اندي يه
دستيابي به بيت ار منفرداز طري نيرم افزار،يكيي از امكانيات قدرتمنيد اغ يب ميكروكنترلييا
32
Accumulator
42
اسيييت. بييييت يييا ميييي تواننيييد توسيييط ييييا دسيييتورالعمل،1،0، ANDو ييييا ORگردنيييد.اغ يييب
ريزپردازنده ا به يا ر ته از دستورالعمل يار «بخيوا – تغييير بيده- بنيويز»بيرار انجيام
مي اعمال نيياز دارنيد.بعي وه درگياه يار I/Oدر 1508 بصيورت بييت يار شدرز پيذير
ستند كه ارتباط اقرارر را با تا بيت ا ورودر و خروجي مي كنند.تعداد 82 امكيا شدرز
پذير مه منظوره در شدرز بايت يا به عنوا بيت قابيل دسترسيي سيتند.بيرار مثيال بيرار 1
كرد بيت 64Hاي دستورالعمل را مي توا بكار برد:
MOV A,2CH
3100000001#,ORL A
MOV 2CH,A
42
بانك هاي ثبات
بانييا ييار ييات در 23 مكييا پييائي حافظييه داخ ييي قراردارنييد.مجموعييه دسييتورالعمل 1508
ت ثبات را از Roتا 7 Rپ تيباني مي كند و به صورت پيش فرض،اي ثبات يا،در شدرز
00Hتا 07Hقرارمي گيرند دستورالعمل زير محتوار شدرز 05Hرا به داخل انبياره منتقيل
5MOV A,R مي كند.
اي دس تورالعمل يا دستورالعمل يا بايتي است كه از شدرز د ي ثبيات اسيتفاده ميي كنيد.البتيه
مي عم يات با يا دسيتورالعمل دو بيايتي بيا اسيتفاده از شدرز د يي مسيتقيم درباييت دوم نييز
MOV انجام پذير است:A,05H
دسيييتورالعمل يييايي كيييه از ثبيييات يييار Roتيييا7Rاسيييتفاده ميييي كننيييد كوتيييا تر و سيييريعتر از
دستورالعم يار معادلي ستند كه از شدرز د ي مستقيم استفاده ميي كننيد.داده يايي كيه بطيور
متناوب استفاده مي وند،بيتر است يكي از اي ثبات ا را استفاده كنند.
42
registor baanks
52
بانا ثبات فعال با تغيير بيت ايي انتخياب بانيا ثبيات در ك ميه وهيعيت برناميه52 قابيل تغييير
است.با فرض شنكه بانا ثابت ماره 3 فعال با د دستورالعمل زير محتوار انباره را در مكا
18Hمي نويسد.
MOV Ro,A
بانا ار ثبات «امكا » سوئي مت را بصيورت سيريع و كيارا فيرا م ميي كند،كيه بيه اندي
موجب ش بخ يار جداگانه يا نرم افزار،مستقل از ديهر بخ يا از يا مجموعي ثبيات خياص
خود استفاده مي كنند.
«ثبات هاي كاربرد خاص»
ثبات ار داخ ي در اغ ب ريز پردازنيده توسيط مجموعي دسيتورالعمل يا بيه صيورت صينفي
قابل دسترسي سيتند.بيرار مثيال« »INCAدر ريزپردازنيده 9086 محتيوار انبيار، Aرا ييا
واحد افزايش مي د د.عم يات به صيورت مخت فيي در كيد عم يياتي دسيتورالعمل م يخص يده
اسييت.روش دسييتيابي م ييابيي بييرار ثبييات ييا درميكروكنترلر ييا 1508 امكييا پييذير اسييت.در
حقيقييت دسييتورالعمل « »INCAدر 1508 مييا عمييل را انجييام مييي د ييد.ثبييات ييا داخ ييي
ير ثبيات دارار ييا 1508به عنوا بخ ي از RAMرور ترا ه پيكربنيد يده انيد.بنيابراي
62
شدرز نيز ست.
اي برار 1508منطقي است چو ثبات زيادر دارد.ع وه بر 7 21،Rثبات كياربرد خياص
( )SFRدر ناحيه با ر RAMاز شدرز 80Hتا FFHوجود دارد.دقت كنيد كه اكثير 821
شدرز از 80Hتا FFHتعريف ن ده اند.تنيا 12 شدرز SFRتعريف ده است.
52
Program status word
ايه ثبات ٌا بىذرت بطُر مضتقيم دصتكاري مي 62 شماروذي بروامً PCثبات دصتُرانعمم اصتثىاء ٌضتىذ.چُن
شُوذ قراردادن آوٍا در RAMرَي تراشً فرَ مي رَد.
62
اگرچه انباره به صورت مخفي قابيل دسترسيي اسيت اكثير SFRيا بيا اسيتفاده از شدرز د يي
مستقيم قابل دستيابي است. طراحا باييد نهيام بيازكرد بيا بييت يا بيه جيار باييت يا مراقيب
SETBبييت 0در انبياره را 1 ميي كنيد وليي با يند.بيرار مثيال دسيتورالعمل:OEOH
ديهر بييت يا را متغييير نميي د يد. يهرد كيار ت يخيص ايي نكتيه اسيت كيه بيدانيم EOHيم
شدرز كاميييل بيييا بييييت انبييياره و يييم شدرز كيييم ارزش تيييري بييييت درانبييياره ميييي با يييد.چيييو
دستورالعمل SETBرور بييت يا عميل ميي كنيد تنييا رور بييت شدرز د يي يده تي ثير ميي
گذارد.برار مثال درگاه 1 شدرز با بيت 90Hيا 1001000Bقيراردارد بييت يار درگياه 1
در شدرز 90Hتا 97Hقراردارند يعني .10010XXXB
72
«كلمه وضعيت برنامه»
ك مه وهيعيت برناميه ( )pswدر شدرز DOHميانطور كيه در جيدول صيفحه بعيد خ صيه
ده است
بيت نماد شدرز رح عم كرد بيت
7.Psw CY D7H پرچم نق ي
6.Psw AC D6H پرچم نق ي كمكي
5.Psw Fo D5H پرچم 0
4.Psw 1RS D4H انتخاب بانا ثبات 0
3.Psw 0RS D3H انتخاب بانا ثبات 1
00H-07H 00=بانا0، شدرسيار
08-0FH 10= بانا 1، شدرز ار
10H-17H 0 1= بانا 2، شدرز ار
18H-1FH 11= بانا 3، شدرز ار
D2H پرچم سرريز
D1H رزرو دده
D0H پرچم تواز زوج
امل بيت ا وهعيت مي با د.
«پرچم نقلي»
82
بيت نق ي ( )CYيا بيت دو منظوره است كه كاربرد ش بيرار عم ييات حسيابي اسيت اگير در
طي عمل جمع،يا بيت نق ي از بيت 7خارج ود ييا در طيي عميل تفري ،ييا بييت فرهيي بيه
بيت 7 وارد ود پرچم نق ي 1 مي ود.برار مثال اگر انباره امل ffhبا د دستورالعمل:
ADD 1#,A
به انباره مقدار 00Hرا داده و پرچم نق ي را در 1،pswمي كند.
پييرچم نق ييي در هييم يييا انبيياره بييولي نيييز سييت،كه بييه عنييوا يييا ثبييات تييا بيتييي بييرار
دستورالعمل ار بولي كه رور بيت ا عمل مي كنند به كار مي شيد.بيرار مثيال دسيتورالعمل
زييير بيييت 25Hرا بييا پييرچم نق ييي ANDمييي كن يد و نتيجييه را بييه پييرچم نق ييي برمييي گردانييد:
AND C,25H
«پرچم نقلي كمكي»
نهام جمع كرد مقادير د يد ي كيد يده بصيورت دوروييي ( )BCDاگير ييا انتقيال از بييت
3به بيت 4اتفا بيفتد،يا نتيجه در چيار بيت پائيني بي oAHتا oFHبا د پرچم نق ي كمكي
Setميييي يييود.اگييير مقيييادير كيييه جميييع يييده انيييد،BCDبا يييند دسيييتورالعمل جميييع باييييد بيييا
(DAAتصيييحيح اع يييارر انبييياره)72دنبيييال ميييي يييود.تيييا نتيييايا بزرگتييير از 9 بيييه محيييدودا
كاربرگردانده وند.
«پرچم صفر0 »
پرچم 0يا 0 Fيا بيت پرچم مه منظوره برار استفاده كاربرا مي با د.
72
Decimal Adjust Accumulator
92
«بيت هاي انتخاب بانك ثبات»
بيييت ييار انتخيياب بانييا ثبييات (1 Rsو 0،)RSبانييا ثبييات فعييال را م ييخص مييي كننييد،در پييي
Resetييد سيسييتم پيياا مييي ييوند و در صييورت لييزوم بصييورت نييرم افييزارر تغيييير مييي
كنند.برار مثال سه دستورالعمل زير بانا 3 را فعيال كيرده سيپز محتوييات ثبيات 7 Rرا بيه
انباره منتقل مي كنند:
1SETB Rs
0SETB RS
7MOV A,R
نهييامي كييه برنامييه بييا اسييمبل ييود شدرز ييار بيييت درست،جان ييي نماد ييار « »Rsoو
«1 »RSمي وند و به اي ترتيب دسيتورالعمل 1 SETBRSميا SETB OD4Hميي
با د.
03
82
«پرچم سرريز»
پرچم سرريز ()OVپز از يا عمل جمع يا تفري ،اگر يا سيرريز حسيابي اتفيا بيفتيد 1 ميي
ود. نهامي كه اعداد ع مت دار جمع يا تفريي ميي يوند،نرم افيزار ميي توانيد ايي بييت را
بررسي كند تا م يخص يود كيه نتيجيه در محيدوده مناسيب قيراردارد ييا خيير.وقتيي كيه اعيداد
بيدو ع ميت جميع ميي يوند از بييت 75 صيرف نظير ميي يود.نتيايا بزرگتيراز +721 ييا
كوچكتر از –821 بيت 75/1 1 مي كننيد.بيرار مثيال عميل جميع زيير باعيث سيرريز يده و
بيت OVرا در 1,Pswمي كند:
of 51
7f 721
: Hex : Decimal
8E 241
8EHبه عنوا يا عدد ع ميت دار،بيا –611 معيادل اسيت كيه بيه وهيوح بيا نتيجيه درسيت
يعني 241 متفاوت است بنابراي بيت 1,OVمي ود.
«بيت توازن92»
بيت تواز ( )Pدر ر سيكل ما ي برار ساخت تواز زوج انباره،بطور خودكار 1وييا پياا
مي ود.تعداد بيت ار 1 در انباره به ع وه بيت pمواره زوج است اگر برار مثال انباره
امل 10110101 با يد pحياور 1 خوا يدبود.بييت تيواز اغ يب در ارتبياط بيار اول يار
درگاه سلاير برار اهافه كرد يا بيت تواز پييش از فرسيتاد و ييا بررسيي تيواز پيز از
دريافت به كار مي رود.
82
overflow flag
92
parity flag
13
«ثبات »B
ثبييييات Bدر شدرز foHبييييه مييييراه انبيييياره بييييرار عم يييييات هييييرب و تقسيييييم اسييييتفاده مييييي
يت بيتيي بيدو ع ميت در Aو Bرا صيرف كيرده و ود.دستورالعمل MUL ABمقادير
نتيجه 61 بيتي را در Aو Bقيرار ميي د يد.دسيتورالعمل A,DIV ABرا بير Bتقسييم ميي
كند و خارج قسمت را در Aو باقي مانده را در Bمي گذارد.ثبات Bمچنيي بيه عنيوا ييا
ثبات چركنويز مه منظوره عمل مي كند.اي ثبات بيت شدرز پذير ازشدرز FOHتيا F7H
نيز ست.
03
«اشاره گر پشته»
يت بيتيي در شدرز 81Hاسيت. ايي ثبيات حيياور شدرز داده ار ا ياره گير پ يته ييا ثبيات
پ ته قيراردارد.عم ييات پ يته يامل پيوش كيرد داده نهام در با ر است كه در ما
به پ ته و چار كرد داده ازپ ته مي با د.پوش كرد به پ ته spرا پييش از انتقيال داده بيه
پ ته يا واحد افزايش مي د د و عمل پار كرد ،داده را ازپ يته ميي خوانيد سيپز spرا ييا
واحد كا ش مي د د.
پ ييته 1508 در RAMداخ ييي قييرار دارد و محييدود بييه شدرز ييايي اسييت كييه بييا شدرز د ييي
غيرمسييتقيم قابييل دسترسييي اسييت.يعنييي 821 بايييت اول در 1508/1308يييا تمييام 652بايييت
RAMرور ترا ه 1508/2308 .برار مقدار اوليه داد دوباره به spدر پ يته ار كيه از
شدرز 60Hشغييييياز ميييييي يييييود. دسيييييتورالعمل زيييييير ميييييورد اسيييييتفاده قيييييرار ميييييي گييييييرد:
MOV SP,#5FH
03
Stack pointer
23
در 1508/1308 اي دستورالعمل پ ته را به 23 بايت محدود مي كند،چو بيا تري شدرز
در RAMرور ترا ه، 7FHاست.در اي دستورالعمل مقدار 5FHبه كيار رفتيه چيو SP
پيش از اوليي عميل پيوز ييا واحيد افيزايش ميي يابيد و 60Hميي يود،طراحا ممكي اسيت
نخوا نييد ا يياره گيير پ ييته را مقييدار د ييي اوليييه كننييد و بهذارنييد مقييدار پيييش فييرض خييود را از
نهييام resetييد حفييظ كنييد اييي مقييدار يعنييي 07Hبييا 8408 كييه پردازنييده،قبل 1508
است،سازگارر دارد وباعث مي ود كه اولي نو ته در پ ته،داده را در شدرز 08Hذخيره
كنيييد.اگييير نيييرم افيييزار ميييورد اسيييتفاده بيييه spمقيييدار اولييييه ند يييد،بانا ثبيييات 1 در دسيييترز
نخوا دبود.زيرا اي ناحيه از RAMداخ ي بخ ي از پ ته مي با د.پ ته بطور صريح توسط
دستورالعمل ار pushو popبرار ذخيره و بازيافت موقتي داده ا قابل دسترز اسيت ييا
بصورت صنفي با فراخواني زوال ا (31)ACALL,LCALLو بازگ ت(RETIو)RETكه
23
ستند.مي توا به ش دسترسي پيدا دستورالعمل ايي برار ذخيره و بازيابي مارنده برنامه
كرد.
13
subriutines
23
Programcounter
33
«اشاره گر داده33»
ا اره گر داده كه برار دستيابي به حافظيه كيد ييا داده خيارجي اسيتفاده ميي يود،يا ثبيات 61
بيتييي اسييت كييه در شدرز ييار 82Hو 83Hقييراردارد.سييه دسييتورالعمل زييير 55Hرا در
مكا 1000Hدر RAMخارجي مي نويسد:
MOV A,#55H
MOV DPTR ,# 1000H
MOVX @DPTR,A
اوليي دسيتورالعمل از شدرز د يي فيورر بيرار انتقييال داده ثبيات 55Hبيه انبياره اسيتفاده مييي
كند. دومي دستورالعمل نيز شدرز د ي فيورر را ايي بيار بيرار انتقيال شدرز ثبيات 61 بيتيي
1000ttبه ا اره گر داده به كار مي برد.دستورالعمل سيوم از شدرز د يي غيرمسيتقيم بيرار
انتقييييال محتييييوار )55H(Aبييييه مكيييياني از RAMخييييارجي كييييه شدرسييييش در DPTRاسييييت
()1000Hاستفاده مي كند.
«ثبات هاي درگاه43»
درگا يييار I/Oدر 1508 عبارتنييد از درگيياه 0 در شدرز ، 80Hدرگيياه 1 در شدرز 90H
درگاه 2 در شدرز A0Hو درگاه 3در شدرز .BoHدرگاه يار 0,2,3 در صيورت اسيتفاده
از حافظه خارجي يا برخي از امكانات خاص 1508،برار عم يات I/Oدر دسترز نيستند.با
مه 2.1pتا 7.1 pمواره به عنوا خطوط I/Oمه منظوره قابل استفاده مي با ند. مه اي
درگاه ا بيت شدرز پذير ستند كيه امكانيات قدرتمنيدر را بيرار ارتباطيات متقابيل فيرا م ميي
كنند.اگر يا موتور از طري يا سيم و پي و سوئي ترانزيستورر به بييت 7درگياه 1 وصيل
33
data pointer
43
Port registers
43
با يييييييييييييييييد،برار مثيييييييييييييييييال ميتوانيييييييييييييييييد: ييييييييييييييييييا دسيييييييييييييييييتورالعمل 1508يعنيييييييييييييييييي:
7.1SETB P
ود و با دستورالعمل زير خاموش گردد: رو
7.1CLR P
دستورالعمل ا فو از عم هر نقطه برار شدرز داد به يا بيت دريا مكا بيت شدرز پذير
اسييتفاده مييي كننييد. اسييمب ر تغييييرات زم را انجييام مييي د ييد بييدي ترتيييب دو دسييتورالعمل زييير
معادل ستند:
7.1CLR P
CLR 97H
به عنوا يا مثيال ديهير ارتبياط بيا وسيي ه ار يامل ييا بييت وهيعيت بنيام Bvsyرا درنظير
بهيريدئ كه نهام م غول بود وسي ه،او نهام شماده بود ش پاا مي با د.1 مهير Busy
برفرض به بيت 5درگاه 1 وصل ده با يد،ح قه زيير باعيث ميي يود كيه سيسيتم بيرار شمياده
د وسي ه صبر كند:
:WAIT JB P1.5 , WAIT
اي ي دسييتورالعمل يعنييي «اگيير بيييت 5.1 Pد،برحسييب WAITپييرش ك ي »بييه عبييارت ديهيير
«برگرد و دوباره ش را بررسي ك ».
53
«ثبات هاي تايمر»
1508 دارار دو تايمر مارنده 61 بيتي برار زما بندر فاص ه ار زماني53و يا يمارش
اتفاقييييات63اسييييت.تييييايمر 0درشدرز ييييار 8AHو 8CHو تييييايمر 1 در شدرز ييييار 8BH
قراردارند.عم كرد تايمر توسط ثبات حالت تايمر73( )TMODدر شدرز 89Hو ثبات كنترل
تايمر()TCONدر شدرز 88Hتعيي مي يود كيه از ايي دو،تنييا TCONبييت شدرز پيذير
است.
«ثبات هاي درگاه سلاير»
1508 امل يا درگاه سلاير رور ترا ه برار ارتباط بيا ابزار يار سيلاير ماننيد پايانيه يا و
مدم ا و يا برار ارتباط با ديهر ICايي كه خطوط ارتباطي سلاير دارنيد،مي با يد.ثبياتي بيه
نام بيا فيردادا سيلاير83( )SBUFدر شدرز 99Hير دو دادا ارسيالي و درييافتي را نهيه ميي
دارد.نو يييت در ، SBUFداده را بيييرار ارسيييال شمييياده ميييي كنيييد و خوانيييد از ،SBUFداده
دريافتي را دردسترز قرار مي د د.حالت ار مخت ف عم كرد مخت يف عم كيرد درگياه سيلاير
از طري ثبات كنترل درگاه سلاير در شدرز 99Hكه بيت شدرز پذير نيز ست،قابل برنامه
ريزر مي با د.
53
interval timing
63
event counting
73
timer mode register
83
Serial data buffer
63
«ثبات هاي وقفه»
1508دارار يييا سيياخت بييا پيينا منبييع وقفييه در دو سييطح تقييدم93مييي با ييد.وقثييه ييا پييز از
resetده سيستم غيرفعال ميي يوند وسيپز بيا نو يت در ثبيات فعيال سيازر وقفيه04()IEدر
شدرز ،A8Hفعال مي گردند.سطح تقدم از طري ثبات تقدم وقفه14در شدرز B8Hتعييي ميي
ود. ر ثبات بيت شدرز پذير ستند.
«ثبات كنترل توان24»
بيت SMODنرخ ارسال درگاه سلاير را در حالت ار 1,2,3دو برابر مي كند.بيت يار 4
و 5 و 6در PCONتعريف ن ده اند و بيت ار 2 و 3بيت ار پرچم مه منظيوره بيرار
44()IDLابتدا استفاده كاربرا مي با ند.بيت ار كنترل توا يعني افت تغذيه34()PDو مع
در مييه ICييار خييانواده MCS-51TMدر دسييترز بودنييد امييا ييم اكنييو در نسييخه ييار
CMOSمنظور مي وند.ثبات PCONبيت شدرز پذير نيست.
93
Priority level
04
interrupt emable register
14
inteivpt prioroty registevs
24
شامم بيت ٌاي كىترل مختهفي اصت كً در جذَل خالصً شذي اوذ. ثبات كىترل تُان در آدرس 87H
34
Power Down
44
Idle
73
«حالت معلق»
دسييتورالعم ي كييه بيييت IDLرا 1 ك نييد،شخري دسييتورالعم ي خوا ييد بييود كييه پيييش از ورود بييه
حالييت مع ي اجييرا مييي ييود در حالييت مع ي سيييهنال سيياعت داخ ييي بييه CPUاعمييال مييي
ييود.1مانييه بييرار كاربرد ييار وقفييه،تايمر و درگيياه سييلاير.وهييعيت CPUحفييظ و محتويييات
ثبات ا تثبيت مي گردد. پايه ار درگياه يا يم سيطح منطقيي خيود را حفيظ ميي كننيد.ALEو
PSENنيزبيا ميي رونيد. حاليت مع ي توسيط ير وقفيه ار كيه فعيال يود ييا بيا resetيد
رايط بيت IDLرا پاا مي كند. سيستم پايا مي يابد ريا ازاي
«حالت افت تغذيه»
دستورالعم ي كه بيت PDرا كند شخري دستورالعم ي خوا د بود كيه پييش از ورود بيه حاليت
افت تغذيه اجرا مي ود.در حالت افت تغذيه:1- نوسا ساز رور ترا ه متوقف مي و يد 2-
تمامي اسامي متوقف مي وند 3- محتويات RAMرور ترا ه حفظ ميي يود 4-پاييه يار
PSENDپييايي ميي رونييد.تنيييا راه درگياه سييطح منطقيي خييود را حفييظ ميي كننييد 5- ALEو
خييروج از ايي حالييت،resetكييرد سيسييتم اسييت. نهييامي كييه سيسييتم در ايي حالييت قييراردارد
Vccمي تواند تا 2 ولت افت كند.بايد مراقب بود كه Vccپيش از ورود به اي حالت افت كند
و دست كم ده سيكل نوسا ساز پيش از پايي رفت پاي Vcc,RSTبه 5 ولت برگردد.
83
«حافظه خارجي»
بييرار پ ر يييز از يييا تنهنييار بييالقوه در طراحي،ميكروكنترلر ييا بايييد قاب يييت توسييعه را فراتيير
ازمنابع و امكانات رور ترا ه خود دا ته با ند.اگر قرار است امكاناتي توسعه يابد قاب يت ش
بايد وجود دا ته با د.معميارر MCS-51TMايي قاب ييت را بيه صيورت 64Kباييت فهيار
حافظه خارجي بارر كد و 64Kبايت فهار حافظيه خيارجي بيرار داده فيرا م كيرده اسيت و
در صييورت نييياز ROMو RAMاهييافي را مييي تييوا بييه ش افييزود. ICييار ارتبيياط بييا
ابزار ار جانبي نيز مي توانند برار افزايش قاب ييت I/Oاهيافه گردنيد.اينييا جزئيي از فهيار
حافظه دادا خارجي با استفاده از نق ه حافظه برار I/Oميي با يند. نهاميكيه حافظيه جيارجي
مورد استفاده قرار مي گيرد درگاه 0 به عنوا يا درگاه I/Oقابل اسيتفاده نيسيت.ايي درگياه
به يا گذرگاه شدرز (7)A0-Aو داده (7)D0-Dمالتي پ كز ده تبديل مي ود. ALEباييت
پائي شدرز را در روي ر سيكل حافظه خارجي ذخيره مي كند.
درگاه 2 معمو برار بايت با ر گذرگاه شدرز به كار گرفته مي ود.
پيش از بحث پيرامو جزئيات خاص مالتي پ كز كرد گذرگاه ار شدرز و داده،ايدا ك ي و
در كل ن ا داده ده است.يا شرايش بدو ميالتي پ كيز از 61 خيط اختصاصيي شدرز و 8
خيط اختصاصييي داده يعنييي كي از 42 پايييه اسييتفاده مييي كنييد.شرايييش مييالتي پ كييز ييده 8 خييط
گذرگاه را با بايت پائي گذرگاه شدرز مالتي پ كز مي نماييد.ايي تعيداد بيا 1 خيط ديهير بيرار
بايت با ر گذرگاه شدرز،ك 61 پايه مي ود اي صرفه جويي درپايه ا باعث مي ود كه
امكانات و توانايي ار بي ترر در يا بسته بندر دورديفيه54 04 پاييه ار ايجياد يود.در طيي
نيميييه نخسيييت رسييييكل حافظيييه باييييت پيييايي شدرز در درگييياه 0 قيييرار ميييي گييييرد و توسيييط
ALEذخيره مي ود.يا 373 74HCبايت پائي شدرز را در طي سيكل حافظه بايد از نهاه
54
Dual Inline package
93
ميي دارد.در طييي نيميه دوم سيييكل حافظيه درگيياه 0 بييه عنيوا گييذرگاه داده بيه كييار مييي رود و
داده،بسته به عمل انجام ده خوانده يا نو ته مي ود.
«دستيابي به حافظه كد خارجي»
حافظه گد خارجي يا حافظه خواندني است كه توسط سيهنال PSENفعيال ميي يود. نهيامي
كه از يا EPROMخارجي استفاده مي كنيم،درگياه يار 0 و 2بيه عنيوا درگياه يار I/O
مه منظوره در دسترز ما نيستند.اتصا ت سخت افزارر برار حافظيه EPRUMدر يكل
ن ا داده ده است.يا سيكل ما ي در 1508 برابر با 21 ولتاب نوسا ساز اسيت. بيرار
نوسا ساز رور ترا ه با يا كريستال 21 مها رتز ير سييكل ما يي ييا ميكروثانييه طيول
مي ك د.در طي يا سيكل ما ي نوعي ALEدو پالز مي د د و دو باييت از حافظيه برناميه
خوانده مي ود.زما بندر اي عم يات كيه بيه واكن يي كيد عم يياتي64معيروف اسيت در يكل
زير ن ا داده ده است.
«دستيابي به حافظه داده خارجي»
حافظه داده خارجي يا حافظه خواندني – نو تني است كه با RDيا WRفعال مي يود.ايي
دو
سيهنال عم كرد و ديهر پايه ار 6.3 pو 7.3 pمي با يند.تنييا راه دسيتيابي بيه حافظيه داده
خارجي دستورالعمل MOVxمي با د كه از ا اره گير داده 61 بيتيي،0 Rو ييا 1 Rبيه عنيوا
ثبات شدرز استفاده مي كند.
64
opcode f.etch
04
RAMا مي توانند مانند EPROMا به 1508 مرتبط وند.با اي تفياوت كيه RDبيه
خط OEترا ه RAMو WRبه خط Wش وصل مي يود.اتصيا ت گيذرگاه شدرز و داده
مانند EPROMا اسيت. ميا طيور كيه گفتيه يد بيا اسيتفاده از درگا ييار 0و 2 تيا 64K
بايت از RAMخارجي داده مي تواند به 1508 وصل ود.
يا نمودار زما بندر برار يا عمل خواند از حافظيه دادا خيارجي بيرار دسيتورالعمل @
DPTRو MOV X Aدر كل ن ا داده ده است.يا پيالز ALEو ييا پيالز PSEN
74
در عوض يا پالز رور خط ROبرار فعال كرد RAMحذف ده است.
كل است. MOVبه ما زما بندر يا سيكل نو ت برار Aو X @ DPTR
فقط WRپايي مي رود و داده از درگاه 0 خارج مي ود. در سيم ايي كه با كمتري اجيزام
ممك طراحي مي وند،از عم كرد ديهر درگاه 2صرف نظر مي ود.زيرا اي سيستم ا از
حافظه كد خارجي استفاده نمي كنند و تنيا به مقدار كميي حافظيه داده خيارجي نيياز دارنيد.اگير
حافظه داده خارجي به صورت حافظيه يار كوچيا صيفحه گيرا پيكربنيدر يود توسيط شدرز
ت بيتيي قابيل دسترسيي اسيت.اگير بييش از ييا صيفحه 52 بيتيي از RAMميورد نيياز ار
با د چند بيت از درگاه 2مي تواند يا صفحه را انتخاب كند.برار مثال 1Kبايت RAMميي
كل به 1508مرتبط ود.بيت ار 0و 1درگاه 2 بايد برار انتخاب يا صفحه تواند مطاب
مقييدار د ييي اوليييه ييوند و سييپز يييا دسييتورالعمل MOVXبييرار خوانييد و نو ييت داده در
صفحه استفاده مي يود.بيرار مثيال فيرض كنييد 0 p2 .0 p2 .1 دسيتورالعمل يار زيير ميي
تواننييد بييرار خوانييد محتويييات RAMخييارجي بييه داخييل انبيياره در شدرز 0050Hبييه كييار
بروند:
Mov Ro,#50H
74 اگر دصتُرانعمم ٌاي RAM َ(Movxخارجي)ٌرگز اصتفادي وشُوذ، ALEبطُر ثابت با 6/1 فركاوش
كريضتال،پانش ارصال مي كىذ.
14
Mov X A , @RO
بيييرار خوانيييد شخيييري شدرز ايييي RAMيعنيييي 03ffHدو بييييت انتخييياب صيييفحه باييييد 1
وند. ر ت دستورالعمل ار زير برار اي منظور مي توانند مورد استفاده قرار بهيرند:
SETB 0.2P
SETB 1.2P
Mov RO,# offH
Mov X A ,@ RO
يا مزيت اي طراحي اي است كه بيت ار 2تا 7 درگاه 2به عنوا بيت ار شدرز استفاده
نمييي ييوند،در ح يالي كييه اگيير DPTRبييه عنييوا ثبييات شدرز بييه كييار مييي رفييت مييورد نييياز
بودند.در نتيجه 2.2 Pتا 7.2 Pبرار مقاصد I/Oدر دسترز قرار مي گيرند.
24
«عمليات راه اندازي مجدد،reset
1508با قرارگرفت RSTدر وهعيت منطقي با برار دست كم دو سييكل ما يي و سيپز
پايي شمد ش مي تواند resetود. RSTممك است بطور دستي با استفاده از يا سوئي و
يا نهام اعمال تغذيه توسط يا مدار RCفعال گردد. كل صفحه بعيد دو ميدار بيرار reset
كرد سيستم را ن ا مي د د.
وهيعيت مييه ثبييات ييار 1508پييز از resetسيسييتم در جييدول صييفحه بعييد خ صييه ييده
است:
ايد ميم تري اي ثبات ا مارنده برنامه با د كه با 0000Hبار مي ود. نهاميكه RST
دوباره پايي مي رود.اجرار برنامه مي ه از اولي مكا در حافظه كه يعني 0000Hشغياز
مي ود.عمل resetتاثيرر بر محتوار RAMرور ترا ه ندارد.
34
محتويات ثبات ا
0000H مارنده برنامه
00H انباره
00H ثبات B
00H PSW
07H SP
0000H PPTR
FFH درگاه 3-0
XXX 00000B (1508/1308)IP
XX000000B (2508/2308)IP
0XX00000B (1508/1308)IP
0X000000B (2508/2308)IP
00H ثبات ار تايمر
00H SCON
00H SF
0XXXXXXXB (PCON)HMOS
0XXX0000B (PCON)CMOS
خالصه دستورالعمل ها:
الف)دستورات محاسباتي:
44
دستور عم وند توهيح
ADD A,sovrce Add sovrce to A
ADD A,#data
ADDC A,sovrca Add with carry
ADDC A,#Data
SVBB A,soverco Subtract from A
SVBB A,#dare With borrow
INC A Ineremenr
INC Sover
DEC A Decrement
DEC Sovrce
INC DTPR Inerement DPTR
MUL AB Mvltiply A 8B
DIV AB Divide A by B
DA A Decimel adjvst A
دستور عم وند توهيح
MOV A,Source Move source
MOV A,#Data To dastination
45
MOV Dest,source
MOV Dest,#data
MOV DPTR,#data 16
MOV C A,@AtDPTR Move from code
MOV C A,@Atpe Memory
MOVX A,@Ri Move from daca
MOVX A,@DPTR Memory
MOVX @Ri.A
MOVX @ DPTR,A
PusH Direct Push on to srack
POP Direct Pop from stack
XCH A.sovrce Exchange bytes
XEHD A,@Ri Exchang elow
Order digits
:ج)دستورات منطقي
دستور عم وند توهيح
ANL A,soberce Logical AND
ANL A,#data
ANL Direct,A
ANL Direct,#data
46
ORL A,soverce Logical OR
ORL A.#data
ORL Direct,A
ORL Direct,#data
XRL A,sovrce Logical XOR
XRL A,#data
XRL Direct,A
XRL Direct,#data
CLR A Elear A
CPL A Complement A
RL A Rotate Alefr
RLC A )through c(
RR A Rorare A right
RRC A )throughe(
SWAP A Swap nibbles
:د)دستورات بيتي
دستور عم وند توهيح
CLR C Clear c
CLR Bit Clear bit
SETB C Set C
47
SETB Bit Set bit
CPL C Complement C
CPL Bit Complement bit
ANL C,bit AND bit with C
ANL C,/bit AND NOT bit with
C
ORL C,bit OR not bit with C
Mov C,bit Mov bit to carry
Mov Bit,c Mov carry to bit
Jc Rel Jump if c set
JNC Rel Jvmp if c notser
JB Bit,rel Jump if bit set
JNB Bit,rel Jump if bit not set
JBC Bit,rel Jump if set then
clear
:ه)دستورات ان عاب
دستور عم وند توهيح
ACALL Addr11 Call svbroutine
ACALL Addr16
RET Return from svb
48
RETI From intervpt
AJMP Jump
LJMP Addr 16
SJMP Addr16
JZ Rel
JNZ @ATDPTR Jump if A=0
CJNE Rel If A not= 0
CJNE Rel Compare and Jvmp
CJNE A,data,rel IF not eqvel
CJNE A,#data,rel
DJNZ @ Ri,#data,rel
DJNZ Rn,rel Decrement and
jump
DJNZ Dircct.rel If not zero
49
و)دستور :NOP
دستور عم وند توهيح
NOP - No operarion
راهنماي جدول:
:RNشدرز د ي ثبات،0Rتا 7 Rمجاز است.
:@Riشدرز غيرمسييتقيم بييه كمييا 0 Rو 1( Rشدرز حافظييه داخ ييي يييا SFRيييا 652 بابييت
اول حافظه خارجي در 0 Rيا 1 Rقرار مي گيرد.)
:directشدرز حافظه داخ ي( 00Hالي 7FHيا نام يكيي از SFRيا مثيل TMODييا PO
يا Aكه ج ور عدد ع مت #نبا د).
:Daraيا عدد ثابت 8 بيتي مثل #12Hيا 42#يا 0101bيا 1111#يا 042#(اكتال)
61:Daraيا عدد ثابت 61 بيتي مثل #1234H
11 :Addrيا شدرز 11 بيتيي (ميي توانيد نيام ييا Lableو ييا ييا عيدد 11بيتيي در صيفحه
جارر كه ع مت # زم ندارد).
61 :Addrيا شدرز 61 بيتي مستقيم (مي تواند نام يا Lableيا يا عدد 61 بيتي با يد و
ع مت # زم ندارد).
:Bitعددر بي 00Hالي ( 7FHشدرز يكي از بيت ار قابل شدرز كرد بيتي)ييا نيام بييت
sfrار قابل شدرز د ي بيتي مثل 5. tconيا 2.1p
:RELيا عدد 8 بيتي ع مت دار(كه در برنامه نام lableمقصد پرش است).
:Sovrceيكي از نماد ار RAو @Riو directكه مقصد را ن ا مي د د.
تذكر: ميكروكنترلر 15 8Xمانند ر پردازنده با كد 8بيتي مي تواند تا 652 دسيتور دا يته
با د كه ك 041 دستور يا بايتي و 19 دستور دو بايتي و 42 دستور 3بايتي دارد.برار كد
05
A5Hدستورالعمل تعريف ن ده اتز.(552=42+19+041).
15