منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة :

اذهب الى الأسفل

تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة : Empty تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة :

مُساهمة من طرف Admin الخميس أبريل 30, 2015 12:23 pm

تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة :

تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة : 314

البرنامج :

الكود:

#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);
}


Admin
Admin

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

https://fathallaabdelaziz.forumarabia.com

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

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

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