المقاطعات في 8051 متحكم وهيكل وبرمجة

جرب أداة القضاء على المشاكل





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

يقطع في متحكم 8051

يقطع في متحكم 8051



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


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



أنواع المقاطعات في متحكم 8051

يمكن للميكروكونترولر 8051 التعرف على خمسة أحداث مختلفة تؤدي إلى مقاطعة البرنامج الرئيسي للتنفيذ العادي. هذه المصادر الخمسة للمقاطعات في 8051 هي:

  1. الموقت 0 تجاوز التدفق - TF0
  2. الموقت 1 مقاطعة تجاوز التدفق - TF1
  3. مقاطعة الأجهزة الخارجية- INT0
  4. مقاطعة الأجهزة الخارجية- INT1
  5. مقاطعة الاتصال التسلسلي- RI / TI

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

مقاطعة الجدول المتجه

مقاطعة الجدول المتجه

هيكل المقاطعة لوحدة التحكم الصغيرة 8051

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


يقطع هيكل متحكم 8051

يقطع هيكل متحكم 8051

المقاطعة تمكين (IE) التسجيل: هذا السجل مسؤول عن تمكين وتعطيل المقاطعة. إنه سجل قابل للعنونة قليلاً حيث يجب تعيين EA على واحد لتمكين المقاطعات. يسمح البت المقابل في هذا السجل بمقاطعة معينة مثل المداخلات الخارجية والمتسلسلة. في سجل IE أدناه ، ينشط البت المقابل لـ 1 المقاطعة و 0 يعطل المقاطعة.

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

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

سجل أولوية المقاطعة (IP): من الممكن أيضًا تغيير مستويات الأولوية للمقاطعات عن طريق تعيين أو مسح البتة المقابلة في سجل أولوية المقاطعة (IP) كما هو موضح في الشكل. يسمح هذا للمقاطعة ذات الأولوية المنخفضة بمقاطعة المقاطعة ذات الأولوية العالية ، ولكنه يمنع المقاطعة بواسطة مقاطعة أخرى ذات أولوية منخفضة. وبالمثل ، لا يمكن مقاطعة المقاطعة ذات الأولوية العالية. إذا لم تتم برمجة أولويات المقاطعة هذه ، فسيتم تنفيذ وحدة التحكم الدقيقة بطريقة محددة مسبقًا ويكون ترتيبها هو INT0 و TF0 و INT1 و TF1 و SI.

سجل IP

سجل IP

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

سجل TCON

سجل TCON

مقاطعة البرمجة عام 8051

1- برمجة المقاطعة المؤقتة

يتم إنشاء المقاطعات Timer 0 و Timer 1 بواسطة بتات تسجيل المؤقت TF0 و TF1. هذه المقاطعات البرمجة بواسطة كود C. يتضمن:

  • تحديد المؤقت من خلال تكوين سجل TMOD وطريقة تشغيله.
  • اختيار وتحميل القيم الأولية لـ TLx و THx للأوضاع المناسبة.
  • تمكين سجلات IE وبت المؤقت المقابل فيه.
  • ضبط بت تشغيل المؤقت لبدء الموقت.
  • كتابة الروتين الفرعي للمؤقت للوقت المطلوب وإلغاء تحديد قيمة المؤقت TRx في نهاية الروتين الفرعي.
برمجة المقاطعة المؤقتة

برمجة المقاطعة المؤقتة

2-برمجة مقاطعة الأجهزة الخارجية

تتكون وحدات التحكم الدقيقة 8051 من مقاطعتين للأجهزة الخارجية: INT0 و INT1 كما تمت مناقشته سابقًا. يتم تمكين هذه في الدبوس 3.2 والرقم 3.3. يمكن أن يتم تشغيل هذه الحافة أو تشغيل المستوى. في تشغيل المستوى ، يتيح المستوى المنخفض عند الطرف 3.2 المقاطعة ، بينما في الطرف 3.2 - يتيح الانتقال من الأعلى إلى المنخفض مقاطعة تشغيل الحافة. يتم تحديد عملية تشغيل الحافة أو تشغيل المستوى بواسطة سجل TCON الذي تمت مناقشته أعلاه. ال إجراء البرمجة في 8051 على النحو التالي:

  • قم بتمكين الجزء المقابل للمقاطعة الخارجية في سجل IE.
  • إذا كان يتم تشغيل المستوى ، فما عليك سوى كتابة الإجراء الفرعي المناسب لهذه المقاطعة ، أو تمكين بت تسجيل TCON المقابل للمقاطعة التي تم تشغيلها على الحافة - سواء كانت INT0 أو INT1.
برمجة مقاطعة الأجهزة الخارجية

برمجة مقاطعة الأجهزة الخارجية

3. برمجة مقاطعة الاتصالات التسلسلية

تظهر مقاطعات الاتصال التسلسلي في الصورة عندما تكون هناك حاجة لإرسال البيانات أو استقبالها. نظرًا لأنه تم تعيين بت مقاطعة واحدة لكل من علامتي TI (مقاطعة النقل) و RI (مقاطعة جهاز الاستقبال) ، يجب أن يفحص روتين خدمة المقاطعة هذه العلامات لمعرفة المقاطعة الفعلية.

تؤدي عملية OR المنطقية لهاتين العلامتين (RI و TI) إلى حدوث هذه المقاطعة ، ويتم مسحها بواسطة البرنامج وحده. هنا ، يتم استخدام سجل خاص SCON للتحكم تواصل العملية عن طريق تمكين البتات المقابلة فيها.

  • تكوين سجل IE لتمكين المقاطعة التسلسلية
  • قم بتكوين سجل SCON لاستلام أو نقل العملية
  • اكتب روتينًا فرعيًا لهذه المقاطعة بالوظيفة المناسبة وقم بإلغاء تحديد علامات TI أو RI في هذا الروتين.
برمجة المقاطعة التسلسلية

برمجة المقاطعة التسلسلية

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

اعتمادات الصورة