برمجة منافذ MK في لغة C 51. المتحكمات الدقيقة MCS – 51: نموذج البرنامج، البنية، الأوامر. وضع قراءة المنفذ

الإصدار الأساسي MCS-51 معلومات مختصرة. تتمتع وحدات التحكم الدقيقة الحديثة 8 بت (MCs) بموارد التحكم في الوقت الفعلي، والتي تم استخدام تخطيطات متعددة الشرائح باهظة الثمن سابقًا في شكل لوحات كمبيوتر صغيرة منفصلة، ​​وهي:

● لديك سعة ذاكرة كافية، وتقسيمها المادي والمنطقي إلى ذاكرة البرنامج و ذاكرة البيانات(هندسة هارفارد) ونظام قيادة يركز على تنفيذ خوارزميات التحكم؛

● تشمل جميع الأجهزة (المعالج، ذاكرة الوصول العشوائي (ROM)، ذاكرة الوصول العشوائي (RAM)، منافذ الإدخال/الإخراج، نظام المقاطعة، وسائل معالجة معلومات البت، وما إلى ذلك) اللازمة لتنفيذ الحد الأدنى من تكوين نظام التحكم في المعالجات الدقيقة. في السبعينيات من القرن الماضي الشركة شركة انتلتم تطوير عائلة مكونة من وحدات تحكم دقيقة 8 بت MCS-48، متحدة بعدد من الميزات المشتركة (سعة البت، نظام الأوامر، مجموعة من الكتل الوظيفية الرئيسية، وما إلى ذلك)، وإطلاقها في الإنتاج الصناعي. يتضمن الإصدار الأساسي لهذه العائلة ما يلي:

● معالج 8 بت؛

● ذاكرة البرنامج الداخلية (1/2/4 كيلو بايت)؛

● ذاكرة البيانات الداخلية (64/128/256 بايت)؛

● ما يصل إلى 27 خطًا داخليًا و16 خطًا خارجيًا للإدخال/الإخراج؛

● عداد مؤقت 8 بت؛

● نظام مقاطعة أحادي المستوى مع مصدرين للطلب. في عام 1980، قامت نفس الشركة بتطوير عائلة جديدة من وحدات التحكم الدقيقة ذات ثمانية بتات، MCS-51، والتي تتوافق مع بنية عائلة MCS-48، ولكنها تتمتع بقدرات أكبر.

تبين أن بنية عائلة MCS-51 كانت ناجحة جدًا لدرجة أنها لا تزال أحد معايير MKs ذات 8 بت. لذلك، تم اختيار موضوع الدراسة ليكون المتحكمات الدقيقة من هذه العائلة، والتي تستخدم على نطاق واسع في أنظمة التحكم البسيطة نسبيًا.

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

السلسلة اللاحقة من الدوائر الدقيقة، مع الحفاظ على التوافق مع الإصدار الأساسي، تختلف عنها في تكنولوجيا التصنيع المحسنة، المعلمات الكهربائيةوأجهزة إضافية و وظائف. المقالات التالية مخصصة للميزات الهيكلية والوظيفية للتعديلات اللاحقة لعائلة الدوائر الدقيقة MCS-51.
مخطط كتلة معمم لـ MCS-51. تكوين MC ، يظهر مخطط الكتلة المعمم في الشكل. 7.1.1، ويشمل:

● 8 بت وحدة المعالجة المركزيةوحدة المعالجة المركزية تتكون من ألو، أجهزة التحكم UUومولد العنوان F;

● قناع ROM بسعة 4K بايت لتخزين البرامج؛

● ذاكرة الوصول العشوائي بسعة 128 بايت لتخزين البيانات.

● أربعة منافذ قابلة للبرمجة P0 – P3 للإدخال – إخراج المعلومات;

● كتلة واجهة تسلسلية BPI لتبادل المعلومات مع الأجهزة الخارجية عبر خط من سلكين؛

● مجموعة من مؤقتات/عدادات BT/C للحفاظ على وضع الوقت الحقيقي؛

● كتلة مقاطعة BP لتنظيم انقطاعات البرامج القابلة للتنفيذ. تشكل هذه الأموال مقيمجزء من وحدة التحكم الدقيقة الموجودة مباشرة على الشريحة. يتضمن MK عددًا كبيرًا من السجلات المخصصة لكتل ​​وظيفية منفصلة ولا تظهر في الرسم التخطيطي.

الرسم البياني أيضا لا يظهر دوائر التحكم. يتم تبادل المعلومات في اتجاهين بين الكتل عبر 8 بت داخلي مركبة البياناتشد-8.

بواسطة الداخلية 16 بت عنوان الحافلةША-16 يتم إخراج العنوان الذي تم إنشاؤه في وحدة المعالجة المركزية إلى ذاكرة القراءة فقط (12 بت عنوان) وإلى ذاكرة الوصول العشوائي (8 بتات ذات ترتيب منخفض).

عند استخدام الذاكرة الخارجية، يتم إخراج البتات الثمانية الأقل أهمية من العنوان إلى المنفذ P0 والبتات الثلاثة أو الثمانية الأكثر أهمية إلى المنفذ P2.

لتوسيع الواجهة بشكل منطقي، يتم استخدام الجمع بين وظائف خطوط المنفذ. كمثال في الشكل. 7.1.1 يوضح الخط المنقط خطوط منفذ P3 التي يتم تنفيذها بديلوظائف إرسال إشارات التحكم، والغرض منها سيتم مناقشته أدناه. لإنشاء مولد ساعة داخلي، يتم توصيل مرنان كوارتز ومكثفين بأطراف الدائرة الدقيقة MK (الشكل 7.1.1). بدلاً من مولد الساعة الداخلي، يمكن استخدام مصدر تذبذب خارجي للمزامنة. الشرط التسمية الرسوميةتظهر الدوائر الدقيقة MK في الشكل. 7.1.2، تعيين والغرض من الدبابيس - في الجدول. 7.1.1. دعونا نفكر في الكتل الوظيفية لـ MK ومبدأ عملها. جهاز المنطق الحسابي. تم تصميم جهاز المنطق الحسابي لإجراء العمليات الحسابية (بما في ذلك الضرب والقسمة) والعمليات المنطقية على معاملات ذات ثمانية بتات، بالإضافة إلى عمليات الإزاحة المنطقية والتصفير والإعداد وما إلى ذلك. يظهر الرسم التخطيطي لوحدة ALU في الشكل. 7.1.3.

يتضمن ALU

● موازية ثمانية بت الأفعى SM من النوع التوافقي مع حمل متسلسل، وإجراء العمليات الحسابية (الجمع والطرح) والمنطقية (الجمع والضرب والتباين والهوية)؛

البطارية أ,توفير وظائف السجل الحسابي الرئيسي؛

يسجل B، يستخدم لتنفيذ عمليات الضرب والقسمة أو كسجل إضافي للعمليات الفائقة، يتم تحديد وظائفه من قبل المستخدم؛

السجلات(البرنامج غير متوفر) تخزين مؤقتРВХ1، РВХ2، مخصص لاستقبال وتخزين المعاملات طوال مدة العملية؛

● مدمج الثوابت ROM، الذي يخزن رمز التصحيح للتمثيل العشري الثنائي للبيانات، ورمز القناع لعمليات البت، ورمز الثوابت؛

تسجيل كلمة حالة البرنامج PSW، الذي يسجل حالة ALU بعد اكتمال العملية. في الجدول 7.1.2 يوفر معلومات حول تخصيص البتات الفردية لسجل PSW. جهاز التحكم. وحدة التحكم (CU) للمعالج المركزي منويللتنسيق تعاونجميع العقد MK باستخدام نبضات الساعة المولدة وإشارات التحكم. ويتكون من (الشكل 7.1.4):

وحدة المزامنة والتحكمنظام التحكم، الذي يولد نبضات على مدار الساعة تحدد دورات الآلة وحالاتها الفردية (S) والمراحل (P)، واعتمادًا على وضع تشغيل وحدة التحكم الدقيقة، يقوم بإنشاء المجموعة الضرورية من إشارات التحكم. يستغرق تنفيذ الأمر دورة أو دورتين أو أربع دورات للآلة.

كل دورة آلة لديها ست دول S1 – S6، A تتضمن كل ولاية مرحلتين P1، P2، ومدتها هي فترة تذبذب مولد الساعة T 0SC.

مدة دورة الآلة هي 12T 0SC. جميع دورات الآلة هي نفسها، بدءًا من المرحلة S1P1 وتنتهي بالمرحلة S6P2.

بالإضافة إلى نبضات الساعة، يقوم جهاز المزامنة بتوليد إشارتين (أحيانًا إشارة واحدة) للبايت المنخفض لعنوان ALE في كل دورة جهاز على شكل نبضة موجبة في المرحلتين S1P2 – S2P1 وS4P2 – S5P1. مخططات التوقيت في الشكل. 7.1.5 توضيح تنظيم دورات الآلة؛

● تسجيل الأوامر RK، وحدة فك ترميز الأوامر DC وPLM، مما يسمح في كل دورة آلة بإنشاء مجموعة من العمليات الدقيقة وفقًا للبرنامج الصغير للأمر الذي تم تنفيذه؛

● منطق الإدخال/الإخراج LVV لاستقبال وإصدار الإشارات التي تضمن تبادل المعلومات من MK مع الأجهزة الخارجية من خلال المنافذ P0-P3؛

● سجل PCON، الذي يحتوي على بتة SMOD واحدة ممكنة في الموضع PCON.7 لمضاعفة معدل بيانات المنفذ التسلسلي. يتم حجز البتات المتبقية لاستخدامها لاحقا.
مولد العنوان. منشئ العناوين (FA)، أو عداد أوامر الكمبيوتر، منويلتشكيل عنوان 16 بت الحالي لذاكرة البرنامج وعنوان 8/16 بت لذاكرة البيانات الخارجية. ويتكون من (الشكل 7.1.6):

● 16 بت متعادل B، الذي يتصل بين ناقل بيانات SD ذو 8 بتات والناقل الداخلي (IB) ذو 16 بت للعنوان السابق؛

● دائرة زيادة SI لزيادة قيمة العنوان الحالي ذاكرة البرنامجلكل وحدة؛

● سجل لتخزين العنوان الحالي لأوامر PTA القادمة من SI؛

● مؤشر البيانات تسجيل DPTR , يتكون من مسجلين 8 بت DPH وDPL. إنه يعمل على تخزين عنوان 16 بت من ذاكرة البيانات الخارجية ويمكن استخدامه كجهازين مستقلين يمكن الوصول إليهما بواسطة البرامج؛

● سجل مولد عنوان XRF لتخزين العنوان التنفيذي 16 بت لذاكرة البرنامج أو العنوان 8/16 بت لذاكرة البيانات الخارجية. يستخدم هذا السجل أيضًا لنقل البيانات عبر المنفذ P0 إلى الأجهزة الخارجيةعند تنفيذ أوامر MOVX @Rm وA وMOVX @DPRT وA.

ذاكرة البيانات. ذاكرة البيانات منويلتلقي وتخزين وإصدار المعلومات المستخدمة أثناء تنفيذ البرنامج. تتكون ذاكرة البيانات الداخلية (المقيمة) (الشكل 7.1.7) من ذاكرة الوصول العشوائي (RAM) بسعة 128 بايت، مؤشر المكدسس.ب. سجل العنوانذاكرة الوصول العشوائي RA و فك التشفيردش. مؤشر المكدس SP عبارة عن سجل 8 بت مصمم لتلقي وتخزين عنوان خلية المكدس التي تم الوصول إليها آخر مرة. بعد إعادة التعيين، يتم ضبط مؤشر المكدس على العنوان 07H، والذي يتوافق مع بداية المكدس بالعنوان 08H. يسمح تسجيل عنوان PA مع وحدة فك ترميز Dsh بالوصول إلى خلية الذاكرة المطلوبة التي تحتوي على بايت أو بت من المعلومات.

يوفر MK القدرة على زيادة سعة ذاكرة البيانات حتى 64 كيلو بايت عن طريق الاتصال أجهزة التخزين الخارجية.كمثال في الشكل. 7.1.8 يوضح تنظيم الصفحة لذاكرة بيانات VPD الخارجية بسعة 2 كيلو بايت باستخدام أوامر نوع MOVX @ جمهورية مقدونيا (م = 0؛ 1). في هذه الحالة، يعمل المنفذ P0 كناقل عنوان/بيانات متعدد الإرسال، ويتم استخدام ثلاثة أسطر من المنفذ P2 لعنونة صفحة من ذاكرة الوصول العشوائي الخارجية، ويمكن استخدام الأسطر الخمسة المتبقية كخطوط إدخال/إخراج.
في التين. 7.1.9 يُظهر مخططات توقيت دورات القراءة والكتابة عندما يعمل MK مع ذاكرة الوصول العشوائي الخارجية. تشير المخططات إلى:

● RSN - بايت عالي لعداد أوامر الكمبيوتر؛

● DPL، DPH - وحدات البايت المنخفضة والعالية لسجل مؤشر بيانات DPTR، والذي يُستخدم كسجل للعنونة غير المباشرة في أوامر MOVX @DPTR,A وMOVX A,@DPTR؛

● P2 SFR - مزالج منفذ P2؛

● Rm (m = 0, 1) - السجلات المستخدمة في تعليمات MOVX @Rm وA وMOVX A وRm كسجلات عناوين غير مباشرة؛

● Z - حالة المقاومة العالية؛

● D - الفترة التي يتم خلالها إدخال البيانات من المنفذ P0 إلى وحدة التحكم الدقيقة. ذاكرة البرنامج. تم تصميم ذاكرة البرنامج لتخزين البرامج، ولها مساحة عنوان خاصة بها (منفصلة عن ذاكرة البيانات) وهي للقراءة فقط. وهو يشتمل على وحدة فك تشفير Dsh وذاكرة ROM (الشكل 7.1.10). يتم استخدام عداد كمبيوتر شخصي 16 بت لمعالجة ذاكرة البرنامج، لذا تبلغ سعته القصوى 64 كيلو بايت. تتكون ذاكرة البرنامج الداخلية من ROM بحجم 4K بايت ووحدة فك ترميز 12 بت. يتم توصيل الذاكرة الخارجية حسب الشكل الموضح في الشكل. 7.1.11. إذا تم توفير 0 فولت إلى الطرف ¯EA الخاص بـ MK (كما هو موضح في الشكل 7.1.11)، الذاكرة الداخليةتم تعطيل البرامج. تبدأ جميع عمليات الوصول إلى الذاكرة من العنوان 0000h. عند توصيل طرف ¯EA بمصدر طاقة، يتم الوصول إلى ذاكرة البرنامج الداخلية عند العناوين 0000h–FFFFh وإلى ذاكرة البرنامج الخارجية عند العناوين 0FFFh–FFFFh تلقائيًا.

لقراءة الذاكرة الخارجية لبرامج MK، يتم إنشاء إشارة ¯PSEN. عند العمل مع الذاكرة الداخلية، لا يتم استخدام إشارة القراءة. عند الوصول إلى ذاكرة البرنامج الخارجية، يتم دائمًا تكوين عنوان 16 بت. يتم إرسال البايت المنخفض للعنوان عبر المنفذ P0 في النصف الأول من دورة الآلة ويتم تثبيته بقطع وميض ALE في السجل، وفي النصف الثاني من الدورة، يتم استخدام المنفذ P0 لإدخال بايت من البيانات من الذاكرة الخارجية إلى MK.

يتم إرسال البايت الأكثر أهمية من العنوان عبر المنفذ P2 أثناء وقت الوصول إلى الذاكرة بالكامل.

تظهر في الشكل مخططات توقيت دورات القراءة والكتابة عندما يعمل MK مع ذاكرة الوصول العشوائي الخارجية. 7.1.12.
تشير المخططات إلى:

● PCL OUT - إخراج البايت المنخفض لعداد برامج الكمبيوتر؛

● RSN OUT - إخراج البايت العالي لعداد أوامر الكمبيوتر؛

● DPH - بايت عالي لسجل مؤشر بيانات DPTR، والذي يُستخدم كسجل للعنونة غير المباشرة في تعليمات MOVX @DPTR,A وMOVX A,@DPTR؛

● P2 SFR - مزالج منفذ P2؛

● INS IN - إدخال بايت التعليمات (الأمر) من ذاكرة البرنامج؛

● ADDR OUT - إصدار البايت المنخفض لعنوان ذاكرة البيانات الخارجية من سجلات Rm (m = 0, 1) أو من سجل DPL (سجل DPTR المنخفض). منافذ الإدخال/الإخراج. تعيين المنفذ.المنافذ P0، P1، P2، P3 منويلتبادل المعلومات بين MK والأجهزة الخارجية، وكذلك لأداء الوظائف التالية:

● يتم إخراج البايت المنخفض للعنوان A7...A0 من خلال المنفذ P0؛ يتم إخراج بايت البيانات من MK وإدخالها في MK عند العمل مع ذاكرة البرنامج الخارجية وذاكرة البيانات الخارجية (مفصولة بالوقت)؛

● من خلال المنفذ P2، يتم إخراج البايت العالي للعنوان A15...A8 عند العمل مع ذاكرة البرنامج الخارجية وذاكرة البيانات الخارجية (فقط عند استخدام أوامر MOVX A,@DPTR وMOVX @DPTR,A)؛

● يمكن استخدام خطوط المنفذ P3 لأداء وظائف بديلة إذا تم إدخال 1 في مزلاج هذا الخط، وإلا فسيتم تثبيت 0 عند مخرج الخط. يتم عرض الوظائف البديلة لمنافذ منفذ P3 في الجدول. 7.1.3.

ميزات دائرة المنافذ

في التين. 7.1.13 يُظهر الرسوم البيانية لقناة واحدة لكل منفذ من منافذ MK، بما في ذلك:

● مزلاج لتثبيت بت البيانات المستلمة؛

● مضخم الإخراج تتالي(سائق)؛

● العقدة اتصال معمرحلة الإخراج (باستثناء P2)؛

● دائرة لنقل بت البيانات من جانب الإخراج للمنفذ، تتكون من مخازن مؤقتة B2 وB3 (للمنفذ P4). المزلاج عبارة عن D-flip-flop، يتم تسجيله بواسطة إشارة "الكتابة إلى المزلاج" الداخلية. يمكن قراءة بت البيانات من الإخراج المباشر لـ D flip-flop برمجيًا من خلال المخزن المؤقت B1 باستخدام إشارة "Read Latch" إلى خط ناقل البيانات الداخلي (ID) الخاص بـ MK.

مرحلة الانتاجالمنفذ P0 هو عاكس تتجلى ميزاته في حقيقة أن ترانزستور التحميل VT2 يفتح فقط عند الوصول إلى الذاكرة الخارجية (عند نقل العناوين والبيانات عبر المنفذ). في جميع الأوضاع الأخرى، يتم إغلاق ترانزستور الحمل. لذلك، لاستخدام P0 (الشكل 7.1.13، أ) كمنفذ إخراج للأغراض العامة، من الضروري توصيل مقاومات الحمل الخارجية بأطرافها. عند كتابة 1 على مزلاج المنفذ، يتم قفل الترانزستور العاكس VT1 ويتم تحويل الطرف الخارجي لمنفذ P0.X إلى حالة المقاومة العالية. في هذا الوضع، يمكن أن يعمل إخراج المنفذ P0.X كمدخل. إذا تم استخدام منفذ P0 كمنفذ إدخال/إخراج للأغراض العامة، فيمكن لكل من أطراف P0.X أن تعمل بشكل مستقل كمدخل أو مخرج. مراحل الإخراجالمنافذ P1، P2، P3 (الشكل 7.1.13، ب، ج، د)يتم تصنيعه وفقًا لدوائر العاكس مع مقاوم الحمل الداخلي، والذي يستخدم كترانزستور VT2.

لتقليل وقت التبديل عندما تنتقل منافذ المنفذ من الحالة 0 إلى الحالة 1، تم تقديم ترانزستور إضافي VT3 بالتوازي مع ترانزستور الحمل VT2. يتم فتح الترانزستور VT3 ، باستخدام عناصر في دائرة البوابة ، لمدة تساوي فترتي تذبذب لمذبذب الكوارتز الرئيسي (خلال المراحل S1P1 و S2P2 من دورة الماكينة). مراحل الإخراجيمكن توصيل المنافذ P0 وP2 (الشكل 7.1.13 وA وc) باستخدام معدد الإرسال MX إما بمزالج أو بحافلات "العنوان/البيانات" و"العنوان" الداخلية. مرحلة الإخراج للمنفذ P1 (الشكل 7.1.13، 6) متصلة بشكل دائم بالمزلاج.

إذا كان طرف المنفذ P3 عبارة عن مخرج وكان مزلاجه يحتوي على 1، فسيتم التحكم في مرحلة الإخراج الخاصة به بواسطة الأجهزة إشارة داخلية"وظيفة الإخراج البديلة" توفر تنفيذ الوظيفة البديلة المقابلة، أي. يتم إنشاء إحدى الإشارات ¯WR أو ¯RD أو RxD عند الدبوس الخارجي. إذا تم استخدام مخرج المنفذ كمدخل، فسيتم إرسال الإشارة البديلة التي تصل إليه (TxD، ¯INT0، ¯INT1، T0، T1) إلى الخط الداخلي "لوظيفة الإدخال البديلة".

وضع تسجيل المنفذ.

عند تنفيذ أمر كتابة المنفذ، تتم كتابة القيمة الجديدة على المزلاج في المرحلة S6P2 ويتم إخراجها مباشرة إلى دبوس الإخراج للمنفذ في المرحلة S1P1 من دورة الجهاز التالية.

وضع قراءة المنفذ

تقوم أوامر قراءة المنفذ بقراءة المعلومات مباشرة من الأطراف الخارجية للمنفذ أو من مخرجات المزلاج. في الحالة الأولى، تتم قراءة بت البيانات من منفذ المنفذ برمجيًا من خلال المخزن المؤقت B2 باستخدام إشارة "Read Pins" إلى خط ناقل البيانات الداخلي (SD) الخاص بـ MK. لاحظ أن الإشارات "الكتابة إلى المزلاج"، "مزلاج القراءة"، "دبابيس القراءة" يتم إنشاؤها في الأجهزة عند تنفيذ الأوامر المقابلة.

في الحالة الثانية، يتم تنفيذ ما يسمى بوضع "القراءة - التعديل - الكتابة"، حيث يقرأ الأمر إشارة حالة المزلاج، ويعدلها إذا لزم الأمر، ثم يكتبها مرة أخرى إلى المزلاج. يتم تنفيذ وضع "القراءة والتعديل والكتابة" عند تنفيذ الأوامر التالية: ANL، ORL، XRL، JBC؛ كبل؛ شركة؛ ديسمبر؛ دي جي ان سي؛ موف بكس، ص؛ CLR PX.Y; سيتب بي إكس، واي.

تتيح لك قراءة المعلومات من مخرجات المزالج التخلص من الأخطاء عند تفسير المستوى المنطقي عند طرف المنفذ. اقرأ تكملة المقال.

يتم تحديد بنية عائلة MCS-51 إلى حد كبير من خلال الغرض منها - البناء المدمجو رخيص الأجهزة الرقمية. يتم تنفيذ جميع وظائف الحواسيب الصغيرة باستخدام دائرة كهربائية دقيقة واحدة. تشتمل عائلة MCS-51 على مجموعة كاملة من الدوائر الدقيقة بدءًا من أبسط وحدات التحكم الدقيقة وحتى تلك المعقدة للغاية. تتيح لك وحدات التحكم الدقيقة من عائلة MCS-51 أداء مهام التحكم للأجهزة المختلفة وتنفيذ المكونات الفردية الدائرة التناظرية. جميع الدوائر الدقيقة لهذه العائلة تعمل بنفس نظام الأوامر، ويتم تنفيذ معظمها في حالات متطابقة مع مطابقة pinout(عدد الأرجل للجسم). يتيح لك ذلك استخدام الدوائر الدقيقة من مختلف الشركات المصنعة (مثل Intel وDallas وAtmel وPhilips وما إلى ذلك) للجهاز المطور. دون إعادة صياغة رسم تخطيطىالأجهزة والبرامج.

الشكل 1. رسم تخطيطي لوحدة التحكم K1830BE751

يظهر الرسم التخطيطي لوحدة التحكم في الشكل 1. ويتكون من الوحدات الوظيفية الرئيسية التالية: وحدة التحكم، والوحدة الحسابية المنطقية، ووحدة المؤقت/العداد، والواجهة التسلسلية ووحدة المقاطعة، وعداد البرنامج، وذاكرة البيانات، وذاكرة البرنامج. يتم إجراء الاتصال ثنائي الاتجاه باستخدام ناقل بيانات داخلي 8 بت. دعونا نلقي نظرة فاحصة على الغرض من كل كتلة. تم تصميم جميع أفراد عائلة MCS-51 تقريبًا وفقًا لهذا المخطط. تختلف الدوائر الدقيقة المختلفة لهذه العائلة فقط في السجلات ذات الأغراض الخاصة (بما في ذلك عدد المنافذ). نظام الأوامر جميع وحدات التحكمتحتوي عائلة MCS-51 على 111 الأوامر الأساسيةبصيغة 1 أو 2 أو 3 بايت ولا تتغير عند الانتقال من شريحة إلى أخرى. وهذا يضمن إمكانية نقل البرنامج بشكل ممتاز من شريحة إلى أخرى.

وحدة التحكم والمزامنة

تم تصميم وحدة التوقيت والتحكم لتوليد إشارات التزامن والتحكم التي تضمن تنسيق التشغيل المشترك لوحدات الكمبيوتر المركزية في جميع أوضاع تشغيلها المسموح بها، وتتضمن وحدة التحكم ما يلي:

  • جهاز لتشكيل الفترات الزمنية،
  • منطق الإدخال والإخراج,
  • سجل الأوامر
  • سجل إدارة الطاقة,
  • وحدة فك ترميز الأوامر، منطق التحكم بالكمبيوتر.

جهاز لتشكيل الفترات الزمنيةمصممة لتوليد وإصدار إشارات الساعة الداخلية للأطوار والساعات والدورات. يحدد عدد دورات الآلة مدة التعليمات. يتم تنفيذ جميع أوامر الكمبيوتر تقريبًا في دورة واحدة أو دورتين للآلة، باستثناء تعليمات الضرب والقسمة، التي تبلغ مدة تنفيذها أربع دورات للآلة. دعونا نشير إلى تردد المذبذب الرئيسي بـ F g، ثم تكون مدة دورة الآلة تساوي 12/F g أو 12 فترة من إشارة المذبذب الرئيسي. تم تصميم منطق الإدخال/الإخراج لاستقبال وإخراج الإشارات التي تضمن تبادل المعلومات مع الأجهزة الخارجية من خلال منافذ الإدخال/الإخراج P0-P3.

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

سجل التحكم في الطلب (PCON) يسمح لك بإيقاف وحدة التحكم الدقيقة لتقليل استهلاك الطاقة وتقليل مستوى التداخل من وحدة التحكم الدقيقة. ويمكن تحقيق انخفاض أكبر في استهلاك الطاقة والتداخل عن طريق إيقاف المذبذب الرئيسي لوحدة التحكم الدقيقة. يمكن تحقيق ذلك عن طريق تبديل أجزاء سجل التحكم في استهلاك PCON. بالنسبة لخيار التصنيع n-MOS (سلسلة 1816 أو الرقائق الأجنبية التي لا تحتوي على حرف "c" في منتصف اسمها)، يحتوي سجل التحكم في استهلاك PCON على بتة واحدة فقط تتحكم في معدل الباود للمنفذ التسلسلي SMOD، و لا توجد بتات التحكم في استهلاك الطاقة.

جنبا إلى جنب مع المقال "هندسة المتحكمات الدقيقة MCS-51" اقرأ:


http://site/MCS51/tablms.php


http://site/MCS51/SysInstr.php


http://site/MCS51/port.php

حاليًا، تنتج العديد من الشركات العديد من التعديلات ونظائرها لهذه العائلة، سواء من قبل شركة Intel أو غيرها من الشركات المصنعة، وقد زادت سرعة الساعة وسعة الذاكرة بمقدار عشرة أضعاف وتستمر في الزيادة. يتم أيضًا توسيع مجموعة الوحدات المضمنة في LSI؛ يحتوي عدد كبير من الطرازات الحديثة على ADC مدمج عالي السرعة يصل إلى 12 بت، والآن قد يكون هناك المزيد من البتات. لكن عائلة MCS51 تعتمد على Intel LSIs 8051، 80S51، 8751، 87S51، 8031، 80S31، والتي تم إصدار العينات الأولى منها في عام 1980.

يتم تصنيع وحدات التحكم الدقيقة من عائلة MCS51 باستخدام تقنية n-MOS عالية الجودة (السلسلة 8ХХХ، التناظرية - السلسلة 1816 في روسيا وبيلاروسيا) وتقنية k-MOS (السلسلة 8ХСХХ، التناظرية - السلسلة 1830). الحرف الثاني الذي يلي الرقم 8 يعني: 0 - لا يوجد EPROM على الشريحة، 7 - EPROM بدقة 4K مع مسح بالأشعة فوق البنفسجية. الحرف الثالث: 3 - ROM على الرقاقة، 5 - إذا لم يكن هناك ROM، فهذا يعني أن هناك قناع ROM على الرقاقة.

وبالتالي فإن 80С51 هو LSI يعتمد على تقنية k-MOS مع قناع ROM على الشريحة، 8031 ​​هو n-MOS LSI بدون ذاكرة البرنامج (ROM، RPOM) على الشريحة، 8751 هو n-MOS LSI مع المقيم (الموجود على الشريحة) RPOM مع محو الأشعة فوق البنفسجية. سننظر أيضًا في 8751 LSI، مع إبداء تحفظات، إذا لزم الأمر، حول الاختلافات بين الدوائر الأخرى، مع الإشارة إلى تلك المعلمات التي تم نشرها لأول LSIs التسلسلية. إذا لزم الأمر، يمكنك العثور على معلومات إضافية حول جميع التعديلات الحديثة في أدلة الشركة والوثائق الفنية.

أ. الخصائص العامة ومهام الدبوس

تعتمد عائلة MCS51 على خمسة تعديلات على MK (لها خصائص أساسية متطابقة)، والفرق الرئيسي بينها هو تنفيذ ذاكرة البرنامج واستهلاك الطاقة (انظر الجدول 3.1). المتحكم الدقيق هو ثمانية بت، أي. لديه أوامر لمعالجة الكلمات ذات الثمانية بتات، وله بنية هارفارد، وتردد الساعة للعينات الأساسية للعائلة هو 12 ميجا هرتز.

الجدول 3.1.

الدوائر الدقيقة

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

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

ذاكرة البيانات الداخلية، بايت

تردد الساعة، ميغاهيرتز

الاستهلاك الحالي، مللي أمبير

يحتوي MK 8051 و80C51 على ذاكرة برنامج ROM قابلة للبرمجة بواسطة القناع بسعة 4096 بايت أثناء تصنيع الشريحة وهي مصممة للاستخدام في الإنتاج الضخم. يحتوي MK 8751 على RPOM بحجم 4096 بايت مع مسح للأشعة فوق البنفسجية وهو مناسب في مرحلة تطوير النظام عند تصحيح أخطاء البرامج، وكذلك أثناء الإنتاج على دفعات صغيرة أو عند إنشاء أنظمة تتطلب إعادة الكتابة أثناء التشغيل.

التعديل الدوري.

لا يحتوي MK 8031 ​​و80C31 على ذاكرة برنامج مدمجة. يمكنها، مثل التعديلات الموصوفة مسبقًا، استخدام ما يصل إلى 64 كيلو بايت من ذاكرة البرنامج الخارجية وتستخدم بشكل فعال في الأنظمة التي تتطلب حجمًا أكبر بكثير (من 4 كيلو بايت على الشريحة) من ذاكرة برنامج ROM.

يحتوي كل MK من العائلة على ذاكرة بيانات مقيمة بسعة 128 بايت مع إمكانية توسيع الحجم الإجمالي لبيانات ذاكرة الوصول العشوائي (RAM) حتى 64 كيلو بايت من خلال استخدام وحدات ذاكرة الوصول العشوائي (RAM) الخارجية.

    معالج مركزي بثمانية بتات؛

    ذاكرة برنامج بسعة 4 كيلو بايت (8751 و87C51 فقط)؛

    ذاكرة بيانات 128 بايت؛

    أربعة منافذ إدخال/إخراج قابلة للبرمجة ذات ثمانية بتات؛

    مؤقتان/عدادان متعدد الأوضاع 16 بت؛

    نظام المقاطعة التلقائي المتجه مع خمسة نواقل ومستويين للأولوية يتحكم فيهما البرنامج؛

    واجهة تسلسلية، بما في ذلك جهاز إرسال واستقبال مزدوج عالمي قادر على العمل في أربعة أوضاع؛

    مولد الساعة.

يحتوي نظام أوامر MK على 111 أمرًا أساسيًا بتنسيق 1 أو 2 أو 3 بايت. يحتوي المتحكم الدقيق على:

    32 سجل للأغراض العامة RON، منظمة في أربعة بنوك من ثمانية سجلات لكل منها أسماء R0... R7، يتم تحديد اختيار بنك أو آخر بواسطة البرنامج عن طريق تعيين البتات المقابلة في سجل حالة البرنامج PSW؛

    128 علامة يتم التحكم فيها بواسطة البرنامج (معالج البت، انظر أدناه)؛

    مجموعة من سجلات الوظائف الخاصة التي تتحكم في عناصر MK. هناك أوضاع التشغيل التالية للمتحكم الدقيق:

1). إعادة تعيين عامة. 2). الأداء الطبيعي. 3).وضع استهلاك الطاقة المنخفض ووضع الخمول. 4). وضع البرمجة لـ RPOM المقيم، إذا كان متاحًا.

سنركز هنا على وضعي التشغيل الأولين، ويرد وصف تفصيلي لتكوين وتشغيل MK في جميع الأوضاع في الملحق P1.

توجد منطقة معالج البت وRON في مساحة العنوان الخاصة بذاكرة الوصول العشوائي (RAM) المقيمة بعناوين تتراوح من 0 إلى 80 ساعة.

في المنطقة العليا من عناوين ذاكرة الوصول العشوائي السكنية توجد سجلات وظائف خاصة (SFR، سجلات الوظائف الخاصة). والغرض منها موضح في الجدول. 3.2.

الجدول 3.2.

تعيين

اسم

بطارية

سجل ب

سجل حالة البرنامج

مؤشر المكدس

مؤشر البيانات. 2 بايت:

بايت منخفض

بايت عالية

مقاطعة تسجيل الأولوية

مقاطعة تمكين التسجيل

تسجيل وضع الموقت/العداد

سجل التحكم بالمؤقت/العداد

الموقت/العداد 0. بايت عالية

الموقت/العداد 0. بايت منخفض

الموقت/العداد 1. بايت عالية

الموقت/العداد 1. بايت منخفض

التحكم في المنفذ التسلسلي

المخزن المؤقت التسلسلي

إدارة الاستهلاك

* - السجلات, السماح bitwise معالجة

دعونا نلقي نظرة سريعة على وظائف سجلات SFR الموضحة في الجدول 3.2.

بطارية لجنة التنسيق الإدارية - سجل المجمع. أوامر مصممة للعمل

أنت مع البطارية، استخدم حرف التذكير "A"، على سبيل المثال، وسائل التحقق أ، ص2 . يتم استخدام تذكير ACC، على سبيل المثال، عند معالجة المجمع على مستوى البت. وبالتالي، فإن الاسم الرمزي للبت الخامس من المجمع عند استخدام المجمع A5M51 سيكون كما يلي: ACC. 5. .

يسجل في . تستخدم أثناء عمليات الضرب والقسمة. للحصول على تعليمات أخرى، يمكن التعامل مع السجل B كسجل إضافي في الوقت الفعلي.

يسجل ولاية البرامج PSW. يحتوي على معلومات حول حالة البرنامج ويتم تثبيته جزئيًا تلقائيًا بناءً على نتيجة العملية التي تم إجراؤها، وجزئيًا بواسطة المستخدم. وترد تسمية وغرض بتات التسجيل في الجدولين 3.3 و4.3 على التوالي.

الجدول 3.3.

تعيين

الجدول 3.4.

تعيين

تعيين بت

الوصول إلى بت

حمل العلم. التغييرات أثناء تنفيذ سلسلة من التعليمات الحسابية والمنطقية.

الأجهزة أو البرامج

علم حمل إضافي. تعيين/مسح في الأجهزة أثناء تعليمات الجمع أو الطرح للإشارة إلى النقل أو الاقتراض في البت 3 عند إنشاء الجزء الأقل أهمية من النتيجة (D0-D3).

الأجهزة أو البرامج

العلم 0. العلم المحدد من قبل المستخدم.

برمجيا

برمجيا

مؤشر بنك السجل العامل

برمجيا

البنك 0 بالعناوين (00Н - 07Н) البنك 1 بالعناوين (08Н - 0FН) البنك 2 بالعناوين (10Н - 17Н) البنك 3 بالعناوين (18Н - 1FН)

علم الفائض. يتم تعيينه أو مسحه بواسطة الأجهزة أثناء تنفيذ التعليمات الحسابية للإشارة إلى حالة التجاوز

الأجهزة أو البرامج

إضافي. يحتوي على مشغل قابل للكتابة والقراءة والذي يمكن استخدامه

بت التكافؤ. يتم إعادة ضبط الأجهزة أو ضبطها في كل دورة تعليمات للإشارة إلى عدد زوجي أو فردي من بتات البطارية في الحالة "1".

الأجهزة أو البرامج

المؤشر كومة SP - سجل 8 بت يتم زيادة محتوياته قبل كتابة البيانات إلى المكدس عند تنفيذ تعليمات PUSH و CALL. عند إعادة التعيين الأولي، يتم ضبط مؤشر المكدس على 07H وتبدأ منطقة المكدس في ذاكرة الوصول العشوائي للبيانات عند العنوان 08H. إذا لزم الأمر، من خلال تجاوز مؤشر المكدس، يمكن تحديد موقع منطقة المكدس في أي مكان في ذاكرة الوصول العشوائي الداخلية لبيانات وحدة التحكم الدقيقة.

المؤشر بيانات DPTR يتكون من بايت عالي (DPH) وبايت منخفض

(دبل). يحتوي على عنوان 16 بت عند الوصول إلى الذاكرة الخارجية. ممكن استخدامه

يكون إما سجل 16 بت أو سجلين مستقلين 8 بت.

المنفذ0 - بورتز. البتات المنفصلة من سجلات الوظائف الخاصة P0، P1، P2، RZ هي البتات "المزالج" للمنافذ P0، P1، P2، RZ.

متعادل ثابت ميناء SBUF يمثل سجلين منفصلين: المخزن المؤقت للمرسل والمخزن المؤقت للمستقبل. عند كتابة البيانات إلى SBUF، فإنها تدخل إلى المخزن المؤقت لجهاز الإرسال، وتؤدي كتابة بايت إلى SBUF تلقائيًا إلى بدء الإرسال عبر المنفذ التسلسلي. عند قراءة البيانات من SBUF، يتم جلبها من المخزن المؤقت لجهاز الاستقبال.

السجلات مؤقت. قم بتسجيل الأزواج (TH0, TL0) و (TH1, TL1) من النموذج 16

يسجل عد البتات للمؤقت/العداد 0 والمؤقت/العداد 1، على التوالي.

السجلات إدارة. تحتوي سجلات الوظائف الخاصة IP وIE وTMOD وTCON وSCON وPCON على بتات التحكم وبتات الحالة لنظام المقاطعة والوقت-

متر/عدادات والمنفذ التسلسلي. سيتم مناقشتها بالتفصيل أدناه.

آر إكس دي تكسد INT0 INT1 T0 T1 WR

P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

آر إس تي بي كيو 2 بكيو 1 إ.أ.

P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7

P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7

عند العمل، يوفر MC:

    الحد الأدنى لوقت تنفيذ أوامر الإضافة هو 1 ميكروثانية؛

    مضاعفة الأجهزة وتقسيمها مع حد أدنى لوقت التنفيذ يبلغ 4 ميكروثانية.

يوفر MK القدرة على ضبط تردد المذبذب الداخلي باستخدام الكوارتز أو سلسلة LC أو مذبذب خارجي.

يوفر نظام التعليمات الموسع معالجة البايت والبت، والحساب العشري الثنائي والثنائي، وإشارة الفائض، وتحديد الزوجي/الفردي، والقدرة على تنفيذ معالج منطقي.

الميزة الأكثر أهمية وتميزًا في بنية عائلة MCS51 هي أن وحدة ALU يمكنها معالجة البيانات ذات البت الواحد بالإضافة إلى إجراء العمليات على أنواع البيانات ذات 8 بت. يمكن تعيين البتات الفردية التي يمكن الوصول إليها بواسطة البرامج، أو مسحها، أو استبدالها بمكملاتها، ويمكن إعادة توجيهها، والتحقق منها، و

الشكل 3.2. دبابيس خارجية

متحكم

المستخدمة في الحسابات المنطقية. في حين دعم أنواع البيانات البسيطة (إن وجدت)

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

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

لنبدأ مع دبابيس الطاقة «0 في" و "5 في" ، والذي يتلقى من خلاله التغذية الأساسية. ويرد الاستهلاك الحالي في الجدول. 3.1.

خاتمة "RST" - إعادة ضبط المتحكم الدقيق. عندما يتم تطبيق مستوى عالٍ نشط على هذا الدبوس، فإن وضع عام إعادة ضبط ويقوم MK بالإجراءات التالية:

يضبط عداد برنامج الكمبيوتر وجميع سجلات الوظائف الخاصة، باستثناء مزالج المنفذ P0-P3 ومؤشر مكدس SP وتسجيل SBUF، على الصفر؛

    يأخذ مؤشر المكدس قيمة تساوي 07H؛

    تعطيل جميع مصادر المقاطعة وعداد المؤقت والمسلسل

    يختار BANK 0 RAM، ويقوم بإعداد المنافذ P0-RZ لتلقي البيانات وتحديدها

يشارك دبابيس ALE وPME كمدخلات لتسجيل الوقت الخارجي؛

      في السجلات وظائف خاصةتأخذ البتات المحجوزة PCON وIP وIE قيمًا عشوائية، ويتم إعادة تعيين جميع البتات الأخرى إلى الصفر؛

      يتم تعيين سجل SBUF على قيم عشوائية.

      يضبط مزالج المنافذ P0-PZ على "1".

يتم عرض حالات سجلات المتحكم الدقيق بعد إعادة التعيين في الجدول 3.5.

الجدول 3.5.

معلومة

غير مؤكد

0ХХХ0000V لـ k-MOS 0XXXXXXXB لـ n-MOS

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

الاستنتاجات بك1, بي كيو2 مصممة لتوصيل مرنان الكوارتز الذي يحدد تردد الساعة لـ MK.

خاتمة EA` (ه خارجي أ فستان خارجي عنوان) - مصمم لتنشيط وضع قراءة رموز التحكم من ذاكرة البرنامج الخارجية عند تطبيق مستوى منخفض نشط على هذا الدبوس. الإخراج له غرض بديل (وظيفة). يتم تزويده بجهد البرمجة من RPOM في وضع البرمجة.

خاتمة PME (ص com.rogram م إيموري ه نبيل إذن ذاكرة البرامج) - مصمم للتحكم في دورة القراءة من ذاكرة البرنامج ويتم تفعيله تلقائيا بواسطة MK في كل دورة آلة.

خاتمة البيرة (أ فستان ل ength ه نبيل إذن مبتدئ عناوين) يومض إخراج الجزء ذو الترتيب المنخفض من العنوان عبر المنفذ P0. يتم استخدام الإخراج أيضًا عند برمجة RPOM، بينما يتم تزويده بنبضة قوية لعملية البرمجة.

يحتوي MK على أربع مجموعات من المنافذ: P0، P1، P2، وP3. هذه هي المسامير الأربعين المتبقية من وحدة التحكم الدقيقة. يمكن أن تعمل هذه المنافذ على إدخال وإخراج المعلومات خطوة بخطوة، ولكن بالإضافة إلى ذلك، يتمتع كل منها بتخصصه الخاص. يظهر الشكل 1 مخططًا وظيفيًا عامًا للمنفذ. 3.3. يحتوي المنفذ على مفاتيح إخراج FET متصلة بالدبوس، ومفتاح وظيفة، ومزلاج D flip-flop، ومنطق التحكم. يمكن كتابة وحدة أو صفر على المزلاج الموجود على الناقل الداخلي لـ MK. يتم إرسال هذه المعلومات من خلال مفتاح الوظيفة إلى مفاتيح الإخراج وإخراج MK. في الحالة الواحدة، يكون كلا الترانزستورين N وN1 مغلقين، لكن N2 مفتوحان. في حالة الصفر N يفتح-

إغلاق Xia وN2. في اللحظة التي يؤدي فيها المنفذ وظيفة بديلة يتخصص فيها، يتم مسح حالة مزلاج الإخراج. يمكن لوحدة التحكم الدقيقة قراءة حالة مزلاج المنفذ وحالة خرجه بشكل منفصل، والتي يتم تحديدها بواسطة إشارة خارجية. ولهذا الغرض، يحتوي مجمع MK على أوامر خاصة تعمل على تنشيط الخطوط المقابلة. لقراءة حالة الدبوس في مزلاج المنفذ المقابل،

تكون مسجلة مسبقا

من الداخل

مزلاج التحكم

مفتاح الوظيفة

VCC

عطلة نهاية الاسبوع

وحدة. عند تنشيط خط "مزلاج القراءة"، يظهر خرج الخلية "AND" التي يتصل بها هذا الخط.

إطاراتها MK D Q

اكتب للمزلاج C Q

قراءة مزلاج

دبوس المنفذ

يتم نقل حالة المزلاج إلى الناقل الداخلي لـ MC عند تنشيطه

"قراءة الإخراج" - حالة الدبوس الخارجي للمنفذ.

ميناء ص0 – منفذ عالمي ثنائي الاتجاه

الإدخال/الإخراج أبعد من هذا المنفذ

وظيفة تنظيم حافلات العناوين الخارجية و

أرز. 3.3. رسم تخطيطي وظيفي لمنفذ المتحكم الدقيق

البيانات لتوسيع ذاكرة البرنامج وذاكرة البيانات

متحكم. عند الوصول إلى ذاكرة البرنامج الخارجية أو تنفيذ أمر للوصول إلى ذاكرة البيانات الخارجية، يتم تعيين الجزء ذو الترتيب المنخفض من العنوان (A0...A7) عند منافذ المنفذ، والتي يتم ربطها عاليًا عند طرف ALE. بعد ذلك، عند كتابة البيانات إلى الذاكرة، يتم إرسال المعلومات المسجلة من الناقل الداخلي لـ MK إلى أطراف منفذ P0. في عمليات القراءة، على العكس من ذلك، يتم إرسال المعلومات من دبابيس المنفذ إلى الناقل الداخلي. من ميزات منفذ P0 عدم وجود ترانزستور "سحب لأعلى" N2، والذي يوفر الطاقة للإخراج. عند الكتابة إلى مزلاج منفذ الوحدة، يتم نقله ببساطة إلى حالة مقاومة عالية، وهو أمر ضروري للتشغيل العادي لناقل البيانات. إذا كان من الضروري تشغيل أي أجهزة خارجية من خلال الإخراج، فيجب توفير مقاومات خارجية من دوائر الطاقة إلى مخرج المنفذ.

ميناء ص1 - منفذ إدخال/إخراج عالمي ثنائي الاتجاه بدون وظائف بديلة.

ميناء ص2 - منفذ إدخال/إخراج عالمي ثنائي الاتجاه، يقوم، كوظيفة بديلة، بإصدار الجزء العلوي من العنوان (A8...A15) عند الوصول إلى الذاكرة الخارجية.

ميناء ص3 - منفذ إدخال/إخراج عالمي ثنائي الاتجاه، يوفر كل جزء منه تنفيذ وظائف بديلة متنوعة. في هذه الحالة، يتم تنفيذ الوظائف البديلة فقط إذا تمت كتابتها على مزالج دبابيس المنفذ، وإلا فسيتم حظر تنفيذ الوظائف البديلة. دعونا ندرجها بشكل منفصل لكل بت:

ص3.0 آر إكس دي (رإيد ه Xداخلي دأكل، وقراءة البيانات الخارجية) - إدخال جهاز الإرسال والاستقبال التسلسلي المدمج.

ص3.1 تكسد (تنعم ه Xداخلي دأكل، نقل البيانات الخارجية) - إخراج جهاز الإرسال والاستقبال التسلسلي المدمج.

ص3.2 INT0` (إنتيثور، يقاطع) - إدخال المقاطعة الخارجية 0.

ص3.3 INT1` – إدخال المقاطعة الخارجية 1.

ص3.4 ج/T0 - صفر مدخلات مؤقت/عداد.

ص3.5 ج/T1 – إدخال أول مؤقت/عداد مدمج.

ص3.6 WR` (دبليوطقوس، كتابة) - إخراج للتحكم في دورة الكتابة في ذاكرة البيانات.

ص3.7 آر دي` (ر ead، read) - التحكم في إخراج دورة القراءة من ذاكرة البيانات.

إن منافذ المنفذ P1 وP2 وP3 قادرة على إخراج تيار يبلغ حوالي 0.2 مللي أمبير لكل وحدة واستقبال تيار قدره 3 مللي أمبير عند الصفر؛ أما منافذ المنفذ P0 فهي أكثر قوة وقادرة على توصيل تيار يبلغ حوالي 0.8 مللي أمبير في وحدة واحدة ويستقبل تيارًا قدره 5 مللي أمبير عند الصفر. معلومات مختصرة حول الغرض من أطراف المتحكم الدقيق موضحة في الجدول 3.6.

الجدول 3.6.

تعيين

الغرض من الإخراج

منفذ ثنائي الاتجاه 8 بت P1. إدخال العنوان A0-A7 عند التحقق من ROM الداخلي (RPM)

إدخال خروج

إشارة إعادة الضبط العامة. خرج الطاقة الاحتياطية لذاكرة الوصول العشوائي (RAM) من مصدر خارجي (لعام 1816)

منفذ P3 ثنائي الاتجاه 8 بت مع ميزات إضافية

إدخال خروج

البيانات التسلسلية لجهاز الاستقبال - RxD

البيانات التسلسلية لجهاز الإرسال - TxD

إدخال المقاطعة الخارجية 0-INT0`

إدخال المقاطعة الخارجية 1-INT1`

إدخال المؤقت/العداد 0: - T0

مدخل المؤقت/العداد 1: - T1

خرج الإشارة القوية عند الكتابة إلى ذاكرة البيانات الخارجية: - WR`

خرج الإشارة القوية عند القراءة من ذاكرة البيانات الخارجية - RD`

يؤدي لتوصيل مرنان الكوارتز.

إدخال الخروج

خلاصة عامة

منفذ ثنائي الاتجاه 8 بت P2. معالجة إخراج A8-A15 في وضع الذاكرة الخارجية. في وضع فحص ROM الداخلي، يتم استخدام الأطراف P2.0 - P2.6 كمدخل للعناوين A8-A14. دبوس P2.7 - إذن قراءة ROM.

إدخال خروج

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

تثبيت العنوان تمكين إشارة الإخراج. عند برمجة إشارة RPOM: PROG

إدخال خروج

منع العمل مع الذاكرة الداخلية. عند برمجة RPOM، يتم إعطاء إشارة UPR

إدخال خروج

منفذ ثنائي الاتجاه 8 بت P0. ناقل العنوان/البيانات للعمل مع الذاكرة الخارجية. إخراج البيانات D7-D0 في وضع اختبار ROM الداخلي (RPM).

إدخال خروج

خرج الطاقة من مصدر جهد +5 فولت

خطة المحاضرة

1 المقدمة

2. التعليمات الحسابية والمنطقية

3. أوامر نقل البيانات

4. العمليات المنطقية

5. تعليمات القفز

1 المقدمة

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

أوضاع المعالجة : مجموعة الأوامر إم سي إس-51يدعم أوضاع العنونة التالية. المخاطبة المباشرة: يتم تحديد المعامل بواسطة عنوان 8 بت في التعليمات. يتم استخدام العنونة المباشرة فقط للنصف المنخفض من ذاكرة البيانات الداخلية والسجلات SFR. المخاطبة غير المباشرة: تتناول التعليمات سجلاً يحتوي على عنوان المعامل. هذا النوعيتم استخدام العنونة لذاكرة الوصول العشوائي الخارجية والداخلية. يمكن استخدام السجلات لتحديد عناوين 8 بت ص0و ر1بنك التسجيل المحدد أو مؤشر المكدس SP. بالنسبة للعنونة ذات 16 بت، يتم استخدام سجل مؤشر البيانات فقط DPTR.

تعليمات التسجيل : السجلات R0-R7يمكن معالجة بنك السجل الحالي من خلال تعليمات محددة تحتوي على حقل 3 بت يشير إلى رقم السجل في التعليمات نفسها. في هذه الحالة، حقل العنوان المقابل مفقود من الأمر. العمليات باستخدام سجلات خاصة: تستخدم بعض التعليمات سجلات فردية (على سبيل المثال، عمليات المجمع، DPTR، إلخ.). في هذه الحالة، لم يتم تحديد عنوان المعامل في الأمر على الإطلاق. يتم تحديده مسبقًا بواسطة رمز التشغيل.

ثوابت فورية : يمكن تحديد موقع الثابت مباشرة في الأمر بعد كود التشغيل.

معالجة الفهرس : لا يمكن استخدام عنونة الفهرس إلا للوصول إلى ذاكرة البرنامج وفي وضع القراءة فقط. في هذا الوضع، يتم عرض الجداول الموجودة في ذاكرة البرنامج. تسجيل 16 بت ( DPTRأو عداد البرنامج) يشير إلى العنوان الأساسي للجدول المطلوب، ويشير المجمع إلى نقطة الدخول إليه.

مجموعة الأوامريحتوي على 42 طريقة لتقوية الأوامر لتحديد 33 وظيفة لهذا النظام. يتكون بناء جملة معظم تعليمات لغة التجميع من دالة تذكيرية متبوعة بمعاملات تشير إلى طرق العنونة وأنواع البيانات. أنواع مختلفةيتم تحديد أوضاع البيانات أو العنونة من خلال المعاملات المحددة، وليس من خلال التغييرات في فن الإستذكار.

يمكن تقسيم نظام الأوامر إلى خمس مجموعات: تعليمات حسابية; الأوامر المنطقية؛ أوامر نقل البيانات؛ أوامر معالج البت؛ أوامر التفرع والتحكم في النقل. الرموز والرموز المستخدمة في نظام الأوامر موضحة أدناه.

طاولة. التدوينات والرموز المستخدمة في نظام الأوامر

التعيين، الرمز

غاية

بطارية

سجلات بنك التسجيل المحدد حاليًا

رقم السجل المحمل المحدد في الأمر

مباشر

عنوان خلية بيانات داخلية 8 بت قابل للعنونة بشكل مباشر، والذي يمكن أن يكون خلية ذاكرة وصول عشوائي (RAM) للبيانات الداخلية (0–127) أو سجل وظيفة خاصة SFR (128–255)

خلية ذاكرة الوصول العشوائي (RAM) للبيانات الداخلية ذات 8 بتات القابلة للعنونة بشكل غير مباشر

8 بت مباشرالبيانات المدرجة في رمز التشغيل (OPC)

البياناتH

البتات الأكثر أهمية (15-8) من البيانات المباشرة ذات 16 بت

بيانات L

البتات الأقل أهمية (7–0) من البيانات المباشرة ذات 16 بت

عنوان الوجهة 11 بت

عنوانL

الأجزاء الأقل أهمية من عنوان الوجهة

بايت إزاحة موقعة 8 بت

البتة القابلة للعنونة مباشرة والتي يحتوي عنوانها على COP الموجود في ذاكرة الوصول العشوائي للبيانات الداخلية أو سجل الوظيفة الخاصة SFR

a15، a14...a0

بتات عنوان الوجهة

محتويات العنصر X

المحتويات على العنوان المخزن في العنصر X

البت M للعنصر X


+

*
و
أو
XOR
/X

عمليات:
إضافة
الطرح
عمليه الضرب
الانقسامات
الضرب المنطقي (و العملية)
إضافة منطقية (أو عملية)
وحدة الإضافة 2 (حصريًا OR)
انقلاب العنصر X

ترتبط أساليب تقوية الوظائف بشكل فريد بمجموعات محددة من أساليب العنونة وأنواع البيانات. في المجمل، هناك 111 مجموعة من هذه المجموعات ممكنة في نظام الأوامر.

2. التعليمات الحسابية والمنطقية

كيف ص مثال التعليم الحسابي، يمكن تنفيذ عملية الإضافة بواسطة أحد الأوامر التالية.

يضيفأ,7 F 16 – إضافة الرقم 7 إلى محتويات السجل أاف 16 وتخزين النتيجة في السجل أ؛

يضيفأ,@ ر0 - يضاف إلى محتويات السجل "أ" الرقم الذي عنوانه (@ – تجاري في ) يتم تخزينها في السجلر 0 (عنونة غير مباشرة)، وقم بتخزين النتيجة في السجل A؛

أضف أ، ر7- إضافة محتويات السجل أ إلى محتويات السجلر 7 وحفظ النتيجة في السجل أ؛

أضف أ، رقم 127- يضاف إلى محتويات السجل "أ" رقم عنوان خلية تخزينه هو 127 ( # – رمز الرقم)، وحفظ النتيجة في التسجيل ت- إعادة أ.

يتم تنفيذ جميع التعليمات الحسابية في دورة آلة واحدة باستثناء التعليمات إنك دي بي تي آر(إزاحة مؤشر البيانات DPTRإلى البايت التالي)، مما يتطلب دورتين آليتين، بالإضافة إلى عمليات الضرب والقسمة التي يتم إجراؤها في 4 دورات آلية. يمكن زيادة أو إنقاص أي بايت في ذاكرة البيانات الداخلية دون استخدام بطارية.

تعليمات مول أبينفذ عملية الضرب (الضرب) للبيانات الموجودة في المجمع من خلال البيانات الموجودة في السجل B، ويضع المنتج في السجلات A (النصف المنخفض) وB (النصف الأعلى).

تعليمات ديف أبيقسم (يقسم) محتويات المركم على القيمة الموجودة في السجل B، ويترك الباقي في B والحاصل في المركم.

تعليمات دا أمخصص للعمليات الحسابية العشرية الثنائية (العمليات الحسابية على الأرقام الممثلة بالرمز العشري الثنائي). لا يقوم بتحويل الرقم الثنائي إلى بي سي دي، ولكنه يوفر النتيجة الصحيحة فقط عند إضافة رقمين عشريين ثنائيين.

مثال أمر منطقي: يمكن إجراء عملية AND المنطقية باستخدام أحد الأوامر التالية:

آنلأ,7 F 16 – الضرب المنطقي لمحتويات السجل أ بالرقم 7اف 16 ويتم تخزين النتيجة في السجل أ؛

آنلأ,@ ر1 - الضرب المنطقي لمحتويات السجل أ بالرقم المخزن عنوانه في السجلر 1 (عنونة غير مباشرة)، وتخزين النتيجة في السجل أ؛

أنل أ، آر 6- الضرب المنطقي لمحتويات السجل أ بمحتويات السجلر 6، وحفظ النتيجة في السجل أ؛

ANL A,#53 - الضرب المنطقي لمحتويات السجل A برقم عنوان خلية تخزينه هو 53 16، ويتم تخزين النتيجة في السجل A.

يتم تنفيذ جميع العمليات المنطقية على محتويات المجمع في دورة آلة واحدة، والباقي - في دورتين. يمكن إجراء العمليات المنطقية على أي من 128 بايت أقل من ذاكرة البيانات الداخلية أو على أي سجل SFR (سجلات الوظائف الخاصة) في وضع المعالجة المباشرة دون استخدام البطارية.

تقوم عمليات النقل الدوارة RL A وRLC A وما إلى ذلك بنقل محتويات المجمع بت واحد إلى اليمين أو اليسار. في حالة التحول الدوري الأيسر، يتم نقل البت الأقل أهمية إلى الموضع الأكثر أهمية. وفي حالة التحول الدوري الأيمن، يحدث العكس.

عملية المبادلة أيتبادل الرباعيات المنخفضة والعالية في البطارية.

3. أوامر نقل البيانات

فريق MOV الوجهة، SRCيسمح لك بنقل البيانات بين خلايا ذاكرة الوصول العشوائي الداخلية أو مناطق تسجيل الوظائف الخاصة SFRدون استخدام البطارية. في هذه الحالة، لا يمكن تنفيذ العمل مع النصف العلوي من ذاكرة الوصول العشوائي الداخلية إلا في وضع العنونة غير المباشرة، والوصول إلى السجلات SFR– فقط في وضع العنونة المباشرة.

في جميع الدوائر الدقيقة إم سي إس-51يتم وضع المكدس مباشرة في ذاكرة البيانات المقيمة وينمو لأعلى. تعليمات يدفعيقوم أولاً بزيادة القيمة في سجل مؤشر المكدس SP، ثم يكتب بايت من البيانات على المكدس. فرق يدفعو بوبيتم استخدامها فقط في وضع العنونة المباشرة (كتابة أو استعادة بايت)، ولكن يمكن دائمًا الوصول إلى المكدس عند العنونة بشكل غير مباشر عبر السجل SP. وبالتالي، يمكن للمكدس أيضًا استخدام أعلى 128 بايت من ذاكرة البيانات. نفس الاعتبارات تستبعد إمكانية استخدام تعليمات المكدس لمعالجة السجلات SFR.

تتضمن تعليمات نقل البيانات عملية نقل 16 بت موف دبتر، #data16، والذي يستخدم لتهيئة سجل مؤشر البيانات DPTRعند عرض الجداول في ذاكرة البرنامج أو للوصول إلى ذاكرة البيانات الخارجية.

عملية XCH أ، بايتيستخدم لتبادل البيانات بين المجمع والبايت المعنون. فريق XCHD أ، @ ريمشابهة للواحدة السابقة، ولكن يتم تنفيذها فقط للرباعيات السفلية المشاركة في تبادل المعاملات.

للوصول إلى ذاكرة البيانات الخارجية، يتم استخدام العنونة غير المباشرة فقط. في حالة العناوين أحادية البايت، يتم استخدام السجلات ص0أو ر1بنك التسجيل الحالي، وتسجيل مؤشر البيانات 16 بت DPTR. مع أي طريقة للوصول إلى ذاكرة البيانات الخارجية، تلعب البطارية دور مصدر أو جهاز استقبال للمعلومات.

للوصول إلى الجداول الموجودة في ذاكرة البرنامج، استخدم الأوامر التالية:

موفك أ،@أ+ DPTR ;

موفك أ،@أ+ الكمبيوتر .

يتم استخدام محتويات سجل مؤشر البيانات كعنوان أساسي للجدول DPTRأو الكمبيوتر(عداد البرنامج)، ويتم أخذ الإزاحة من أ. تُستخدم هذه التعليمات حصريًا لقراءة البيانات من ذاكرة البرنامج، وليس للكتابة عليها.

4. العمليات المنطقية

الدوائر الدقيقة إم سي إس-51تحتوي على معالج "منطقي". تحتوي ذاكرة الوصول العشوائي الداخلية على 128 بتة قابلة للعنونة مباشرة. مساحة تسجيل الوظائف الخاصة SFRيمكنه أيضًا دعم ما يصل إلى حقول 128 بت. تقوم تعليمات البت بتنفيذ عمليات التفرع الشرطي، والنقل، وإعادة التعيين، والعكس، وعمليات AND وOR.جميع البتات المحددة متاحة في وضع العنونة المباشرة.

احمل قليلا قوات التحالففي الوظيفة الخاصة سجل "كلمة حالة البرنامج" PSW." يتم استخدامه كمجمع ذو بت واحد للمعالج المنطقي.

5. تعليمات القفز

تتم الإشارة إلى عناوين عمليات القفز في لغة التجميع بواسطة تسمية أو بقيمة حقيقية في مساحة ذاكرة البرنامج. يتم تجميع عناوين الفروع الشرطية في إزاحة نسبية - بايت إشارة يضاف إلى عداد البرنامج الكمبيوترإذا تم استيفاء شرط الانتقال. تقع حدود هذه التحولات بين -128 و127 بالنسبة إلى البايت الأول الذي يلي التعليمات. في الوظيفة الخاصة سجل "كلمة حالة البرنامج" PSW."لا يوجد علامة صفر، لذا فإن التعليمات جي زيو JNZالتحقق من الحالة "يساوي صفر" كاختبار للبيانات الموجودة في المجمع.

هناك ثلاثة أنواع من أوامر القفز غير المشروط: SJMP, LJMPو أجمب– عناوين الوجهة التي تختلف في التنسيق. تعليمات SJMPيشفر العنوان كإزاحة نسبية، ويأخذ بايتين. تقتصر مسافة القفز على النطاق من 128 إلى 127 بايت نسبة إلى التعليمات التالية SJMP.

في التعليمات LJMPيتم استخدام عنوان الوجهة كثابت 16 بت. طول الأمر هو ثلاث بايت. يمكن وضع عنوان الوجهة في أي مكان في ذاكرة البرنامج.

فريق أجمبيستخدم ثابت عنوان 11 بت. يتكون الأمر من بايتين. عند تنفيذ هذه التعليمات، يتم استبدال الـ 11 بت السفلية من عداد العناوين بعنوان 11 بت من التعليمات. الأجزاء الخمسة الأكثر أهمية في عداد البرنامج الكمبيوتريبقى على حاله. وبالتالي، يمكن إجراء النقل ضمن كتلة بحجم 2 كيلو بايت حيث توجد التعليمات التالية للتعليمة أجمب.

هناك نوعان من استدعاءات الأوامر إلى الروتين الفرعي: LCALLو مكالمة. تعليمات LCALLيستخدم عنوان 16 بت من الروتين الفرعي المسمى. في هذه الحالة، يمكن وضع الروتين الفرعي في أي مكان في ذاكرة البرنامج. تعليمات مكالمةيستخدم عنوان روتين فرعي 11 بت. في هذه الحالة، يجب أن يكون الروتين المطلوب موجودًا في كتلة واحدة بحجم 2 كيلو بايت مع التعليمات التالية مكالمة. كلا الإصدارين من التعليمات يدفعان عنوان التعليمات التالية إلى المكدس ويحملانه في عداد البرنامج الكمبيوتر القيمة الجديدة المقابلة

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

تعليمات DJNZمصممة للتحكم في الدورات. لتنفيذ حلقة ن بمجرد أن تحتاج إلى تحميل بايت بقيمة في العداد ن وأغلق جسم الحلقة بالأمر DJNZمما يدل على بداية الدورة.

فريق CJNEيقارن المعاملات الخاصة به كأعداد صحيحة غير موقعة وينتقل إلى العنوان المحدد فيه إذا كانت المعاملات التي تتم مقارنتها غير متساوية. إذا كان المعامل الأول أقل من الثاني، فإن بتة النقل قوات التحالف تم ضبطه على "1".

جميع التعليمات المجمعة تشغل 1 أو 2 أو 3 بايت.

بنية عائلة المتحكمات الدقيقةMCS-51

مذكرة محاضرة للدورات

"المعالجات الدقيقة في أنظمة التحكم"، "تكنولوجيا المعالجات الدقيقة"

"أدوات وأنظمة المعالجات الدقيقة"

للطلاب من جميع أشكال التخصصات الدراسية

072000 – التقييس وإصدار الشهادات

210200 – أتمتة العمليات التكنولوجية

230104 – أنظمة التصميم بمساعدة الحاسوب

تامبوف 2005

مقدمة.. 3

1. هيكل وحدة التحكم الدقيقة INTEL 8051. 3

1.1. تنظيم الذاكرة. 5

1.2. الجهاز الحسابي المنطقي. 6

1.3. الذاكرة المقيمة للبرامج والبيانات. 7

1.4. تراكم وسجلات للأغراض العامة. 8

1.5. سجل كلمات حالة البرنامج وأعلامه. 9

1.6. يسجل المؤشر 10

1.7. سجلات الوظائف الخاصة أحد عشر

1.8. جهاز التحكم والمزامنة. أحد عشر

1.9. منافذ إدخال/إخراج المعلومات الموازية. 12

1.10. الموقتات / العدادات. 13

1.11. منفذ تسلسلي. 18

1.11.1. سجل SBUF..18

1.11.2. أوضاع تشغيل المنفذ التسلسلي. 18

1.11.3. سجل SCON..19

1.11.4. سرعة الاستقبال/الإرسال. 21

1.12. نظام المقاطعة. 22

2. نظام الأوامر لوحدة التحكم الدقيقة INTEL 8051 26

2.1. معلومات عامة. 26

2.1.1. أنواع الأوامر. 27

2.1.2. أنواع المعامل. 28

2.1.3. طرق معالجة البيانات. ثلاثين

2.1.4. أعلام النتيجة 31

2.1.5. مخاطبة رمزية. 32

2.2. أوامر نقل البيانات 33

2.2.1. هيكل روابط المعلومات. 33

2.2.2. الوصول إلى البطارية. 33

2.2.3. الوصول إلى ذاكرة البيانات الخارجية. 34

2.2.4. الوصول إلى ذاكرة البرنامج... 34


2.2.5. الوصول إلى المكدس. 35

2.3. عمليات حسابية. 35

2.4. العمليات المنطقية. 39

2.5. أوامر نقل التحكم. 43

2.5.1. انتقال طويل. 43

2.5.2. التحول المطلق. 43

2.5.3. التحول النسبي. 44

2.5.4. نقل غير مباشر. 44

2.5.5. القفزات المشروطة..44

2.5.6. الروتين الفرعي..47

2.6. العمليات مع البتات. 48

أسئلة الاختبار...49

الأدب.. 50

الملحق نظام الأوامر INTEL 8051. 51

مقدمة

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

تُستخدم وحدات التحكم الدقيقة أحادية الشريحة ذات 8 بت من عائلة MCS-51 على نطاق واسع. تم تشكيل هذه العائلة على أساس وحدة التحكم الدقيقة Intel 8051، والتي اكتسبت شعبية كبيرة بين مطوري أنظمة التحكم في المعالجات الدقيقة بسبب هندستها المعمارية الجيدة التصميم. إن بنية المتحكم الدقيق عبارة عن مجموعة من موارد الأجهزة وأنظمة الأوامر الداخلية والخارجية التي يمكن الوصول إليها بواسطة البرامج.

بعد ذلك، أصدرت إنتل حوالي 50 نموذجًا يعتمد على جوهر التشغيل لوحدة التحكم الدقيقة Intel 8051. وفي الوقت نفسه، بدأت العديد من الشركات الأخرى، مثل Atmel وPhilips، في إنتاج وحدات التحكم الدقيقة الخاصة بها والتي تم تطويرها وفقًا لمعيار MCS-51. يوجد ايضا التناظرية المحليةمتحكم Intel 8051 - شريحة K1816BE51.

2. هيكل وحدة التحكم الدقيقة INTEL 8051

يعتمد متحكم Intel 8051 على تقنية n-MOS عالية المستوى. خصائصه الرئيسية هي كما يلي:

· معالج مركزي ذو ثمانية بتات مُحسّن لتنفيذ وظائف التحكم.

· المدمج في مولد الساعة (أقصى تردد 12 ميغاهيرتز)؛

· مساحة عنوان ذاكرة البرنامج - 64 كيلو بايت.

· مساحة عنوان ذاكرة البيانات - 64 كيلو بايت;

· ذاكرة البرنامج الداخلية - 4 كيلو بايت.

· ذاكرة البيانات الداخلية - 128 بايت؛

· قدرات إضافية لأداء عمليات الجبر البولي (عمليات البت)؛

· 2 مؤقتات/عدادات متعددة الوظائف ذات ستة عشر بت؛

· جهاز إرسال واستقبال غير متزامن مزدوج الاتجاه (منفذ تسلسلي)؛

· نظام المقاطعة المتجه ذو مستويين للأولوية وخمسة مصادر للحدث.

الشكل 1 - رسم تخطيطي لوحدة التحكم الدقيقة Intel 8051

يتكون أساس المخطط التفصيلي (الشكل 1) من ناقل داخلي ثنائي الاتجاه 8 بت، والذي يربط بين العقد والأجهزة الرئيسية للمتحكم الدقيق: ذاكرة البرنامج المقيمة (RPM)، ذاكرة البيانات المقيمة (RDM)، الذاكرة المنطقية الحسابية وحدة (ALU)، ووظائف وحدة التسجيل الخاصة، ووحدة التحكم (CU)، ومنافذ الإدخال/الإخراج المتوازية (P0-P3)، بالإضافة إلى مؤقتات قابلة للبرمجة ومنفذ تسلسلي.

2.1. تنظيم الذاكرة

يحتوي هذا المتحكم الدقيق على ذاكرة داخلية (مقيمة) وخارجية للبرامج والبيانات. تبلغ سعة ذاكرة البرنامج المقيم (RPM) 4 كيلو بايت، وذاكرة البيانات المقيمة (RDM) تبلغ سعتها 128 بايت.


اعتمادًا على تعديل وحدة التحكم الدقيقة، يتم تنفيذ RPM في شكل قناع ROM، أو ROM قابل للبرمجة أو إعادة البرمجة لمرة واحدة.

إذا لزم الأمر، يمكن للمستخدم توسيع ذاكرة البرنامج عن طريق تثبيت ROM خارجي. يتم تحديد الوصول إلى ROM الداخلي أو الخارجي من خلال قيمة الإشارة عند الدبوس EA (الوصول الخارجي):

EA=VCC (جهد الإمداد) - الوصول إلى ذاكرة القراءة فقط (ROM) الداخلية؛

EA=VSS (إمكانية الأرض) - الوصول إلى ROM خارجي.

يمكن أن يصل حجم ذاكرة البرامج والبيانات الخارجية إلى 64 كيلو بايت ويتم التعامل معها باستخدام المنفذين P0 وP2. ويبين الشكل 2 بطاقة الذاكرة Intel 8051.

الشكل 2 - تنظيم الذاكرة Intel 8051

ومضة قراءة ذاكرة الوصول العشوائي الخارجية - (تمكين مخزن البرامج) يتم إنشاؤها عند الوصول إلى ذاكرة البرنامج الخارجية وتكون غير نشطة أثناء الوصول إلى ذاكرة القراءة فقط الموجودة على الشريحة.

يتم استخدام منطقة عناوين ذاكرة البرنامج السفلية (الشكل 3) بواسطة نظام المقاطعة. توفر بنية شريحة INTEL 8051 الدعم لخمسة مصادر للمقاطعة. تسمى العناوين التي يتم نقل التحكم بالمقاطعة إليها نواقل المقاطعة.

الشكل 3 - خريطة لمنطقة ذاكرة البرنامج السفلية

2.2. وحدة المنطق الحسابية

يمكن لوحدة المنطق الحسابي 8 بت (ALU) إجراء العمليات الحسابية من الجمع والطرح والضرب والقسمة؛ العمليات المنطقية AND، OR، الحصرية OR، بالإضافة إلى عمليات التحول الدوري، وإعادة التعيين، والانعكاس، وما إلى ذلك. السجلات التي لا يمكن الوصول إليها بواسطة البرامج T1 وT2، المخصصة للتخزين المؤقت للمعاملات، ودائرة التصحيح العشري (DCU) ودائرة توليد الميزات ترتبط بنتيجة عملية المدخلات (PSW).

يتم استخدام عملية الإضافة البسيطة في ALU لزيادة محتويات السجلات، وتعزيز سجل مؤشر البيانات (RAR)، وحساب عنوان الذاكرة المقيمة للبرنامج التالي تلقائيًا. يتم استخدام أبسط عملية طرح في ALU لتقليل السجلات ومقارنة المتغيرات.

أبسط العمليات تشكل تلقائيًا "ترادفية" لتنفيذ عمليات مثل، على سبيل المثال، زيادة أزواج التسجيل ذات 16 بت. تطبق وحدة ALU آلية التنفيذ المتتالي للعمليات البسيطة لتنفيذ الأوامر المعقدة. لذلك، على سبيل المثال، عند تنفيذ أحد أوامر نقل التحكم الشرطي، بناءً على نتيجة المقارنة في ALU، تتم زيادة عداد البرنامج (PC) ثلاث مرات، ويتم قراءة RDM مرتين، ويتم إجراء مقارنة حسابية لمتغيرين، يتم تكوين عنوان انتقالي مكون من 16 بت، ويتم اتخاذ القرار بشأن إجراء النقل أم لا وفقًا للبرنامج. يتم تنفيذ جميع العمليات المذكورة أعلاه خلال 2 ميكرو ثانية فقط.

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

وبالتالي، يمكن أن تعمل وحدة ALU مع أربعة أنواع من كائنات المعلومات: المنطقية (1 بت)، والرقمية (4 بت)، والبايت (8 بت)، والعنوان (16 بت). تقوم وحدة ALU بتنفيذ 51 عملية مختلفة لإعادة توجيه هذه البيانات أو تحويلها. نظرًا لوجود 11 وضعًا للعناوين (7 للبيانات و4 للعناوين)، فمن خلال الجمع بين العملية ووضع العنونة، يتم توسيع العدد الأساسي المكون من 111 تعليمة إلى 255 من أصل 256 تعليمة ممكنة باستخدام كود تشغيل أحادي البايت.

2.3. البرنامج المقيم وذاكرة البيانات

ذاكرة البرامج السكنية (على الرقاقة) (RPM) وذاكرة البيانات (RDM) منفصلتان ماديًا ومنطقيًا، ولهما آليات عنونة مختلفة، وتعملان تحت سيطرة إشارات مختلفة، وتؤديان وظائف مختلفة.

تبلغ سعة ذاكرة برنامج RPM 4 كيلو بايت وهي مصممة لتخزين الأوامر والثوابت وكلمات التحكم في التهيئة وجداول التحويل لمتغيرات الإدخال والإخراج وما إلى ذلك. تحتوي الذاكرة على ناقل عنوان 16 بت، يتم من خلاله توفير الوصول من عداد برنامج الكمبيوتر أو من مؤشر بيانات السجل (DPTR). يعمل DPTR كسجل أساسي لقفزات البرامج غير المباشرة أو يُستخدم في عمليات الجدول.

تم تصميم ذاكرة بيانات RDM لتخزين المتغيرات أثناء تنفيذ برنامج تطبيقي، ويمكن معالجتها ببايت واحد ولها سعة
128 بايت. بالإضافة إلى ذلك، فإن مساحة العنوان الخاصة بها مجاورة لعناوين سجلات الوظائف الخاصة، المدرجة في الجدول. 1.

يمكن توسيع ذاكرة البرنامج، مثل ذاكرة البيانات، إلى
64 كيلو بايت عن طريق توصيل الرقائق الخارجية.

الجدول 1

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

اسم

بطارية

سجل الموسع المجمع

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

سجل مؤشر المكدس

سجل مؤشر البيانات

مقاطعة تسجيل الأولوية

تسجيل قناع المقاطعة

تسجيل وضع الموقت/العداد

التحكم بالمؤقت/تسجيل الحالة

الموقت 0 (بايت عالية)

الموقت 0 (بايت منخفض)

الموقت 1 (بايت عالية)

الموقت 1 (بايت منخفض)

سجل التحكم في جهاز الإرسال والاستقبال

جهاز الإرسال والاستقبال العازلة

سجل التحكم في الطاقة

ملحوظة.تسمح السجلات التي تم تمييز أسمائها بعلامة (*) بمعالجة البتات الفردية.

2.4. المجمع والسجلات العامة

المجمع (A) هو مصدر المعامل وموقع النتيجة عند إجراء العمليات الحسابية والمنطقية وعدد من عمليات نقل البيانات. بالإضافة إلى ذلك، لا يمكن إجراء عمليات التحويل، والتحقق من الصفر، وتوليد علامة التكافؤ، وما إلى ذلك إلا باستخدام المجمع.

لدى المستخدم أربعة بنوك من 8 سجلات للأغراض العامة R0 – R7 تحت تصرفه (الشكل 9). ومع ذلك، من الممكن استخدام سجلات واحدة فقط من البنوك الأربعة، والتي يتم تحديدها باستخدام بتة تسجيل PSW.

2.5. تسجيل كلمات حالة البرنامج وأعلامه

عند تنفيذ العديد من التعليمات في وحدة ALU، يتم إنشاء عدد من سمات التشغيل (الأعلام)، والتي يتم تسجيلها في سجل كلمة حالة البرنامج (PSW). في الجدول 2 يقدم قائمة بأعلام PSW، ويعطي أسمائها الرمزية ويصف شروط تشكيلها.

الجدول 2

تنسيق Word لحالة البرنامج PSW

الاسم والغرض

حمل العلم. يتم الضبط وإعادة التعيين بواسطة الأجهزة أو البرامج عند إجراء العمليات الحسابية والمنطقية

علم حمل مساعد. يتم التعيين والمسح فقط بواسطة الأجهزة عند تنفيذ تعليمات الإضافة والطرح والإشارة إلى النقل أو الاقتراض في البت 3

العلم 0. يمكن تعيينه أو مسحه أو التحقق منه بواسطة البرنامج كعلامة محددة من قبل المستخدم.

اختيار بنك التسجيل. تعيين وإعادة تعيين بواسطة البرنامج لتحديد بنك عامل من السجلات (الجدول 3)

علم الفائض. يتم الضبط وإعادة التعيين بواسطة الأجهزة عند إجراء العمليات الحسابية

غير مستعمل

علم التكافؤ. يتم ضبطه وإعادة ضبطه بواسطة الأجهزة في كل دورة وإصلاح العدد الفردي/الزوجي للبتات الواحدة في المجمع، أي إجراء التكافؤ

الجدول 3

اختيار بنك تسجيل العمل

حدود العنوان

راية PSW الأكثر "نشاطًا" هي راية الحمل، والتي يتم تضمينها وتعديلها أثناء العديد من العمليات، بما في ذلك الجمع والطرح والإزاحة. بالإضافة إلى ذلك، تعمل علامة الحمل (CY) بمثابة "مركم منطقي" في تعليمات معالجة البتات. تكتشف علامة التجاوز (OV) التجاوز الحسابي في عمليات الأعداد الصحيحة الموقعة وتجعل من الممكن استخدام الحساب في الرموز التكميلية الخاصة باثنين. لا تتحكم وحدة ALU في علامات اختيار بنك التسجيل (RS0، RS1)، ويتم تحديد قيمتها بالكامل بواسطة برنامج التطبيق ويتم استخدامها لاختيار أحد بنوك التسجيل الأربعة.

كبايت، يمكن تمثيل سجل PSW على النحو التالي:

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

2.6. يسجل المؤشر

يمكن لمؤشر المكدس (SP) ذو 8 بتات معالجة أي منطقة RDM. تتم زيادة محتوياته قبل تخزين البيانات على المكدس أثناء تعليمات PUSH و CALL. يتم تقليل محتويات SP بعد تنفيذ أوامر POP وRET. تسمى هذه الطريقة لمعالجة عناصر المكدس بالزيادة المسبقة/النقصان اللاحق. أثناء تهيئة وحدة التحكم الدقيقة، بعد إشارة RST، يتم تحميل الكود 07H تلقائيًا إلى SP. وهذا يعني أنه ما لم يتجاوز برنامج التطبيق المكدس، فإن عنصر البيانات الأول الموجود على المكدس سيكون موجودًا في موقع RDM 08H.

عادةً ما يتم استخدام سجل مؤشر البيانات ثنائي البايت (DPTR) لالتقاط عنوان 16 بت في عمليات الوصول إلى الذاكرة الخارجية. بواسطة أوامر المتحكم الدقيق، يمكن استخدام سجل مؤشر البيانات إما كسجل 16 بت أو كسجلين مستقلين 8 بت (DPH وDPL).

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

تُستخدم السجلات، التي تحمل أسماء رمزية IP وIE وTMOD وTCON وSCON وPCON، لإغلاق وتغيير بتات التحكم والحالة الخاصة بدائرة المقاطعة والمؤقت/العداد وجهاز الإرسال والاستقبال التسلسلي وإدارة الطاقة. سيتم وصف تنظيمهم بالتفصيل في الأقسام 1.8-1.12، عند النظر في ميزات وحدة التحكم الدقيقة في الأوضاع المختلفة.

2.8. جهاز التحكم والمزامنة

يتحكم مرنان الكوارتز المتصل بالدبابيس الخارجية لوحدة التحكم الدقيقة في تشغيل المذبذب الداخلي، والذي بدوره يولد إشارات التزامن. تقوم وحدة التحكم (CU)، بناءً على إشارات التزامن، بتوليد دورة آلة ذات مدة محددة تساوي 12 دورة للمولد. يتم تنفيذ معظم تعليمات المتحكم الدقيق في دورة آلة واحدة. بعض التعليمات التي تعمل على كلمات مكونة من 2 بايت أو تصل إلى الذاكرة الخارجية تستغرق دورتين حتى تكتمل. تتطلب تعليمات القسمة والضرب فقط أربع دورات آلية. بناءً على ميزات التشغيل الخاصة بجهاز التحكم، يتم حساب وقت تنفيذ برامج التطبيق.

في دائرة المتحكم الدقيق، يوجد سجل التعليمات (IR) بجوار جهاز التحكم. وتتمثل مهمتها في تخزين رمز الأمر الذي يتم تنفيذه.

إشارات الإدخال والإخراج لجهاز التحكم والمزامنة:

1. PSEN – دقة ذاكرة البرنامج،

2. ALE - تثبيت العنوان يتيح إشارة الخرج،

3. PROG – إشارة البرمجة،

4. EA - منع العمل مع الذاكرة الداخلية،

5. VPP – جهد البرمجة،

6. RST - إشارة إعادة الضبط العامة،

7. VPD - خرج الطاقة الاحتياطية للذاكرة مصدر خارجي,

8.XTAL – مدخلات الاتصال مرنان الكوارتز.

2.9. منافذ الإدخال/الإخراج المتوازية

تم تصميم جميع المنافذ الأربعة (P0-P3) لإدخال أو إخراج المعلومات بايت بايت. يحتوي كل منفذ على مسجل مزلاج متحكم فيه، ومخزن مؤقت للإدخال، ومحرك للإخراج.

يتم استخدام برامج تشغيل الإخراج للمنفذين P0 وP2، بالإضافة إلى مخزن الإدخال المؤقت للمنفذ P0، عند الوصول إلى الذاكرة الخارجية. في هذه الحالة، من خلال المنفذ P0 في وضع تعدد الإرسال الزمني، يتم إخراج البايت المنخفض للعنوان أولاً، ثم يتم إصدار بايت البيانات أو استلامه. يقوم المنفذ P2 بإخراج البايت الأكثر أهمية للعنوان في الحالات التي يكون فيها عرض العنوان 16 بت.

يمكن استخدام كافة أطراف المنفذ P3 لتنفيذ الوظائف البديلة المدرجة في الجدول. 4. يمكن تمكين هذه الوظائف عن طريق كتابة 1 على البتات المقابلة لسجل المزلاج (P3.0-P3.7) للمنفذ P3.

الجدول 4

وظائف منفذ P3 البديلة

الاسم والغرض

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

سِجِلّ. يتم إنشاء إشارة نشطة منخفضة المستوى بواسطة الأجهزة عند الوصول إلى ذاكرة البيانات الخارجية

إدخال المؤقت/العداد 1 أو إدخال الاختبار

إدخال المؤقت/العداد 0 أو إدخال الاختبار

إدخال طلب المقاطعة 1. يستشعر المستوى المنخفض أو إشارة القطع

إدخال طلب المقاطعة 0. يستشعر المستوى المنخفض أو إشارة القطع

إخراج جهاز إرسال المنفذ التسلسلي في وضع UART. إخراج الساعة في وضع تسجيل التحول

إدخال جهاز استقبال المنفذ التسلسلي في وضع UART. إدخال/إخراج البيانات في وضع تسجيل التحول

المنفذ 0 ثنائي الاتجاه والمنافذ 1-3 شبه ثنائية الاتجاه. يمكن استخدام كل خط منفذ بشكل مستقل للإدخال أو الإخراج.

واستنادًا إلى إشارة RST، تتم كتابة الوحدات تلقائيًا على مسجلات الإغلاق لجميع المنافذ، وبالتالي إعدادها لوضع الإدخال.

يمكن استخدام جميع المنافذ لتنظيم إدخال/إخراج المعلومات عبر خطوط نقل ثنائية الاتجاه. ومع ذلك، لا يمكن استخدام المنفذين P0 وP2 لهذا الغرض إذا كان النظام يحتوي على ذاكرة خارجية، ويتم تنظيم الاتصال بها من خلال ناقل بيانات/عنوان مشترك مشترك يعمل في وضع تعدد الإرسال الزمني.

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




قمة