Tuesday, June 15, 2010

Interrupt with PIC 16F84A المقاطعة بالمتحكم الدقيق



ما هى المقاطعة

هناك نوعين من أنواع القراءة للبيانات فى المتحكم الدقيق

الطريقة الأولى :

طريقة الإقتراع أو القراءة المباشرة

Polling

و هى الطريقة التى تم استخدامها فى المقالة السابقة للقراءة من الزر لادخال أمر إضاءة الصمام الثنائى للمتحكم الدقيق

و فيها يظل المتحكم الدقيق يتابع المنفذ المتوقع عليه ظهور الأمر أو الإشارة . و إذا لم يفعل المتحكم الدقيق ذلك فلا يدرك أبدا

حدوث هذه الإشارة أو تغير الأمر المصدر له من الخارج

الطريقة الثانية :

طريقة المقاطعة
Interrupt

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

و يمكن تمثيل الفرق بين الطريقتين بالمثال التالى

عندما تريد معرفة ما إذا كان أحد يطلبك على الهاتف قد يحدث ذلك بأحد الطريقتين:

الأولى :

أن يكون الهاتف بدون جرس أو أى إشارة إطلاقا تشير لوجود مكالمة لك ، و عندها عليك أن تترك عملك و تذهب و ترفع سماعة الهاتف من وقت لآخر لتعرف ما إذا كان هناك مكالمة لك

الثانية :

أن يكون الهاتف له جرس يمكن سماعه من أى مكان بالمنزل و عندما تأتى مكالمة لك يرن جرس الهاتف فورا فتعرف وجود مكالمة هاتفية لك فعندها فقط تترك عملك لترد على الهاتف .


كذلك تمثل طريقة الإقتراع أو القراءة المباشرة

Polling

المثال الأول

و تمثل طريقة المقاطعة

Interrupt

المثال الثانى




وأحيانا نريد استخدام طريقة المقطعة لتقليل الزمن التشغيلى الذى يتم تحميل أعمال المعالجة عليه

Processing Time

أثناء قيامه بشئ هام آخر


و هناك نوعان من أنواع المقاطعة

Hardware Interrupt

Software Interrupt



فى المثال التالى سوف نعرض النوع الثانى من المقاطعة

Software Interrupt

و هو المقاطعة الناتجة عن المؤقت

Timer

و فيها تحدث المقاطعة نتيجة حدوث زيادة فى المؤقت

Timer overflow

و المؤقت هو عبارة عن مسجل يعمل على العد الدائم للأرقام تبعا ً لسرعة المتحكم الدقيق و تبعا للضبط الذى تم تحديده له

Prescaler

ففى الغالب يتم استخدام المؤقت لحساب الفترات الزمنية بدقة ، و بسبب استخدام المقاطعة يمكن متابعة الفترة الزمنية المطلوبة أثناء القيام بأى عملية أخرى .


فى المثال التالى يقوم البرنامج الأساسى بمتابعة الضغط على زر و اظهار رقم على
seven segment display

بحيث يشير الرقم الظاهر إلى الفترة الزمنية بالثوانى

و بدون استخدام طريقة المقاطعة فى هذا المثال كنا سنحتاج إلى حساب الفترة الزمنية و حساب الفترة التى يأخذها المتحكم الدقيق لإظهار الأرقام على
Seven Segment Display

بالإضافة إلى الزمن اللازم للقراءة من الزر

و لكن باستخدام طريقة المقاطعة يتفرغ المتحكم الدقيق لقراءة حالة الزر و إظهار الرقم و إضاءة الصمام الثنائى بينما يتم احتساب الوقت بدقة عن طريق المؤقت




و من هنا ستجد الكود المصدر و ملف النموذج للبرنامج المحاكى


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





1 comment: