 |
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
|
|
نشاط [ F.Abdelaziz ]
قوة السمعة:
|
|
05-10-2011, 11:43 AM
المشاركة 111
|
|
تمكين / عدم تمكين المقاطعات – بناء بدون أولوية
عندما يتم مسح البت IPEN , يتم تعطيل خاصية الأولوية . جميع المقاطعات تتفرع من العنوان 00008H بذاكرة البرنامج . فى هذا النظام , البت PEIE بالسجل INTCON تعمل على تمكين / عدم تمكين جميع مصادر المقاطعات الطرفية . بالمثل , البت GIE بالسجل INTCON تقوم بتمكين / عدم تمكين جميع مصادر المقاطعة . الشكل 2-47 يوضح بتات السجل INTCON .
حتى تقبل المقاطعة بواسطة وحدة المعالجة المركزية يجب أن تتحقق الشروط التالية :
· يجب تمكين بت تمكين المقاطعة لمصدر المقاطعة . على سبيل المثال إذا كان مصدر المقاطعة خارجى عن طريق الطرف INT0 , عندئذ يجب تحديد البت INT0IE بالسجل INTCON بواحد set .
· يجب مسح (تصفير) علم المقاطعة لمصدر المقاطعة . على سبيل المثال , على سبيل المثال إذا كان مصدر المقاطعة خارجى عن طريق الطرف INT0 , عندئذ يجب مسح البت INT0IF بالسجل INTCON (بصفر clear ) .
· يجب تحديد خانة تمكين/عدم تمكين المقاطعات الطرفية PEIE بالسجل INTCON بواحد set=1 إذا كان مصدر المقاطعة طرفى .
· يجب تحديد بت تمكين/عدم تمكين عموم المقاطعة global interrupt وهى GIE بالسجل INTCON بواحد .
مع مصدر المقاطعة الخارجى يجب علينا عادة تعريف ما إذا كانت المقاطعة تحدث عن الانتقال من منخفض إلى مرتفع أو من مرتفع إلى منخفض لمصدر المقاطعة .
مع المقاطعات عن طريق INT0 , على سبيل المثال , يتم عمل ذلك عن طريق تحديد/مسح البت INTEDG0 بالسجل INTCON2 .
عند حدوث مقاطعة , توقف وحدة المعالجة المركزية CPU مسار التنفيذ العادى وتدفع بعنوان العودة إلى المكدس , وتقفز إلى العنوان 00008H بذاكرة البرنامج حيث يقيم برنامج المستخدم لروتين خدمة المقاطعة . بمجرد أن تكون وحدة المعالجة المركزية فى روتين خدمة المقاطعة , يتم يتم مسح خانة تمكين عموم المقاطعة (GIE) لتعطيل مزيد من المقاطعات .
عندما يتم تمكين المقاطعة من مصادر متعددة , يمكن تحديد مصدر المقاطعة عن طريق الانتخاب (الاقتراع) polling لبتات إعلام المقاطعة . يجب مسح بتات علم المقاطعة برمجيا قبل إعادة تمكين المقاطعة لتجنب إرجاع المقاطعات . عند عودة وحدة التحكم المركزية من روتين خدمة المقاطعة يتم تلقائيا تحديد set خانة تمكين عموم المقاطعة GIE برمجيا .
تمكين/عدم تمكين المقاطعات – بناء الأولوية
|