إنتل MCS-51

إنتل MCS-51 (المعروفة باسم 8051 ) هي سلسلة من وحدات التحكم الدقيقة أحادية الشريحة (MCU) طورتها شركة إنتل عام 1980 للاستخدام في الأنظمة المدمجة . لاقت الإصدارات الأصلية من إنتل رواجًا كبيرًا في ثمانينيات وتسعينيات القرن الماضي، ولا تزال الإصدارات المحسّنة المتوافقة مع النظام الثنائي شائعة حتى اليوم. وهي عبارة عن حاسوب ذي مجموعة تعليمات معقدة ، يحتوي على مساحات ذاكرة منفصلة لتعليمات البرنامج والبيانات.

طُوّرت عائلة معالجات MCS-51 الأصلية من إنتل باستخدام تقنية أشباه الموصلات المعدنية المؤكسدة من النوع N ( NMOS )، مثل سابقتها Intel MCS-48 ، ولكن الإصدارات اللاحقة، التي يُشار إليها بالحرف C في اسمها (مثل 80C51)، تستخدم تقنية أشباه الموصلات المعدنية المؤكسدة التكميلية ( CMOS ) وتستهلك طاقة أقل من سابقاتها من نوع NMOS. وهذا ما جعلها أكثر ملاءمة للأجهزة التي تعمل بالبطاريات.

استمر تطوير هذه العائلة في عام 1996 مع إصدار MCS-151 المحسّن ذي 8 بت ، وعائلة MCS-251 ذات 8/16/32 بت من وحدات التحكم الدقيقة المتوافقة مع النظام الثنائي. [ 1 ] ورغم أن شركة إنتل لم تعد تُصنّع عائلة MCS-51 وMCS-151 وMCS-251، إلا أن المشتقات المحسّنة المتوافقة مع النظام الثنائي، والتي تُصنّعها العديد من الشركات، لا تزال تحظى بشعبية واسعة حتى اليوم. تتضمن بعض هذه المشتقات معالج إشارة رقمية (DSP) أو وحدة حسابية للفاصلة العائمة (معالج مساعد، FPU). إلى جانب هذه الأجهزة المادية، تُقدّم العديد من الشركات أيضًا مشتقات MCS-51 كنوى ملكية فكرية (IP) لاستخدامها في تصميمات مصفوفات البوابات المنطقية القابلة للبرمجة (FPGA) أو الدوائر المتكاملة الخاصة بالتطبيقات (ASIC).

تطوير

كان جون إتش. وارتون هو مصمم مجموعة تعليمات Intel MCS-51 . [ 2 ] [ 3 ]

الميزات والتطبيقات المهمة

بنية i8051 الدقيقة

توفر بنية 8051 العديد من الوظائف ( وحدة المعالجة المركزية (CPU)، وذاكرة الوصول العشوائي (RAM)، وذاكرة القراءة فقط (ROM)، ومنافذ الإدخال/الإخراج (I/O)، والمنفذ التسلسلي، والتحكم في المقاطعات ، والمؤقتات ) في حزمة واحدة :

من مميزات معالج 8051 وجود وحدة معالجة منطقية، مما يسمح بتنفيذ عمليات منطقية على مستوى البتات مباشرةً وبكفاءة عالية على سجلات داخلية ومنافذ ومواقع ذاكرة وصول عشوائي محددة . كما يتميز بوجود أربع مجموعات سجلات عمل قابلة للاختيار بين البنوك ، مما يقلل بشكل كبير من الوقت اللازم لتبديل السياق للدخول إلى إجراءات خدمة المقاطعة والخروج منها . بأمر واحد، يستطيع معالج 8051 تبديل بنوك السجلات، متجنباً بذلك عملية نقل السجلات الحيوية إلى ذاكرة الوصول العشوائي التي تستغرق وقتاً طويلاً.

الميزات المشتقة

اعتبارًا من عام 2013، لا تزال العديد من شركات تصنيع الرقائق الرئيسية تقوم بتطوير مشتقات جديدة، كما يقوم موردو برامج الترجمة الرئيسيون مثل IAR Systems و Keil و TASKING [ 6 ] بإصدار التحديثات باستمرار.

تتضمن المتحكمات الدقيقة القائمة على MCS-51 عادةً منفذ UART واحدًا أو اثنين ، ومؤقتين أو ثلاثة، وذاكرة وصول  عشوائي داخلية للبيانات بسعة 128 أو 256 بايت (16 بايت منها قابلة للعنونة على مستوى البت)، وذاكرة إدخال/إخراج تصل إلى 128 بايت ، وذاكرة برنامج داخلية تتراوح سعتها بين 512 بايت و64 كيلوبايت، وأحيانًا كمية من ذاكرة الوصول العشوائي الخارجية للبيانات (ERAM) الموجودة في مساحة البيانات الخارجية. تتشارك ذاكرة الوصول العشوائي الخارجية وذاكرة القراءة فقط (ROM) ناقلات البيانات والعناوين. كان معالج 8051 الأصلي يعمل بتردد 12 دورة ساعة لكل دورة معالجة، حيث تُنفذ معظم التعليمات في دورة معالجة واحدة أو دورتين. وبتردد ساعة يبلغ 12 ميجاهرتز ، كان بإمكان معالج 8051 تنفيذ مليون تعليمة من دورة واحدة في الثانية أو 500 ألف تعليمة من دورتين في الثانية. تُستخدم الآن على نطاق واسع أنوية 8051 المُحسّنة، والتي تعمل بست أو أربع أو اثنتين أو حتى دورة ساعة واحدة لكل دورة معالجة (يُشار إليها بـ "1T")، وتصل تردداتها إلى 100 ميجاهرتز، مما يُتيح لها تنفيذ عدد أكبر من التعليمات في الثانية. جميع أجهزة Silicon Labs ، وبعض أجهزة Dallas (التي أصبحت الآن جزءًا من Maxim Integrated )، وعدد قليل من أجهزة Atmel (التي أصبحت الآن جزءًا من Microchip ) مزودة بأنوية أحادية الدورة . [ 7 ] [ 8 ] [ 9 ]       

قد تتضمن متغيرات 8051 مؤقتات إعادة ضبط مدمجة مع خاصية الكشف عن انخفاض الجهد ، ومذبذبات مدمجة، وذاكرة برنامج ROM فلاش قابلة للبرمجة ذاتيًا، وذاكرة RAM خارجية مدمجة، ومساحة تخزين برامج داخلية إضافية، وشفرة مُحمل الإقلاع في ذاكرة ROM، وذاكرة تخزين بيانات غير متطايرة EEPROM ، وواجهات مضيف I2C وSPI وUSB، وناقل CAN أو LIN ، ووحدات راديو Zigbee أو Bluetooth، ومولدات PWM ، ومقارنات تناظرية ، ومحولات تناظرية إلى رقمية ورقمية إلى تناظرية ، وساعات توقيت حقيقية (RTC) ، وعدادات ومؤقتات إضافية، ومرافق تصحيح الأخطاء داخل الدائرة ، ومصادر مقاطعة إضافية، وأوضاع توفير طاقة إضافية، وعدد منافذ متوازية أكبر أو أقل، إلخ. وقد أنتجت شركة إنتل نسخة مبرمجة بقناع، 8052AH-BASIC، مع مترجم BASIC في ذاكرة ROM، قادر على تشغيل برامج المستخدم المحملة في ذاكرة RAM.

تم تكييف وحدات التحكم الدقيقة القائمة على MCS-51 للعمل في بيئات قاسية. ومن الأمثلة على الأنواع المقاومة لدرجات الحرارة العالية عائلة Tekmos TK8H51 التي تعمل في نطاق درجات حرارة من -40  درجة مئوية إلى +250  درجة مئوية [ 10 ] ، أو Honeywell HT83C51 التي تعمل في نطاق درجات حرارة من -55  درجة مئوية إلى +225  درجة مئوية (مع إمكانية التشغيل لمدة تصل إلى عام واحد عند +300  درجة مئوية) [ 11 ] . كما تتوفر وحدات تحكم دقيقة MCS-51 مقاومة للإشعاع للاستخدام في المركبات الفضائية؛ على سبيل المثال، من Cobham (المعروفة سابقًا باسم Aeroflex ) باسم UT69RH051 [ 12 ] ، أو من NIIET باسم 1830VE32 ( بالروسية : 1830ВЕ32 ) [ 13 ] .

