مثال على المقاطعة الخارجية External interrupt : عداد تصاعدى
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
مثال على المقاطعة الخارجية External interrupt : عداد تصاعدى
مثال على المقاطعة الخارجية External interrupt : عداد تصاعدى
تمهيد :
• الميكروكونترولر PIC16F877A يسمح بالمقاطعة الخارجية INT_EXT ، مصدر المقاطعة الخارجية ينبغى أن يوصل إلى الطرف RB0/INT .
• قبل تمكين المقاطعة الخارجية يجب تحديد نوع حافة الساعة الخارجية :
# حافة موجبة أى صاعدة ext_int_edge(L_TO_H)
# أو حافة سالبة أى هابطة ext_int_edge(H_TO_L)
فى هذا البرنامج سوف يتم توصيل ساعة خارجية على الطرف RB0 ، ويقوم البرنامج بعد النبضات وعرض قيم العداد عندما يتم الضغط على المفتاح الضاغط المتصل بالطرف RB1 .
البرنامج :
تمهيد :
• الميكروكونترولر PIC16F877A يسمح بالمقاطعة الخارجية INT_EXT ، مصدر المقاطعة الخارجية ينبغى أن يوصل إلى الطرف RB0/INT .
• قبل تمكين المقاطعة الخارجية يجب تحديد نوع حافة الساعة الخارجية :
# حافة موجبة أى صاعدة ext_int_edge(L_TO_H)
# أو حافة سالبة أى هابطة ext_int_edge(H_TO_L)
فى هذا البرنامج سوف يتم توصيل ساعة خارجية على الطرف RB0 ، ويقوم البرنامج بعد النبضات وعرض قيم العداد عندما يتم الضغط على المفتاح الضاغط المتصل بالطرف RB1 .
البرنامج :
- الكود:
#include <16F877A.h>
#use delay(clock=4000000)
#include<lcd.c>
long count = 0; /* Global variable */
#INT_EXT /* ISR for external "B0" interrupt */
void isr(){count++;}
void main() {
lcd_init();
ext_int_edge(L_TO_H); /* Interrupt on (+) edge */
enable_interrupts(INT_EXT); /* Enable interrupts */
enable_interrupts(GLOBAL);
while(TRUE){
if(input(pin_b1)) { /* When SW is depressed... */
printf(lcd_putc,"\fCounter = %lu",count); /* ...send it out! */
delay_ms(200); /* Wait 200 ms to debounce */
}
}
}
مواضيع مماثلة
» مثال بسيط الاستخدام المقاطعة الخارجية :
» مشروع عداد تصاعدى 0-99 يستخدم CCS-C-Counter-PIC-EEPROM-Interrupt-7 Segment-7447-
» المقاطعات : المقاطعة الخارجية عن طريق تطبيق نبضة على الطرف RB :
» تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة :
» التدريب رقم 3 : إنشاء عداد ثنائى تصاعدى 3 بت :
» مشروع عداد تصاعدى 0-99 يستخدم CCS-C-Counter-PIC-EEPROM-Interrupt-7 Segment-7447-
» المقاطعات : المقاطعة الخارجية عن طريق تطبيق نبضة على الطرف RB :
» تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة :
» التدريب رقم 3 : إنشاء عداد ثنائى تصاعدى 3 بت :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى