مثال بسيط الاستخدام المقاطعة الخارجية :

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

مثال بسيط الاستخدام المقاطعة الخارجية :

مُساهمة من طرف Admin في الجمعة مايو 01, 2015 7:50 pm

مثال بسيط الاستخدام المقاطعة الخارجية :



فى البداية يكون الليد LED6 مضاء والليد LED7 مطفأ . عند الضغط على الزر المتصل بطرف المقاطعة الخارجية وهو RB0 ، يصبح الليد LED6 مطفأ والليد LED7 مضاء لمدة نصف ثانية ، تعود بعدها الحالة الابتدائية ، الليد LED6 مضاء والليد LED7 مطفأ .

الكود:


#include <16F877A.h>
#use delay(clock=4000000)

void high_b6_low_b7() {
output_high(PIN_B6);
output_low(PIN_B7);
}

void low_b6_high_b7() {
output_low(PIN_B6);
output_high(PIN_B7);
}
///////////////////////////////////////////////////////////

#INT_EXT
void RB0_handler() {
low_b6_high_b7();
delay_ms(500);
high_b6_low_b7();
}
///////////////////////////////////////////////////////////
/*
* Keep B6 on and B7 off. Pressing the button causes interrupt:
* B6 off and B7 on, delay half second, then B6 on and B7 off
*/
void main() {
enable_interrupts(GLOBAL); // enable all interrupts
enable_interrupts(INT_EXT); // enable external interrupt from pin RB0/INT

high_b6_low_b7();

while (true) {
// do nothing
}
}


Admin
Admin

عدد المساهمات : 935
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى