قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 18-03-2012, 06:25 PM المشاركة 49   
افتراضي



3- عبارة do-while
تستخدم هذه العبارة فى عمل عبارة تكرار وهى تشبه عبارة while فيما عدا" أن اختبار (تقييم) الشرط يتم فى نهاية الحلقة" ( بدلا من بدايتها كما هو حال أمر while ).

الصيغة العلمة :

كود:
dostatement while (condition);

or

do
{
statement1;
statement 2;
} while (test condition);

فى بناء do-while يتم إجراء الاختبار فقط عند نهاية الحلقة . وذلك يؤدى إلى أن التعليماد الموجودة بداخل حلقة do-while يتم تنفيذها مرة واحدة على الأقل . إذا تحقق الشرط تتكرر الحلقة وإذا لم يتحقق يتم الخروج من الحلقة .


مثال :

كود:
void main () {
int a = 0; // تعريف متغير نوع عدد صحيح وتخصيص الصفر له 

do
{                                              // المدخل 
a ++;                                       // تنفيذ تزايد المتغير بواحد 
PORTB = ~ PORTB;            // تنفيذ عكس حالة أطراف المنفذ 
}
while (a> 100);                       //اختبار الشرط والنتيجة خروج من الحلقة لعدم تحقق الشرط  
}
ملاحظة :
لاحظ أن عبارة do هى الوحيدة فى عبارات التحكم التى تنتهى بالفاصلة المنقوطة (;) صراحة . باقى العبارات تنتهى بعبارة وهذا يعنى إحتوائها ضمنيا على الفاصلة المنقوطة أو قوس الغلق .

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 18-03-2012, 06:28 PM المشاركة 50   
افتراضي


1- عبارة break وعبارة continue

عبارة Break
أحيانا يكون من الضرورى إيقاف (إنهاء) الحلقة من داخل جسمها . تستخدم عبارة break داخل الحلقات لنقل التحكم لأول عبارة تلى حلقة العبارات التالية switch, for, while, do . أى أن عبارة breakتستخدم فى الإيقاف الفورى (القطع) لأى حلقة . أثناء تنفيذ الحلقة أن وجد هذا الأمر يتم الخروج الفورى منها .


كود:
مثال :
void main () { int a = 0; do { a ++; // تنفيذ تزايد المتغير بواحد break; // إيقاف تنفيذ الحلقة فورا والخروج منها PORTB = ~ PORTB; // عدم تنفيذ عكس حالة أطراف المنفذ } while (a <100); }


ملحوظة :
عبارة break صالحة للاستخدام مع كل من : do-while و while و for و case .

عبارة Continue
عبارة continue تستخدم , من داخل الحلقات , فى "تخطى الدورة" . حيث أن تعمل على تحويل التحكم إلى نهاية الحلقة حيت تتكرر إذا كان الشرط صواب كما هو موضح بالأمثلة التالية :

كود:
while (..) {...if (val>0) continue;...// continue jumps here}

do {...if (val>0) continue;...// continue jumps here}while (..);



for (..;..;..) {...if (val>0) continue;...// continue jumps here}

بعبارة أخرى تقوم عبارة continue بإعادة بدء restarts اختبار شرط الحلقة مرة ثانية . فى كل مرة يوجد فى الحلقة الأمر continue لا يتم تنفيذ الأوامر التى تليها .

مثال :

كود:
void main () {
int a = 0;

do
{
a ++;                                       
continues;                   // العودة إلى بداية الحلقة
PORTD = ~ PORTD;  
}
while (a <100); 
}



فى هذا المثال : سوف , لن يتم تنفيذ الأوامر الموجودة أسفل الأمر continue لأنه فى كل مرة نصل فيها إلى تنفيذ الأمر continue يتم توجيه البرنامج تلقائيا إلى رأس الحلقة غير معتمدا على أى حالة للمتغيرات .
عبارة continueصالحة للاستخدام مع كل من : do-while و while و for و case .

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 18-03-2012, 07:41 PM المشاركة 51   
افتراضي


الدرس السابق فى ملف بصيغة pdf على الرابط التالى :

http://www.eeecb.com/vb/showthread.php?p=2794#post2794


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 19-03-2012, 05:39 PM المشاركة 52   
افتراضي


الدرس الثالث عشر
التدريبات العملية التمهيدية لبرمجة الميكروكونترولر 8-Bit PIC16F877A والمترجم mikroC PRO

الغرض من هذه التدريبات :
· كتابة برنامج بسيط لاختبار دائرة التدريبات .
· التعامل مع المتغيرات Variables والحلقات looping والقرارات decisions .

هذه التدريبات تعتبر مقدمة لبرمجة الميكروكونترولر PIC بلغة السى بأعتبار أن القارىء ليس له خبرة سابقة فى اللغة .

6 تدريبات تمهيدية كاملة لبرمحة الميكروكونترولر بلغة السى : على الرابط :

http://www.eeecb.com/vb/showthread.php?t=701&page=10


الصورة الرمزية facenewlife
facenewlife
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2011
الدولة: المغرب
المشاركات: 77
نشاط [ facenewlife ]
قوة السمعة:
قديم 19-03-2012, 07:47 PM المشاركة 53   
x4 رسالة شكر و تقدير .


أولا أشكر جميع المتفاعلين في منتدى القرية.

و أتوجـــــه بالشكر الخــاص و التقدير لأستادنا F.Abdelaziz
لقد عودنـا بالجديــد و المفيد و خصص من وقته و جهده الكثيييير
و ذلك في سبيـل كما أحسبه النهوض بأمتنـنا الى السباق التكنولوجي
الذي أصبح المعيار الرئيسي لتقدم الأمم أو انحطاطها
و لن أنسى الاخوة الكرام في هذا المنتدى فالكل يساهم بما أوتي من علم لقد تعمنا منكم الكثييير ف جزاكم الله خيرا عمــا تقدمون و الله لا يضيع أجر المحسنين.


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 19-03-2012, 09:20 PM المشاركة 54   
افتراضي


أولا أشكر جميع المتفاعلين في منتدى القرية.

و أتوجـــــه بالشكر الخــاص و التقدير لأستادنا F.Abdelaziz
لقد عودنـا بالجديــد و المفيد و خصص من وقته و جهده الكثيييير
و ذلك في سبيـل كما أحسبه النهوض بأمتنـنا الى السباق التكنولوجي
الذي أصبح المعيار الرئيسي لتقدم الأمم أو انحطاطها
و لن أنسى الاخوة الكرام في هذا المنتدى فالكل يساهم بما أوتي من علم لقد تعمنا منكم الكثييير ف جزاكم الله خيرا عمــا تقدمون و الله لا يضيع أجر المحسنين.

أخى الكريم الفاضل

شكرا جزيلا لك

بارك الله فيك

تقدير أعتز به

الشكر كل الشكر لله

الشكر الموصول للقائمين على هذا الموقع العالمى الفريد وأخص بالذكر الأخ الفاضل فهد المنصور وجميع الأخوة المشرفين على توفير المناخ الأخوى .

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


أكرر شكرى لك تقبل الله منا ومنك أعمالنا .


مع تمنياتى بدوام التوفيق



الصورة الرمزية المظلوم
المظلوم
:: مهندس متميز ::
تاريخ التسجيل: Oct 2011
الدولة: BH
المشاركات: 636
نشاط [ المظلوم ]
قوة السمعة:
قديم 20-03-2012, 01:59 AM المشاركة 55   
افتراضي


السلام عليكم ،،،

إذا كنت انت من قام بهذا العمل الجبار ، ، وهذا ليس بالغريب على أمثالك ،، فلك جزيل الشكر ،، وخالص الثناء والمحبة ،، كما أحب أن اهنئك على هذا الإسلوب السهل والشفاف ،، والمشوق ،، في طرح مثل هذه الشروحات ،،

قمت بقراءة الدروس - إلى الدرس الحادي عشر ،، وسأقوم بإكمال الدروس التي تليها ،، ومحاولة تطبيق التدريبات ،، في أسرع وقت ممكن ،،


أتمنى أن اوفق في عمل التدريبات ،، لاثبت لك مدى استفادتي من الشرح وإن استعصى علي شيء فسأعود لك هنا ،، كن على ثقة بذلك ،،


أخوك - محمد

تمنياتي

-


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 20-03-2012, 02:19 AM المشاركة 56   
افتراضي


السلام عليكم ،،،


إذا كنت انت من قام بهذا العمل الجبار ، ، وهذا ليس بالغريب على أمثالك ،، فلك جزيل الشكر ،، وخالص الثناء والمحبة ،، كما أحب أن اهنئك على هذا الإسلوب السهل والشفاف ،، والمشوق ،، في طرح مثل هذه الشروحات ،،

قمت بقراءة الدروس - إلى الدرس الحادي عشر ،، وسأقوم بإكمال الدروس التي تليها ،، ومحاولة تطبيق التدريبات ،، في أسرع وقت ممكن ،،



أتمنى أن اوفق في عمل التدريبات ،، لاثبت لك مدى استفادتي من الشرح وإن استعصى علي شيء فسأعود لك هنا ،، كن على ثقة بذلك ،،


أخوك - محمد

تمنياتي


-
أخى الكريم الفاضل


شكرا جزيلا لك

بارك الله فيك


والحمد لله رب العالمين


مع تمنياتى بدوام التوفيق



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:54 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)