في بعض كليات الهندسة، يُستخدم المتحكم الدقيق 8051 في دورات تمهيدية حول المتحكمات الدقيقة. [ 14 ] [ 15 ] [ 16 ] [ 17 ]

تقاليد تسمية العائلة

كان أول معالج دقيق من إنتل من طراز MCS-51 هو 8051، مزودًا  بذاكرة قراءة فقط (ROM) سعتها 4 كيلوبايت وذاكرة  وصول عشوائي (RAM) سعتها 128 بايت. أما الإصدارات التي تبدأ بالرقم 87، فتتضمن ذاكرة قراءة فقط قابلة للبرمجة بواسطة المستخدم (EPROM)، وأحيانًا قابلة للمسح بالأشعة فوق البنفسجية. بينما الإصدارات التي تبدأ بالحرف C كثالث رقم هي من نوع CMOS . أما الإصداران 8031 ​​و8032 فهما إصداران بدون ذاكرة قراءة فقط، بسعة 128 و256 بايت من ذاكرة الوصول العشوائي على التوالي. يمكن أن يشير الرقم الأخير إلى حجم الذاكرة، على سبيل المثال، 8052  بذاكرة قراءة فقط سعتها 8 كيلوبايت، و87C54 بذاكرة قراءة فقط قابلة للبرمجة بواسطة المستخدم سعتها 16  كيلوبايت، و87C58 بذاكرة قراءة فقط قابلة للبرمجة بواسطة المستخدم سعتها 32  كيلوبايت، وجميعها مزودة بذاكرة وصول عشوائي سعتها 256 بايت.

بنية الذاكرة

صورة رقاقة المعالج 8751 مع ذاكرة قراءة فقط قابلة للمسح والبرمجة  (EPROM) سعة 4 كيلوبايت وذاكرة وصول عشوائي (RAM) سعة 128 بايت

يحتوي معالج MCS-51 على أربعة أنواع متميزة من الذاكرة: ذاكرة الوصول العشوائي الداخلية (RAM)، وسجلات الوظائف الخاصة، وذاكرة البرنامج، وذاكرة البيانات الخارجية. وللوصول إلى هذه الأنواع بكفاءة، تستخدم بعض المترجمات [ 18 ] ما يصل إلى سبعة أنواع من تعريفات الذاكرة: ذاكرة الوصول العشوائي الداخلية، والوصول أحادي البت إلى ذاكرة الوصول العشوائي الداخلية، وسجلات الوظائف الخاصة، والوصول أحادي البت إلى سجلات وظائف خاصة مختارة (قابلة للقسمة على 8)، وذاكرة الوصول العشوائي للبرنامج، وذاكرة الوصول العشوائي الخارجية التي يتم الوصول إليها باستخدام الوصول غير المباشر إلى أحد السجلات القياسية ذات 8 بت، والوصول غير المباشر إلى ذاكرة الوصول العشوائي الخارجية باستخدام سجل الوصول غير المباشر ذي 16 بت.

صُممت مجموعة تعليمات المعالج 8051 وفقًا لبنية هارفارد مع ذاكرة منفصلة (للبيانات والتعليمات)؛ حيث لا يمكنه تنفيذ سوى التعليمات البرمجية المُستجلبة من ذاكرة البرنامج، ولا يحتوي على تعليمات للكتابة إلى ذاكرة البرنامج. ومع ذلك، فإن ناقل البيانات الخارج من الدائرة المتكاملة له مسار واحد للعنوان والبيانات، ويشبه إلى حد كبير ناقل بيانات بنية فون نيومان .

معظم أنظمة 8051 تحترم مجموعة التعليمات وتتطلب ميزات مخصصة لتنزيل البرامج القابلة للتنفيذ الجديدة، على سبيل المثال، في ذاكرة الفلاش.

ذاكرة الوصول العشوائي الداخلية

تحتوي ذاكرة الوصول العشوائي الداخلية (IRAM) على مساحة عناوين 8 بت، باستخدام العناوين من 0 إلى 0xFF. تحتوي IRAM من 0x00 إلى 0x7F على 128 سجلًا قابلًا للعنونة المباشرة، كل منها بحجم بايت واحد، ويمكن الوصول إليها باستخدام عنوان مطلق 8 بت مُضمّن في التعليمات. بدلاً من ذلك، يمكن الوصول إلى IRAM بشكل غير مباشر: حيث يُحمّل العنوان في R0 أو R1، ويتم الوصول إلى الذاكرة باستخدام صيغة ` @R0/` أو ` @R1/`، أو كذاكرة مكدس من خلال مؤشر المكدس SP، باستخدام عمليتي PUSH`/ ` POPو` *CALL/` RET.

يحتوي المعالج الأصلي 8051 على 128 بايت فقط من ذاكرة الوصول العشوائي الداخلية (IRAM). أما المعالج 8052، فقد أضاف ذاكرة IRAM من العنوان 0x80 إلى 0xFF، والتي لا يمكن الوصول إليها إلا بشكل غير مباشر (مثلاً لاستخدامها كمساحة للمكدس). كما تحتوي معظم نسخ المعالج 8051 على ذاكرة IRAM كاملة بسعة 256 بايت.

بدلاً من ذلك، يتم تعيين الوصول المباشر إلى عناوين IRAM من 0x80 إلى 0xFF على سجلات الوظائف الخاصة (SFR)، حيث توجد المراكم A وB وبت الحمل C وسجلات خاصة أخرى للتحكم والحالة وما إلى ذلك.

سجلات الوظائف الخاصة

توجد سجلات الوظائف الخاصة (SFR) في نفس حيز عناوين ذاكرة الوصول العشوائي الثابتة (IRAM)، عند العناوين من 0x80 إلى 0xFF، ويتم الوصول إليها مباشرةً باستخدام نفس التعليمات المستخدمة للوصول إلى النصف السفلي من ذاكرة IRAM. لا يمكن الوصول إليها بشكل غير مباشر عبر @R0أو @R1بواسطة مؤشر المكدس SP؛ فالوصول غير المباشر إلى هذه العناوين سيؤدي إلى الوصول إلى النصف الثاني من ذاكرة IRAM.

تتضمن سجلات الوظائف الخاصة (SFR) المُراكمين A (أو ACC، عند E0) وB (عند F0) وكلمة حالة البرنامج (أو PSW، عند D0)، بالإضافة إلى مؤشر البيانات DPTR ذي 16 بت (عند 82، كـ DPL و83 كـ DPH). إلى جانب ذلك، توجد مجموعة صغيرة من سجلات الوظائف الخاصة الأخرى - بما في ذلك تمكين المقاطعة IE عند A8 وأولوية المقاطعة IP عند B8؛ ومنافذ الإدخال/الإخراج P0 (80) وP1 (90) وP2 (A0) وP3 (B0)؛ ووحدة التحكم في الإدخال/الإخراج التسلسلي SCON (98) والمخزن المؤقت SBUF (99)؛ وسجل التحكم في وحدة المعالجة المركزية/الطاقة PCON (87). وتوجد سجلات التحكم في المؤقتين 0 و1 (TCON في 88) ووضع التشغيل (TMOD في 89)، والمؤقت 0 ذو 16 بت (TL0 في 8A، TH0 في 8C) والمؤقت 1 (TL1 في 8B، TH1 في 8D) في جميع إصدارات 8051. أما العناوين الأخرى فتعتمد على الإصدار؛ وعلى وجه الخصوص، فإن سجلات المؤقت 2 لـ 8052، وسجل التحكم T2CON (في C8)، وذاكرة الالتقاط/التثبيت ذات 16 بت (RCAP2L في CA، RCAP2H في CB) والمؤقت 2 (TL2 في CC وTH2 في CD) غير موجودة في 8051.    

سجل النوافذ

تحتوي الـ 32 بايت في ذاكرة IRAM من 0x00 إلى 0x1F على مساحة لأربع نوافذ سجلات ، كل منها بحجم 8 بايت، والتي تُشير إليها السجلات الثمانية من R0 إلى R7. ويتم تحديد النافذة النشطة حاليًا بواسطة عنوان مكون من بتين موجود في كلمة حالة البرنامج.

سجلات البت

