تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة :
تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة :
البرنامج :
البرنامج :
- الكود:
#include <16F877A.h>
#use delay(clock=4000000)
int8 mode,i;
byte temp;
#INT_EXT
EXT_ISR() {
mode++;
if (mode==9) mode = 0;
}
// End of INT
void program1();
void program2();
void program3();
void program4();
void program5();
void program6();
void program7();
void program8();
void main() {
set_tris_d(0x00);
set_tris_b(0xFF);
output_d(0xff);
enable_interrupts(int_EXT);
enable_interrupts(GLOBAL);
ext_int_edge(L_TO_H);
mode = 0;
while (TRUE) {
switch(mode) {
case 1: program1(); break;
case 2: program2(); break;
case 3: program3(); break;
case 4: program4(); break;
case 5: program5(); break;
case 6: program6(); break;
case 7: program7(); break;
case 8: program8(); break;
}
}
}
void program1() {
output_d(0x00);
delay_ms(250);
output_d(0xFF);
delay_ms(250);
}
void program2() {
temp = 0xFF;
for (i=0;i<=8;i++) {
output_d(temp);
delay_ms(250);
temp >>= 1;
}
}
void program3() {
temp = 0xFF;
for (i=0;i<=8;i++) {
output_d(temp);
delay_ms(250);
temp <<= 1;
}
}
void program4() {
output_d(0xAA);
delay_ms(500);
output_d(0x55);
delay_ms(500);
}
void program5() {
output_d(0x7E);
delay_ms(150);
output_d(0xBD);
delay_ms(250);
output_d(0xDB);
delay_ms(150);
output_d(0xE7);
delay_ms(150);
output_d(0xDB);
delay_ms(150);
output_d(0xBD);
delay_ms(150);
output_d(0x7E);
delay_ms(150);
}
void program6() {
temp = 0xFF;
for (i=0;i<=8;i++) {
output_d(temp);
delay_ms(250);
temp = temp >> 1;
}
}
void program7() {
output_d(0xFE);
delay_ms(150);
output_d(0xFD);
delay_ms(150);
output_d(0xFB);
delay_ms(150);
output_d(0xF7);
delay_ms(150);
output_d(0xEF);
delay_ms(150);
output_d(0xDF);
delay_ms(150);
output_d(0xBF);
delay_ms(150);
output_d(0x7F);
delay_ms(150);
}
void program8() {
output_d(0x7F);
delay_ms(150);
output_d(0xBF);
delay_ms(150);
output_d(0xDF);
delay_ms(150);
output_d(0xEF);
delay_ms(150);
output_d(0xF7);
delay_ms(150);
output_d(0xFB);
delay_ms(150);
output_d(0xFD);
delay_ms(150);
output_d(0xFE);
delay_ms(150);
}
مواضيع مماثلة
» المقاطعات : المقاطعة الخارجية عن طريق تطبيق نبضة على الطرف RB :
» برنامج مولد نبضات بتردد 1KHz باستخدام المقاطعة بالمؤقت Timer0
» مثال بسيط الاستخدام المقاطعة الخارجية :
» مثال على المقاطعة الخارجية External interrupt : عداد تصاعدى
» الموسوعة الشاملة للدوائر العملية المبسطة :مؤقتات-عدادات-أضواء متحركة-مبينات-حساسات .
» برنامج مولد نبضات بتردد 1KHz باستخدام المقاطعة بالمؤقت Timer0
» مثال بسيط الاستخدام المقاطعة الخارجية :
» مثال على المقاطعة الخارجية External interrupt : عداد تصاعدى
» الموسوعة الشاملة للدوائر العملية المبسطة :مؤقتات-عدادات-أضواء متحركة-مبينات-حساسات .
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى