السلام عليكم
اود ان استفسر عن كيفية انشاء برنامج مقاطعة داخلية في برنامجي..مقاطعة داخلية اي عند تحقق شرط معين و ليكن اختبار قيمة متحول عندها يوقف البرنامج و ينفذ برنامج المقاطعة ...و عندما ينتهي يعود الى البرنامج الرئيسي
بحثت في منتداكم القدير و وجدت درس عن كيفية التعامل مع المقاطعات .. و استخلصت التالي باستخدام TMR0 :و لكن لا ادري ان كان يوجد فيه خلل ما و خاصة كيفية استدعاء المقاطعة هنا او متى ستنفذ ؟!!
علما اني استخدم 16f877 و xtal:8MHz
كود:
void interrupt() {
num ++;
// here my instructions to be exectuted
if(num >= 100) {
num = 0;
TMR0 = 0;
INTCON = 0x20;
INTCON.f5=0;
}
}
void main() {
OPTION_REG = 0x83;
INTCON = 0b10000000;
---
---
if (my condition) { // just condition such as variable variaty ...
INTCON.f5=1; // calling interrut .
}
---
}
فـ ياريت اي احد لديه حلول لهذا الكود افادتي و جزاكم الله خيرا