تحتوي الـ 16 بايت (128 بت) في مواقع IRAM 0x20–0x2F على مساحة لـ 128 سجلًا من نوع 1 بت، والتي يمكن الوصول إليها بشكل منفصل كسجلات بت 00–7F.

تُربط سجلات البتات المتبقية، المُعنونة من 80 إلى FF، بسجلات الوظائف الخاصة الستة عشر 80، 88، 90، 98،  ...، F0 وF8 (التي عناوينها من مضاعفات العدد 8)، وبالتالي تشمل البتات المكونة للمراكمين A وB وكلمة حالة البرنامج PSW. ويمكن عنونة عنوان نافذة السجل، وهو البتّان 3 و4 من PSW، كسجلّي بتات D3 وD4 على التوالي؛ بينما يمكن عنونة بت الحمل C (أو CY)، الموجود في البت 7 من PSW، كسجل بتات D7.

ذاكرة البرنامج

ذاكرة البرنامج (PMEM، على الرغم من أنها أقل شيوعًا من IRAM وXRAM) هي  ذاكرة للقراءة فقط تصل سعتها إلى 64 كيلوبايت، وتبدأ من العنوان 0 في مساحة عناوين منفصلة. قد تكون مدمجة أو خارجية، حسب طراز الشريحة المستخدمة. ذاكرة البرنامج للقراءة فقط، مع أن بعض إصدارات معالج 8051 تستخدم ذاكرة فلاش مدمجة وتوفر طريقة لإعادة برمجة الذاكرة داخل النظام أو التطبيق.

بالإضافة إلى التعليمات البرمجية، من الممكن تخزين بيانات للقراءة فقط، مثل جداول البحث، في ذاكرة البرنامج، والتي يتم استرجاعها بواسطة تعليمات `or` . يتم حساب العنوان كمجموع المُراكم ذي 8 بتات ومسجل ذي 16 بتًا (PC أو DPTR).MOVCA,@A+DPTRMOVCA,@A+PC

تعمل تعليمات القفز والاستدعاء الخاصة ( AJMPو ACALL) على تقليل حجم التعليمات البرمجية التي تصل إلى  ذاكرة البرنامج المحلية (ضمن نفس 2 كيلوبايت) بشكل طفيف. [ 19 ]

عند الحاجة إلى كود أكبر من 64  كيلوبايت، يقوم النظام الشائع بتبديل بنك الكود، حيث تختار وحدات الإدخال/الإخراج العامة بتات العناوين العليا. توفر بعض مُجمِّعات 8051 [ 18 ] إمكانية الوصول التلقائي إلى الكود المُصفَّح. في هذه الأنظمة، تُوضع متجهات المقاطعة وجدول الترحيل في أول 32  كيلوبايت من الكود، وتكون موجودة دائمًا في الذاكرة.

ذاكرة البيانات الخارجية

ذاكرة البيانات الخارجية (XRAM) هي مساحة عناوين ثالثة، تبدأ أيضًا من العنوان 0، وتتيح 16 بتًا من مساحة العناوين. يمكن أن تكون مدمجة أو خارجية؛ ما يجعلها "خارجية" هو ضرورة الوصول إليها باستخدام تعليمة MOVX(move external). تتضمن العديد من إصدارات معالج 8051 ذاكرة IRAM القياسية بسعة 256  بايت بالإضافة إلى بضعة كيلوبايتات من ذاكرة XRAM مدمجة في الشريحة.

يمكن الوصول إلى أول 256 بايت من ذاكرة XRAM باستخدام التعليمات و و و و . ويمكن الوصول إلى كامل الـ 64 كيلوبايت باستخدام و . يتطلب العنوان ذو الـ 16 بت من المبرمج تحميل سجل الفهرس ذي الـ 16 بت. ولهذا السبب، تكون عمليات الوصول إلى ذاكرة الوصول العشوائي (RAM) باستخدام عناوين ذات 16 بت أبطأ بكثير.MOVXA,@R0MOVXA,@R1MOVX@R0,AMOVX@R1,A MOVXA,@DPTRMOVX@DPTR,A

تسمح بعض وحدات المعالجة المركزية [ 20 ] باستخدام العنوان غير المباشر ذي 8 بتات لأي سجل للأغراض العامة ذي 8 بتات.

للسماح باستخدام هذه الميزة، تقوم بعض وحدات التحكم الدقيقة المتوافقة مع معيار 8051، والتي تحتوي على ذاكرة وصول عشوائي داخلية أكبر من 256 بايت، أو التي لا تستطيع الوصول إلى ذاكرة الوصول العشوائي الخارجية، [ 20 ] بالوصول إلى ذاكرة الوصول العشوائي الداخلية كما لو كانت خارجية، وذلك باستخدام سجل وظائف خاص (مثل PDATA) يسمح لها بتعيين العنوان العلوي لصفحة الـ 256 بايت. يحاكي هذا الوضع وضع MCS8051 الذي يسمح بتصفح البايت العلوي من عنوان ذاكرة الوصول العشوائي عن طريق ضبط منافذ الإدخال/الإخراج للأغراض العامة.

عند الحاجة إلى ذاكرة وصول عشوائي (RAM) أكبر من 64  كيلوبايت، يقوم النظام الشائع بتبديل بنوك الذاكرة، حيث تقوم وحدات الإدخال/الإخراج العامة باختيار بتات العناوين العليا. وتوفر بعض مُجمِّعات 8051 [ 18 ] إمكانية الوصول التلقائي إلى البيانات المُصفَّحة.

السجلات

السجل الوحيد في معالج 8051 غير المُخزَّن في الذاكرة هو عداد البرنامج (PC) ذو 16 بت. يُحدد هذا السجل عنوان التعليمة التالية المراد تنفيذها. تُضيف تعليمات التفرع النسبي إزاحة مُوقَّعة ذات 8 بت، تُضاف إلى عداد البرنامج.

يمكن الوصول إلى ثمانية سجلات للأغراض العامة R0–R7 بتعليمات أقصر ببايت واحد من غيرها. يتم تعيينها في ذاكرة الوصول العشوائي الداخلية (IRAM) بين 0x00 و0x1F. يتم استخدام ثمانية بايتات فقط من هذا النطاق في أي وقت، ويتم تحديد ذلك بواسطة بتّي اختيار البنك في سجل حالة البرنامج (PSW).

فيما يلي قائمة جزئية بسجلات المعالج 8051، والتي يتم تعيينها في الذاكرة ضمن مساحة سجل الوظائف الخاصة:

مؤشر المكدس، SP (0x81)
هذا سجل 8 بت يُستخدم في تعليمات استدعاء البرامج الفرعية والعودة منها. ينمو المكدس تصاعديًا؛ ويتم زيادة قيمة مؤشر المكدس (SP) قبل إضافة قيمة إليه، وإنقاصها بعد سحب قيمة منه.
مؤشر البيانات، DP (0x82–83)
هذا سجل 16 بت يستخدم للوصول إلى PMEM و XRAM.
كلمة حالة البرنامج، PSW (0xD0)
يحتوي هذا على علامات حالة مهمة، حسب رقم البت:
  1. التكافؤ، P. يعطي التكافؤ ( XOR للبتات) للمراكم، A.
  2. مُعرّف من قِبل المستخدم، UD. يمكن قراءته وكتابته بواسطة البرامج؛ ولا يتأثر بالأجهزة بأي شكل آخر.
  3. علامة تجاوز السعة ، OV. يتم تعيينها عندما ينتج عن عملية الجمع تجاوز للسعة مع الإشارة.
  4. تحديد السجل 0، RS0. البت الأدنى في بنك السجلات. يتم ضبطه عند استخدام البنوك في 0x08 أو 0x18.
  5. تحديد السجل 1، RS1. البت الأعلى في بنك السجلات. يتم ضبطه عند استخدام البنوك في 0x10 أو 0x18.
  6. العلم 0، F0. يمكن قراءته وكتابته بواسطة البرامج؛ لا يتأثر بالأجهزة بأي شكل آخر.
  7. الحمل المساعد ، AC. يتم ضبطه عندما ينتج عن الجمع حمل من البت 3 إلى البت 4.
  8. بت الحمل ، C. غالبًا ما يستخدم كمسجل عام لحسابات البت، أو "المجمع المنطقي".
المُراكم، أ (0xE0)
يُستخدم هذا السجل في معظم التعليمات.
سجل B (0xF0)
يُستخدم هذا كامتداد للمُجمِّع في تعليمات الضرب والقسمة.

