بسم الله الرحمن الرحيم
انت تامر اخى
اولا
الامر دة
كود:
for(x=0;x<144;x++){ هنا الاوامر}
هذا الامر سوف تتعرف علية فى الدورة باذن الله
وفائدتة هو عمل تكرار للاوامر بحسب العدد الذى تضعه
هنا سوف يتم تكرار االوامر 144 مرة
ثانيا
قمت بحساب كم من الدقائق نحتاج لكى نصل الى 12 ساعه
وكان الحساب كا الاتى
12*60 = 720 دقيقة
اى انك اذا انتظرت 720 دقيقة هكذا تكون انتظرت 12 ساعة
وبعد ذلك حسبت اذا كانت سوف اعد 5 دقائق فى المرة الواحدة فكم مرة نكرر حتى نصل الى 720 دقيقة
720/5 = 144 مرة
اذن نحتاج ان نكرر امر الانتظار 5 دقائق 144 مرة لكى نصل الى 12 ساعة
ولكن هنا مشكلة وهى ان الميكرو سى لا تسطيع ان تعطى امر انتظار 5 دقائق مرة واحدة اى هكذا
ولكن ما الحل ؟؟؟
الحل هو ان نكرر مدة 5 ثوانى عدد من المرات حتى تصل الى 5 دقائق
وبعد ذلك نكرر 5 دقائق 144 مرة لنصل الى 12 ساعة
وبالحساب هكذا
نحول ال5 دقائق الى ثوانى
5*60 = 300 ثانية
اذن كم نكرر 5 ثوانى حتى تصبح 300 ثانية اى 5 دقائق
نحسب
300/5 = 60 مرة
وهكذا وضعت الاوامر هكذا
كود:
for(x=0;x<144;x++){for(x=0;x<60;x++){portb=0;delay _ms(5000);}}
for(x=0;x<144;x++){for(x=0;x<60;x++){portb=255;del ay_ms(5000);}}
الامر الذى يتكرر 60 مرة يعد حتى يصبع الوقت 5 دقائق وبعد ذلك يكرر هذا 144 مرة فنصل الى 12 ساعة
ارجوا ان تكون وضحت الفكرة