بسم الله الرحمن الرحيم
السلام عليم و رحمة الله و بركاته
كل عام وانتم بخير و المسلمين جميعا
اخ حسن عندك حق لكن ان شاء الله هذا الكود سيعمل كانه interrupt يمكنك تجربة هذا الكود او رفع الكود خاصتك لنعدله و تجربه و تخبرنا بالنتائج :
تم تعديل الكود لانتظار وصول نبضة IR .
كود:
كود:
const int zero[5]= {62,65,65,65,62} ;
const int one[5]= {0,66,127,64,0 };
const int two[5] = {66,134,81,73,70 };
const int three[5] = {33,65,69,75,49} ;
char x ;
void main() {
trisb=0 ; portb=0 ;
trisa = 0x01; // pin porta.0 as input
while(1) {
while(porta.f0 == 1){}
for(x=0;x<5;x++) { portb = zero[x] ; delay_us(270) ; }
portb=0 ; delay_us ( 540 ) ;
for(x=0;x<5;x++) { portb = one[x] ; delay_us(270) ; }
portb=0 ; delay_us( 540 );
for(x=0;x<5;x++) { portb = two[x] ; delay_us(270) ; }
portb=0 ; delay_us( 540 );
for(x=0;x<5;x++) { portb = three[x] ; delay_us(270) ; }
portb=0 ; delay_ms( 33) ;
}
}
و الله ولى التوفيق
اللهم اجعلنا مؤمنين حقا
و علمنا ما ينفعنا و ينفع بنا
اللهم اكتب لنا الحج و العمرة و اهلنا