يمكن الوصول مباشرةً إلى 256 بتًا فرديًا. هذه هي مواقع ذاكرة الوصول العشوائي المستقلة (IRAM) الستة عشر من 0x20 إلى 0x2F، بالإضافة إلى سجلات الوظائف الخاصة الستة عشر من 0x80 إلى 0x88 إلى 0x90، ... إلى 0xF8. يمكن الوصول مباشرةً إلى أي بت من هذه البايتات عبر مجموعة متنوعة من العمليات المنطقية والفروع الشرطية.

لاحظ أن سجل حالة البرنامج (PSW) لا يحتوي على علامات السالب (N) أو الصفر (Z) الشائعة . بالنسبة للأولى، يمكن الوصول مباشرةً إلى البت الأكثر أهمية في المُراكم، لأنه سجل خاص قابل للعنونة على مستوى البت. أما بالنسبة للثانية، فتوجد تعليمات صريحة للقفز بناءً على ما إذا كان المُراكم يساوي صفرًا أم لا. كما توجد عملية مقارنة ثنائية المعاملات وعملية قفز.

تُستخدم بتة التكافؤ (P) غالبًا لتنفيذ أنماط الاتصال التسلسلي التي تتضمن التكافؤ. ولدعم ذلك، يمكن لوحدات UART القياسية MCS51 إرسال 9 بتات.

البنية الدقيقة

تُعدّ البنية الدقيقة لمعالج Intel MCS8051 ملكية خاصة، لكنّ الميزات المنشورة [ 21 ] تُشير إلى آلية عمله. وهو معالج متعدد الدورات . يستخدم MCS8051 اثنتي عشرة دورة ساعة [ 21 ] لمعظم التعليمات. وتعتمد العديد من التعليمات على المُراكم. [ 21 ] في المقابل، تُنفّذ معظم الحواسيب المتوافقة التعليمات في دورة واحدة إلى ثلاث دورات، باستثناء تعليمات الضرب والقسمة. تُعدّ السرعة العالية جدًا سببًا رئيسيًا لاستبدال هذه الحواسيب بمعالج MCS8051 في معظم التطبيقات.

لكل مقاطعة أربع أولويات. [ 21 ] ضمن كل أولوية، تكون مقاطعات الأجهزة ذات أولوية ثابتة. [ 21 ]

مجموعة التعليمات

جميع التعليمات تتراوح أطوالها من 1 إلى 3 بايت، وتتكون من بايت رمز العملية الأولي، متبوعًا بما يصل إلى 2 بايت من المعاملات.

يتم استخدام 1/4 من بايتات رمز العملية، x 0– x 3 ، لرموز العمليات غير المنتظمة .

يتم تخصيص ثلاثة أرباع بايتات رمز العملية، x 4– x F ، لـ 16 تعليمة حسابية منطقية أساسية مع 12 معاملًا محتملاً. يختار النصف بايت الأقل أهميةمن رمز العملية المعامل الأساسي على النحو التالي:

  • x 8– x F : التسجيل المباشر، R0–R7.
  • x 6– x 7 : سجل بشكل غير مباشر،أو.@R0@R1
  • x 5 : Memory directaddress، يحدد البايت التالي موقع IRAM أو SFR.
  • x 4 : قيمة فورية#data، يحدد البايت التالي قيمة ثابتة من 8 بت. عندما يكون المعامل وجهة (,) أو عندما تتضمن العملية بالفعل مصدرًا فوريًا (,)، فإن هذا يشير إلى استخدام المُراكم.INCoperandDECoperandMOVoperand,#dataCJNEoperand,#data,offset

تدعم عمليات البت الثلاث ANL و ORL و XRL، التي تعمل عادةً على المُراكم، وضعين لوجهة الذاكرة:

  • x 3 :opLaddress,#data
  • x 2 :opLaddress,A

يُحدد النصف بايت الأكثر أهمية العملية على النحو التالي. لا تدعم جميعها جميع أنماط العنونة؛ فالنمط الفوري، على وجه الخصوص، غير متاح عند الكتابة إلى المعامل الأساسي، لذا فهو ينطبق على ست عمليات فقط، ويُشفّر وجهة المُراكم في أربع عمليات أخرى. تستخدم رموز التعليمات ترتيب الوجهة ، ثم المصدر .

0 ص :INCoperand
قم بزيادة المعامل المحدد. يحدد الوضع الفوري (رمز العملية 0x04) المُجمِّع .INCA
سنة واحدة :DECoperand
قم بإنقاص المعامل المحدد. يحدد الوضع الفوري (رمز العملية 0x14) المُجمِّع .DECA
2 سنة :ADDA,operand
أضف المعامل إلى المُجمِّع، A. يمكن اعتبار رمز العملية 0x23 ( ، "تدوير لليسار" ولكنه في الواقع إزاحة لليسار ) على النحو التالي .RLAADDA,A
3 سنوات :ADDCA,operand
أضف المعامل، بالإضافة إلى بت C، إلى المُراكم. يمكن اعتبار رمز العملية 0x33 (تدوير لليسار عبر الحمل) على النحو التالي .RLCAADDCA,A
4 سنوات :ORLA,operand
يتم إدخال المعامل في المُراكم باستخدام عملية OR المنطقية. يتم تحديد شكلين من أشكال وجهة الذاكرة لهذه العملية، وهما و ، بواسطة رموز العمليات 0x43 و 0x42.ORLaddress,#dataORLaddress,A
5 سنوات :ANLA,operand
يتم إجراء عملية AND المنطقية على المعامل في المُراكم. يتم تحديد شكلين من أشكال وجهة الذاكرة لهذه العملية، وهما و ، بواسطة رموز العمليات 0x53 و 0x52.ANLaddress,#dataANLaddress,A
6 سنوات :XRLA,operand
يتم إدخال المعامل في المُراكم باستخدام عملية XOR المنطقية. يتم تحديد شكلين من أشكال وجهة الذاكرة لهذه العملية، وهما و ، بواسطة رموز العمليات 0x63 و 0x62.XRLaddress,#dataXRLaddress,A
7 سنوات :MOVoperand,#data
انقل القيمة الفورية إلى المعامل. يحدد الوضع الفوري (رمز العملية 0x74) المُجمِّع .MOVA,#data
8 سنوات :MOVaddress,operand
انقل القيمة إلى سجل IRAM أو سجل SFR. ينقل الوضع المباشر للذاكرة (رمز العملية 0x85) القيمة مباشرةً بين سجلين من سجلات IRAM أو SFR . لا يُستخدم الوضع الفوري (رمز العملية 0x84) لهذه العملية، لأنه يُكرر رمز العملية 0x75.MOVaddress,address
9 سنوات :SUBBA,operand
اطرح المعامل وعلامة الحمل من المُراكم. هذه العملية تستعير، ولا يوجد طرح بدون استعارة.
أي :MOVoperand,address
انقل القيمة من سجل IRAM أو سجل SFR. لا يُستخدم وضع الذاكرة المباشر (رمز العملية 0xA5) لأنه يُكرر القيمة 0x85. كما لا يُستخدم وضع المعالجة الفورية/المراكم (رمز العملية 0xA4) لأنه يُكرر القيمة 0xE5.
بواسطة :CJNEoperand,#data,offset
قارن المعامل بالقيمة الفورية #data، وانتقل إلى عداد البرنامج (PC) مضافًا إليه الإزاحة إذا لم يكونا متساويين. نظرًا لأن هذه التعليمة تحتوي بالفعل على الحد الأقصى الممكن من المعامل وهو بايتان، فإن الوضعين الفوري والمباشر للذاكرة (رموز العمليات 0xB4 و0xB5) يتجاهلان القيمة الفورية #dataويقارنان المعامل بدلًا من ذلك بالمراكم . لاحظ أنه لا توجد تعليمة للمقارنة والقفز في حالة التساوي .CJNEA,#data,offsetCJNEA,address,offsetCJE
C y :XCHA,operand
قم بتبديل المُراكم والمعامل. لا يتم استخدام وضع المُراكم/الفوري (رمز العملية 0xC4) لهذه العملية، لأنه لن يكون له أي تأثير.XCHA,A
D y :DJNZoperand,offset
قم بإنقاص قيمة المعامل، ثم انتقل إلى عداد البرنامج + الإزاحة إذا كانت النتيجة غير صفرية. لا يتم استخدام الوضع الفوري (رمز العملية 0xD4) والوضع غير المباشر للسجلات (0xD6، 0xD7).
إي واي :MOVA,operand
انقل المعامل إلى المُراكم. لا يُستخدم الوضع الفوري لهذه العملية (رمز العملية 0xE4)، لأنه يُكرر رمز العملية 0x74.
F y :MOVoperand,A
انقل المُجمِّع إلى المعامل. لا يتم استخدام وضع التنفيذ الفوري/المُجمِّع (رمز العملية 0xF4)، لأنه لن يكون له أي تأثير.MOVA,A

