السلام عليكم اخوانى الكرام
سألت اخى احمد سمير عن امر برمجى فى الميكرو السى استطيع به عمل تاخير لمدة خمس دقائق مثلا فأجابنى اجابه شافيه زاده الله بها علما واحببت ان اشارك اخوانى بتلك الأجابه لتعم الفائدة على الجميع .
00000000000000000000000000000000000000000000000000 00
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
بالنسبة لأمر التأخير فلا يوجد أمر مباشر للتأخير بالدقائق ولكن هناك طريقة تؤدي نفس الوظيفة
وهي أن تقوم بتكرار أمر الانتظار لمدة ثانية 60 مرة وبهذا تكون قد عملت تأخير قدرة دقيقة
فمثلا لو أردنا أن ننتظر لمدة دقيقة سنكتب الكود التالي
for(x=0;x<60;x++)
{
delay_ms(1000);
}
وإذا أردنا أن ننتظر دقيقتين سنكتب 120 بدلا من 60
وهكذا ..
وهناك طريقة أخرى
بما أن جملة فور السابقة تجعل الميكروكنترولر ينتظر لمدة دقيقة فإننا لو كررنا جملة فور هذه خمس مرات يكون انتظرنا خمس دقائق
كما يلي
for(y=0;y<5;y++){
for(x=0;x<60;x++)
{
delay_ms(1000);
}
}
وبنفس الطريقة لو أردنا أن ينتظر الميكرو لمدة ساعة سنكتب الكود التالي
for(y=0;y<60;y++){
for(x=0;x<60;x++)
{
delay_ms(1000);
}
}
أما إذا أردنا أن ينتظر الميكرو لمدة 24 ساعة فإننا سنكرر الأوامر السابقة 24 مرة ولذلك سنكتب الكود التالي
for(zz=0;zz<24;z++){
for(y=0;y<60;y++){
for(x=0;x<60;x++)
{
delay_ms(1000);
}
}
}
أتمنى أن تكون اتضحت الفكرة
وإن لم تتضح أرجو أن تضع هذه الأكواد في منتدى القرية وتطلب من الأعضاء شرحها وستجد من يشرحها لك أفضل مني
أما إذا فهمتها تماما فيمكنك أيضا وضعها في الموقع ليستفيد منها غيرك
تمنياتي بالتوفيق
والسلام عليكم ورحمة الله وبركاته
أخوك / أحمد سمير فايد