ADDتُفعّل التعليمات و ADDCو و SUBBعلامات PSW فقط . INCأما DECالتعليمات المنطقية و و فلا تفعل ذلك. CJNEتُعدّل التعليمة بت C فقط، إلى قيمة الاستلاف الناتجة عن طرح المعامل 1 من المعامل 2 .

تحتوي التعليمات غير المنتظمة على أنماط عنونة أكثر محدودية، ويتم ترميزها في النطاق x 0– x 3 ، بالإضافة إلى عدد قليل من رموز العمليات في النطاق x 4– x 7 غير المستخدمة بواسطة التعليمات العادية.

8051/8052 تعليمات غير منتظمة
رمز العمليةx 0x 1x 23xx 4
0 صNOP
  • AJMPaddr11،
  • ACALLaddr11
LJMPaddr16RRA(تدوير إلى اليمين)INCA
سنة واحدةJBCbit,offset(اقفز إذا تم ضبط البت بمسح)LCALLaddr16RRCA(تدوير لليمين أثناء الحمل)DECA
سنتانJBbit,offset(اقفز إذا تم تعيين البت)RETRLA(تدوير لليسار)ADDA,#data
3 سنواتJNBbit,offset(اقفز إذا كان الجزء واضحًا)RETIRLCA(تدوير لليسار أثناء الحمل)ADDCA,#data
4 سنواتJCoffset(اقفز إذا تم وضع مجموعة الحمل)ORLaddress,AORLaddress,#dataORLA,#data
5 سنواتJNCoffset(اقفز إذا كان الطريق خالياً)ANLaddress,AANLaddress,#dataANLA,#data
6 سنواتJZoffset(اقفز إذا كان الصفر)XRLaddress,AXRLaddress,#dataXRLA,#data
7 سنواتJNZoffset(اقفز إذا كانت القيمة غير صفرية)ORLC,bitJMP@A+DPTRMOVA,#data
8 سنواتSJMPoffset(قفزة قصيرة)ANLC,bitMOVCA,@A+PCDIVAB
9 سنواتMOVDPTR,#data16MOVbit,CMOVCA,@A+DPTRSUBBA,#data
أيORLC,/bitMOVC,bitINCDPTRMULAB
بواسطةANLC,/bitCPLbitCPLCCJNEA,#data,offset
سيPUSHaddressCLRbitCLRCSWAPA
دي وايPOPaddressSETBbitSETBCDAA(تعديل عشري)
إي وايMOVXA,@DPTRMOVXA,@R0MOVXA,@R1CLRA
F yMOVX@DPTR,AMOVX@R0,AMOVX@R1,ACPLA

تعليمات إضافية غير منتظمة:

A5
ESCغير مستخدمة بواسطة 8051، ولكنها تستخدم لرموز العمليات الموسعة بواسطة خلفائها مثل §  MCS-251 .
D6–7
XCHDA,@R01تبادل جزء صغير من المعاملات.

تأخذ تعليمة SJMP(القفزة القصيرة) مُعامل بايت إزاحة نسبي مُوقّع، وتنقل التحكم إليه بالنسبة لعنوان التعليمة التالية. تجمع تعليمة AJMP/ ACALLالبتات الثلاثة الأكثر أهمية من بايت التعليمة مع البايت التالي لتحديد وجهة مكونة من 11 بت، تُستخدم لاستبدال البتات الـ 11 الأدنى من سجل عداد البرنامج (تبقى البتات الخمسة العليا من سجل عداد البرنامج سليمة، لذا لا يمكن القفز إلا ضمن صفحة بحجم 2048 بايت). بالنسبة للمسافات الأطول، تسمح تعليمة LJMPو LCALLبوجهة مكونة من 16 بت.

أحد أسباب شهرة معالج 8051 هو نطاق عملياته على البتات المفردة. تُحدد البتات دائمًا بعناوين مطلقة؛ فلا يوجد عنونة غير مباشرة أو مفهرسة. من التعليمات التي تعمل على البتات المفردة:

  • SETBbit، ، : تعيين أو مسح أو عكس البت المحددCLRbitCPLbit
  • JBbit,offset: انتقل (إلى عداد البرنامج + الإزاحة ) إذا تم تعيين البت
  • JNBbit,offset: انتقل إذا كانت البتة واضحة
  • JBCbit,offset: انتقل إذا تم تعيين البت، وامسح البت
  • MOVC,bit، : انقل البت المحدد إلى بت الحمل، أو العكسMOVbit,C
  • ORLC,bitأو البت (أو مكمله) في بت الحملORLC,/bit
  • ANLC,bit، : والبت (أو مكمله) في بت الحملANLC,/bit

يُكتب المعامل الثنائي على الشكل التالي address.number: . ولأن علامة الحمل هي البت 7 من كلمة حالة البرنامج القابلة للعنونة بالبتات، فإن التعليمات و و هي مكافئات أقصر للتعليمات و و .SETBCCLRCCPLCSETBPSW.7CLRPSW.7CPLPSW.7

برمجة

تتوفر العديد من مُجمّعات لغات البرمجة عالية المستوى للمعالج 8051. يتوفر عدد من مُجمّعات لغة C لهذا المعالج، حيث يُتيح مُعظمها للمُبرمج تحديد مكان تخزين كل مُتغير في أنواع الذاكرة الستة المُخصصة له، كما يُوفر الوصول إلى ميزات الأجهزة الخاصة بالمعالج 8051، مثل بنوك السجلات المُتعددة وتعليمات مُعالجة البتات. يوجد العديد من مُجمّعات لغة C التجارية. [ 22 ] يُعد مُجمّع لغة C للأجهزة الصغيرة (SDCC) مُجمّعًا شائعًا مفتوح المصدر للغة C. [ 23 ] تتوفر لغات برمجة عالية المستوى أخرى للمعالج 8051، مثل C ++ وForth [ 24 ] [ 25 ] [ 26 ] [ 27 ] و BASIC و Object Pascal و Pascal و PL/M و Modula-2 ، إلا أنها أقل استخدامًا [ 28 ] من لغتي C والتجميع .

نظرًا لأن ذاكرة الوصول العشوائي الداخلية (IRAM) وذاكرة الوصول العشوائي الخارجية (XRAM) وذاكرة الوصول العشوائي الدائمة (PMEM) (للقراءة فقط) جميعها لها عنوان 0، فإن مُجمِّعات لغة C لبنية 8051 تُوفِّر تعليمات برمجية خاصة بالمُجمِّع أو امتدادات أخرى لتحديد مكان تخزين جزء مُعيَّن من البيانات (مثل الثوابت في ذاكرة الوصول العشوائي الدائمة أو المتغيرات التي تحتاج إلى وصول سريع في ذاكرة الوصول العشوائي الداخلية). ولأن البيانات يُمكن أن تكون في إحدى مساحات الذاكرة الثلاث، فعادةً ما تُوفَّر آلية لتحديد الذاكرة التي يُشير إليها المؤشر، إما عن طريق تقييد نوع المؤشر ليشمل مساحة الذاكرة أو عن طريق تخزين البيانات الوصفية مع المؤشر.

وحدات التحكم الدقيقة Intel 8031
وحدة التحكم الدقيقة Intel D87C51

أوقفت شركة إنتل خط إنتاجها MCS-51 في مارس 2007؛ [ 29 ] [ 30 ] ومع ذلك، هناك الكثير من منتجات 8051 المحسنة أو الملكية الفكرية للسيليكون التي تتم إضافتها بانتظام من موردين آخرين.

استُخدم المعالج 8048، سلف المعالج 8051 ، في لوحة مفاتيح أول حاسوب شخصي من شركة IBM ، حيث كان يحوّل ضغطات المفاتيح إلى تدفق بيانات تسلسلي يُرسل إلى الوحدة الرئيسية للحاسوب. وقد أدّى المعالج Intel 8049 دورًا مشابهًا في حاسوب Sinclair QL . ولا يزال المعالج 8048 ومشتقاته مستخدمة حتى اليوم.للوحات المفاتيح الأساسية.

كان المعالج 8031 ​​نسخةً مُصغّرة من المعالج الأصلي 8051، حيث لم يكن يحتوي على ذاكرة قراءة فقط (ROM) داخلية للبرنامج. لاستخدام هذه الشريحة، كان لا بد من إضافة ذاكرة قراءة فقط خارجية (ROM) تحتوي على البرنامج الذي يقوم المعالج 8031 ​​بجلبه وتنفيذه. ويمكن بيع شريحة 8051 على أنها 8031 ​​بدون ذاكرة قراءة فقط، لأن ذاكرة القراءة فقط الداخلية للمعالج 8051 تكون مُعطّلة في الحالة الطبيعية لدبوس EA في تصميم يعتمد على 8031. وقد يبيع البائع معالج 8051 على أنه 8031 ​​لأسباب عديدة، مثل وجود خلل في كود ذاكرة القراءة فقط الخاصة بالمعالج 8051، أو ببساطة بسبب فائض في المعروض من معالجات 8051 ونقص في المعروض من معالجات 8031.

وحدة التحكم الدقيقة Intel P8044AH

أضاف المعالج 8044 (وكذلك المعالج 8344 بدون ذاكرة قراءة فقط والمعالج 8744 المزود بذاكرة قراءة فقط قابلة للمسح والبرمجة) وحدة تحكم SDLC إلى نواة المعالج 8051 (خاصة لتطبيقات Bitbus ). [ 31 ]

كان المعالج 8052 نسخةً محسّنة من المعالج الأصلي 8051، حيث احتوى على  ذاكرة وصول عشوائي داخلية سعتها 256 بايت بدلاً من 128  بايت،  وذاكرة قراءة فقط (ROM) سعتها 8 كيلوبايت بدلاً من 4  كيلوبايت، بالإضافة إلى مؤقت ثالث 16 بت. وتتضمن معظم وحدات التحكم الدقيقة الحديثة المتوافقة مع المعالج 8051 هذه الميزات.

كان لدى المعالج 8032 نفس هذه الميزات التي يتمتع بها المعالج 8052، باستثناء أنه كان يفتقر إلى ذاكرة برنامج ROM الداخلية.

كان المعالج 8751 نسخةً من المعالج 8051 مزودةً بذاكرة EPROM سعة 4  كيلوبايت بدلاً من  ذاكرة ROM سعة 4 كيلوبايت. كانا متطابقين تماماً باستثناء نوع الذاكرة غير المتطايرة. كان هذا الجزء متوفراً في غلاف خزفي مزود بنافذة كوارتز شفافة فوق الشريحة، مما يسمح باستخدام الأشعة فوق البنفسجية لمسح ذاكرة EPROM . أما الأجزاء المشابهة فهي: 8752 بذاكرة  EPROM سعة 8 كيلوبايت، و8754 بذاكرة  EPROM سعة 16 كيلوبايت، و8758 بذاكرة  EPROM سعة 32 كيلوبايت.

يُعدّ كلٌّ من 80C537 (بدون ذاكرة قراءة فقط) و 80C517 (بذاكرة قراءة فقط سعة 8 كيلوبايت) إصدارين بتقنية CMOS ، مصممين خصيصًا لصناعة السيارات . تشمل التحسينات في الغالب وحدات طرفية جديدة ومحسّنة. يتميز 80C5x7 بآليات أمان ضد الأعطال، ومرافق لمعالجة الإشارات التناظرية، وقدرات محسّنة للمؤقت، ووحدة طرفية حسابية 32 بت. تشمل الميزات الأخرى ما يلي:

  • ذاكرة وصول عشوائي مدمجة بسعة 256 بايت
  • 256 بت قابلة للعنونة مباشرة
  • ذاكرة خارجية للبرامج والبيانات قابلة للتوسيع حتى 64  كيلوبايت
  • محول تناظري/رقمي 8 بت مع 12 مدخلًا متعدد الإرسال
  • يمكن للوحدة الطرفية الحسابية إجراء عمليات الضرب من 16×16 إلى 32 بت، والقسمة من 32/16 إلى 16 بت، والإزاحة إلى 32 بت، والتطبيع إلى 32 بت.
  • ثمانية مؤشرات بيانات بدلاً من واحد للوصول غير المباشر إلى ذاكرة البرنامج والبيانات الخارجية
  • مرافق مراقبة موسعة
  • تسعة منافذ إدخال/إخراج
  • واجهتان تسلسليتان مزدوجتان بالكامل مع مولدات معدل نقل بيانات فردية
  • أربعة أنظمة مقاطعة ذات مستوى أولوية، و14 متجه مقاطعة
  • ثلاثة أوضاع لتوفير الطاقة

بائعي المشتقات المالية

أكثر من 20 شركة مصنعة مستقلة تنتج معالجات متوافقة مع معيار MCS-51.

وقد طورت شركات Analog Devices [ 32 ] و Integral Minsk [ 33 ] و Kristall Kyiv [ 34 ] وNIIET Voronezh [ 13 ] دوائر متكاملة أو وحدات ملكية فكرية أخرى متوافقة مع MCS-51 .

الاستخدام كملكية فكرية

لا تزال معالجات 8051 متوفرة اليوم كقطع منفصلة، ​​ولكنها تُستخدم في الغالب كوحدات معالجة رقمية متكاملة (IP) مصنوعة من السيليكون . [ 35 ] تتوفر هذه الوحدات بلغات وصف الأجهزة (مثل VHDL أو Verilog ) أو بصيغ قوائم الربط الخاصة بـ FPGA ، وتُدمج عادةً في الأنظمة المدمجة، في منتجات تتراوح من ذاكرات فلاش USB إلى الغسالات وصولاً إلى أنظمة الاتصالات اللاسلكية المعقدة على شريحة واحدة . يستخدم المصممون وحدات 8051 المصنوعة من السيليكون نظرًا لصغر حجمها وانخفاض استهلاكها للطاقة، مقارنةً بمعالجات 32 بت مثل سلسلة ARM Cortex-M و MIPS وBA22.

أدت تصميمات نواة 8051 اللاحقة إلى تحسين الأداء مع الحفاظ على التوافق مع مجموعة تعليمات MCS-51 الأصلية. كان معالج Intel 8051 الأصلي محركًا للتعليمات البرمجية الدقيقة، يستخدم 12 دورة ساعة لكل دورة معالجة لتقليل عدد بوابات NMOS المنطقية التي تستهلك الطاقة في مقاومات السحب السلبية. كانت معظم التعليمات تُنفذ في دورة معالجة واحدة أو دورتين. عند تردد الساعة الأقصى النموذجي البالغ 12  ميجاهرتز، كانت أنواع 8051 الأصلية تُنفذ مليون تعليمة أحادية الدورة، أو 500,000 تعليمة ثنائية الدورة، في الثانية. يُتيح التحول إلى تقنية CMOS باستخدام مقاومات السحب النشطة من نوع P-channel FET إمكانية تصميم النواة بدون تعليمات برمجية دقيقة. تعمل نوى 8051 IP المُحسّنة بدورة ساعة واحدة لكل دورة معالجة. مع ترددات ساعة تصل إلى 450  ميجاهرتز، يمكن للمعالج المتوافق مع 8051 تنفيذ ما يصل إلى 450 مليون تعليمة في الثانية.

وحدات التحكم الدقيقة القائمة على 8051

تقنية تخزين السيليكون 89V54RD2

أنواع معالجات الإشارات الرقمية (DSP)

توجد عدة متغيرات مع معالج إشارة رقمية إضافي 16 بت (DSP) (على سبيل المثال لتشفير/فك تشفير MP3 أو Vorbis ) مع ما يصل إلى 675 مليون تعليمات في الثانية (MIPS) [ 47 ] وواجهة USB 2.0 مدمجة [ 48 ] أو كملكية فكرية [ 49 ] .

وحدة تحكم دقيقة محسّنة متوافقة مع النظام الثنائي 8 بت: عائلة MCS-151

في عام 1996، أعلنت إنتل عن عائلة MCS-151، وهي نسخة أسرع بست مرات، [ 1 ] متوافقة تمامًا مع نظام 8051 الثنائي ومجموعة تعليماته. على عكس 8051، فإن MCS-151 وحدة معالجة مركزية ذات بنية خطية، مع ناقل بيانات داخلي 16 بت، وسرعة تفوق 8051 بست مرات. وقد أوقفت إنتل إنتاج عائلة MCS-151، لكنها لا تزال متوفرة على نطاق واسع بنسخ متوافقة ثنائيًا وأخرى محسّنة جزئيًا.

وحدة تحكم دقيقة متوافقة مع النظام الثنائي 8/16/32 بت: عائلة MCS-251

قدمت شركة إنتل في عام 1996 وحدة التحكم الدقيقة 80251 ذات 8/16/32 بت، والتي تتميز بمساحة عناوين تبلغ 16  ميجابايت ( 24 بت ) ودورة تعليمات أسرع بست مرات. [ 1 ] [ 50 ] ويمكنها العمل كوحدة تحكم دقيقة 8051 ذات 8 بت، وتتميز بعنونة خطية 24 بت ، ووحدة حساب ومنطق 8 بت، وتعليمات 8 بت، وتعليمات 16 بت، ومجموعة محدودة من تعليمات 32 بت، و16 مسجلاً 8 بت، و16 مسجلاً 16 بت (يتداخل 8 منها مع أزواج من مسجلات 8 بت)، و10 مسجلات 32 بت (يتداخل 8 منها مع أزواج من مسجلات 16 بت). [ 51 ]

يتميز هذا المعالج بتعليمات موسعة [ 52 ] [ 53 ] ، بالإضافة إلى إصدارات لاحقة ذات أداء أعلى. [ 54 ] وهو متاح أيضًا كملكية فكرية . [ 55 ] وهو معالج ذو بنية خطية ثلاثية المراحل. وقد أوقفت شركة إنتل إنتاج عائلة MCS-251، لكنها لا تزال متوفرة على نطاق واسع بإصدارات متوافقة ثنائيًا ومحسّنة جزئيًا من العديد من الشركات المصنعة.

تُخصص رموز العمليات للتعليمات الجديدة في المعالج 80251 في النطاق x8–xF ، ويتم اختيارها باستخدام رمز العملية A5 غير المستخدم سابقًا كبادئة لرمز العملية بإحدى الطريقتين التاليتين: [ 56 ] : 4–13

  • في "الوضع الثنائي"، يكون التشغيل متوافقًا تمامًا مع 8051، ويجب أن تسبق جميع التعليمات الجديدة بـ A5 .
  • في "وضع المصدر"، يجب إضافة بايت بادئة A5 إلى جميع تعليمات 8051 الموجودة في النطاق x6xF في كود 8051 الحالي . (عادةً ما يقوم المُجمِّع بذلك ) . تُشفِّر بايتات رمز العملية غير المُسبَّبة في هذا النطاق تعليمات 80251 الجديدة. (لا يتم تخصيص بايتات رمز العملية x6x7 ، ولكنها متاحة للتوسع المستقبلي).

بشكل عام ، يبلغ طول تعليمات 80251 الجديدة بايتين (باستثناء البادئة A5 )، حيث يحدد البايت الأول العملية، ويقوم البايت الثاني بتشفير معاملين من 4 بتات للسجل، أو معامل سجل واحد وأربعة بتات إضافية لرمز العملية.

انظر أيضاً

مراجع

  1. 1 2 3 "وحدات التحكم الدقيقة Intel MCS 151 و MCS 251" . datasheets.chipdb.org .
  2. جون وارتون (مايو 1980). "مقدمة إلى عائلة الحواسيب الصغيرة أحادية الشريحة Intel MCS-51" . شركة إنتل. مذكرة تطبيقية AP-69.
  3. لوحة التاريخ الشفوي لمعالج إنتل 8051 (ملف PDF) ، متحف تاريخ الحاسوب ، 16 سبتمبر 2008، مؤرشفة من الأصل (ملف PDF) في 25 فبراير 2012 ، تم استرجاعها في 17 نوفمبر 2018.
  4. جون وارتون (مايو 1980). "استخدام إمكانيات المعالجة المنطقية لمعالج Intel MCS-51" (ملف PDF) . شركة إنتل. مذكرة التطبيق AP-70. مؤرشفة من الأصل (ملف PDF) بتاريخ 3 مارس 2016.
  5. "دليل 8051: المقاطعات" . مؤرشف من الأصل بتاريخ 28-12-2012 . تم الاطلاع عليه بتاريخ 21-12-2012 .
  6. "مجموعة أدوات تطوير البرمجيات 8051 - نظرة عامة" . TASKING . تم الاسترجاع في 13 فبراير 2025 .
  7. 1 2 "وحدات التحكم الدقيقة 8 بت - وحدات التحكم الدقيقة 8 بت - EFM8" . مختبرات السيليكون . تم الاسترجاع في 21-06-2021 .
  8. "بحث الموقع" . ماكسيم إنتجريتد . مؤرشف من الأصل بتاريخ 24-06-2021 . تم الاطلاع عليه بتاريخ 21-06-2021 .
  9. 1 2 "وحدات التحكم الدقيقة 8051" . شركة مايكروشيب تكنولوجي . تم الاطلاع عليه بتاريخ 21-06-2021 .
  10. "وحدة تحكم دقيقة TK80H51 تتحمل درجة حرارة 250 درجة مئوية" . شركة تيكموس. مؤرشفة من الأصل بتاريخ 20 أغسطس 2017. تم الاطلاع عليها بتاريخ 23 أغسطس 2017 . 
  11. "وحدة تحكم دقيقة 83C51 عالية الحرارة" (ملف PDF) . هانيويل . تم الاطلاع عليه بتاريخ 23 أغسطس 2017 .
  12. "وحدات التحكم الدقيقة والمعالجات الدقيقة" . حلول أشباه الموصلات من شركة كوبام. مؤرشف من الأصل بتاريخ 23 أغسطس 2017. تم الاطلاع عليه بتاريخ 23 أغسطس 2017 .
  13. 1 2 "Микроконтроллеы" [ المتحكمات الدقيقة ] (بالروسية). فورونيج: OAO "NIIET". أرشفة من الأصلي في 22 أغسطس 2017 . تم الاسترجاع في 22 أغسطس 2017 .
  14. "رابط التحميل من يوتيوب: ELEC2700 – 8051 رادار فوق صوتي" . مؤرشف من الأصل بتاريخ 22-08-2017 . تم الاطلاع عليه بتاريخ 22-08-2017 .
  15. مؤرشف في Ghostarchiveوآلة Wayback: "الواجب الأول لمقرر ELEC2700 لعام 2014: لعبة بونغ أحادية البعد" . يوتيوب . 10 أبريل 2014.
  16. "ELEC2700 – هندسة الحاسوب 2 (كتب جامعة نيوكاسل)" . زوكال . مؤرشف من الأصل بتاريخ 27-07-2017 . تم الاطلاع عليه بتاريخ 22-08-2017 .
  17. "الواجب الثالث لمقرر ELEC2700: الرادار فوق الصوتي" (ملف PDF) . موقع JustAnswer . 29 يونيو 2012. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 17 أبريل 2023. تم الاطلاع عليه بتاريخ 30 أبريل 2023 .
  18. 1 2 3 دليل مستخدم Keil C51 . Keil، قسم من ARM Inc. 2021. تم الاطلاع عليه بتاريخ 17 مايو 2021 .
  19. ACALL هي تعليمة استدعاء روتين فرعي بحجم 2 بايت، ويمكنها الوصول إلى مواقع ضمن نفس مقطع الذاكرة البالغ 2 كيلوبايت. يتكون عنوان الذاكرة المطلق من أعلى 5 بتات من عداد البرنامج (PC) و11 بتًا تحددها التعليمة.
  20. 1 2 "ورقة بيانات Silergy 71M6513" . دوائر متكاملة لقياس استهلاك الكهرباء من Silergy . شركة Silergy . تم الاطلاع عليها بتاريخ 17 مايو 2021 .
  21. 1 2 3 4 5 دليل مستخدم عائلة المتحكمات الدقيقة MCS-51 (ملف PDF) . رقم المنشور 121517: إنتل. 1994. تاريخ الاطلاع: 17 مايو 2021 .{{cite book}}: CS1 maint: location ( link )
  22. هان واي هوانغ. "تصميم الأنظمة المدمجة باستخدام C8051" . ص 238.
  23. ليوين إيه آر دبليو إدواردز (2006). إذن، تريد أن تصبح مهندس أنظمة مضمنة: دليل هندسة الأنظمة المضمنة، من الاستشارات إلى السلم الوظيفي . ص 51. ISBN  978-0-7506-7953-4.
  24. برادفورد ج. رودريغيز. "كاميلفورث/8051" .
  25. براد رودريغيز. "المضي قدماً الجزء 7: كاميلفورث لـ 8051" .
  26. "تطوير SwiftX Forth 8051" . مؤرشف من الأصل بتاريخ 24-09-2015.
  27. "مترجمات MPE VFX Forth 7 المتقاطعة" . مؤرشف من الأصل بتاريخ 23-10-2014.
  28. أغاروال، تارون (16-09-2014). "شرح مفصل لبرمجة 8051 بلغة التجميع" . ElProCus - مشاريع إلكترونية لطلاب الهندسة . تاريخ الاسترجاع: 21-10-2024 .
  29. جانسل، جاك (29 مايو 2006). "إنتل تنسحب وتوقف إنتاج MCS-51" . مؤرشف من الأصل بتاريخ 13 أغسطس 2017.
  30. "MCS 51, MCS 251 and MCS 96 Microcontroller Product Lines, the Intel 186, Intel386 and Intel486 Processors Product Lines, and the i960 32 Bit RISC Processor, PCN 106013-01, Product Discontinuance, Reason for Revision: Add Key Milestone information and revise description of change"(PDF). Intel. 2006-05-02.
  31. "8044AH/8344AH/8744AH High Performance 8-bit Microcontroller with On-Chip Serial Communication Controller"(PDF). Intel. October 1994.
  32. "MicroConverter, 12-Bit ADCs and DACs with Embedded 62 kB Flash MCU"(PDF). analog.com. Archived from the original(PDF) on 28 May 2014. Retrieved 30 April 2023.
  33. "Микроконтроллеры и супервизоры питания Серии 1880; 1881; 1842; 588; 1345; 5518АП1ТБМ"[Microcontrollers and Power Supervisors Series 1880; 1881; 1842; 588; 1345; 5518AP1TBM] (in Russian). Minsk: OAO "Integral". Archived from the original on 1 January 2017. Retrieved 6 January 2017.
  34. "Однокристальные микро-эвм"[Single-chip microcomputers] (in Russian). Kyiv: Kristall. Archived from the original on 30 May 2012. Retrieved 5 January 2017.
  35. Hussaini (20 August 2019). "Why do we have to use the 8051? Isn't it too old?". Technobyte. Retrieved 5 July 2023.
  36. "DS80C320 Datasheet and Product Info". Analog Devices. Archived from the original on 2025-02-14. Retrieved 2025-02-12.
  37. "PSoC 3 - Infineon Technologies". Infineon. Archived from the original on 2022-09-21. Retrieved 2023-05-20.
  38. "Documentation" (in Chinese).
  39. "Syntill8 - Products". www.syntill8.com. Retrieved 2021-06-21.
  40. "SDA30C164 Datasheet"(PDF). www.semiee.com. Archived from the original(PDF) on 2022-06-17. Retrieved 2022-05-15.
  41. "Silergy Metering ICs". Silergy Corp. Retrieved 12 May 2021.
  42. "دوائر متكاملة لقياس الطاقة من شركة Silergy" . شركة Silergy . تم الاطلاع عليه بتاريخ 12 مايو 2021 .
  43. datasheetq.com. "تنزيل ورقة بيانات 89V54RD2 بصيغة PDF - تقنية تخزين السيليكون" . www.datasheetq.com . تاريخ الاسترجاع: 18 يناير 2020 .
  44. "متحكمات STC الدقيقة - شركة STCmicro Technology المحدودة" . www.stcmicro.com . تاريخ الاسترجاع: 19 فبراير 2017 .
  45. https://www.ipmedia.cz/img.asp?attid=67387
  46. "فهرس الموقع - شركة نانجينغ تشينغ للإلكترونيات الدقيقة المحدودة" . wch-ic.com . تم الاطلاع عليه بتاريخ 21-06-2021 .
  47. "شركة TI تُقدّم معالج إشارة رقمية صوتي جديد منخفض التكلفة وعالي الأداء للاستخدام المنزلي والسيارات مع معالج 8051" . مؤرشف من الأصل بتاريخ 13 نوفمبر 2016. تم الاطلاع عليه بتاريخ 6 مايو 2013 .
  48. "ورقة بيانات معالج الإشارة الرقمية الصوتية Atmel AT85C51SND3 مع منفذ USB 2.0" (ملف PDF) . تم الاطلاع عليه بتاريخ 30 أبريل 2023 .
  49. سليم، أ. ج.؛ عثمان، م.؛ علي، م. أ. محمد (5 أكتوبر 2006). "دمج معالج 8051 مع معالج الإشارات الرقمية في مصفوفة البوابات المنطقية القابلة للبرمجة من زيلينكس". المؤتمر الدولي لهندسة أشباه الموصلات IEEE لعام 2006. الصفحات 562-566 . doi : 10.1109/SMELEC.2006.380694 . ISBN  0-7803-9730-4. S2CID 21616742 عبر IEEE Xplore. 
  50. كينيث ج. أيالا (2005). المتحكم الدقيق 8051. تومسون ديل مار ليرنينج. ISBN 978-1-4018-6158-2.
  51. "نظرة عامة على بنية MCSÉ 251" (ملف PDF) . chipdb.org . تم الاطلاع عليه بتاريخ 30 أبريل 2023 .
  52. "معمارية Temic TSC80251" (ملف PDF) .
  53. "دليل مبرمجي Atmel TSC80251" (ملف PDF) . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 4 مارس 2016. تم الاطلاع عليه بتاريخ 6 مايو 2013 .
  54. "متحكم دقيق DQ80251 ذو 32 بت" (ملف PDF) . DCD . مؤرشف من النسخة الأصلية (PDF) بتاريخ 2014-01-04 . تم الاطلاع عليه بتاريخ 2013-05-06 .
  55. "وحدة التحكم الدقيقة R80251XC 32 بت" (ملف PDF) . إيفاترونيكس .
  56. دليل مستخدم المتحكمات الدقيقة المدمجة 8XC251SA، 8XC251SB، 8XC251SP، 8XC251SQ (ملف PDF) . مايو 1996.

للمزيد من القراءة

الكتب
  • مازيدي؛ ماكينلي؛ مازيدي (2012). المتحكم الدقيق 8051: منهج النظم . بيرسون. 648 صفحة. ISBN 978-0-13-508044-3.
  • شولتز، توماس (2008). C و8051 (  الطبعة الرابعة). توماس دبليو. شولتز. 464 صفحة. ISBN 978-0-9783995-0-4.
  • ستاينر، كريغ (2005). المتحكم الدقيق 8051/8052: البنية، لغة التجميع، والربط مع الأجهزة . دار النشر العالمية. 348 صفحة. ISBN 978-1-58112-459-0.
  • كالكوت؛ كوان؛ بارشيزاده (2000). وحدات التحكم الدقيقة 8051: الأجهزة والبرامج والتطبيقات . إلسيفير. 329 صفحة. ISBN 978-0-340-67707-0.
  • أكسلسون، جان (1994). كتاب أفكار المتحكمات الدقيقة: الدوائر والبرامج والتطبيقات التي تتميز بالمتحكم الدقيق 8052-BASIC . شركة ليكفيو للأبحاث. 277 صفحة. ISBN 978-0-9650819-0-0.
  • باين، ويليام (19 ديسمبر 1990) [1990]. وحدة تحكم مضمنة بلغة فورث لعائلة 8051 (غلاف مقوى). بوسطن: أكاديميك برس. 528 صفحة. ISBN 978-0-12-547570-9.
إنتل
متفرقات

شعار ويكيميديا ​​كومنزالوسائط المتعلقة بـ MCS-51 على ويكيميديا ​​كومنز