30.03.2015 Views

3rmcTnUdr

3rmcTnUdr

3rmcTnUdr

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

عندما يصل امليكرو إىل األمر:‏<br />

PORTB = 0B00000000;<br />

فإنه يقوم بإخراج صفر على كل رجول خمرج امليكروكنرتولر ثم ينتظر ثانيتني بناء على األمر<br />

التالي وذلك حتى نتمكن من مالحظة القيمة صفر اذ أن األوامر تنفذ بسرعة كبرية جدا.‏<br />

ثم يقوم باالنتقال إىل حلقة ال while وخيترب شرطها فيجد قيمته بواحد فينفذ ما بداخلها وأول<br />

األوامر كاآلتي:‏<br />

والذي يتم حساب ما باجلهة اليمنى أوال ثم ختصيص الناتج للجهة اليسرى وهذت يعين إضافة واحد إىل<br />

قيمة ال PORTB ثم إخراج ناتج اجلمع ثانية على نفس املخرج،‏ وحيث أن قيمة<br />

املخرج كانت بصفر<br />

فبزيادة واحدة تكون قيمته بواحد اليت تنعكس على اخلرج،‏ ثم يأتي األمر التالي وهو االنتظار<br />

ثانيتني لكى نستطيع رؤية القيمة واحد أيضا،‏ ثم تنتهى while فيعود للبداية الختبار الشرط مرة<br />

أخرى فيجد قيمته بواحد فيدخل لينفذ ما بداخل ال while مرة ثانية،‏ وبنفس الطريقة ستخرج القيمة<br />

4 على املخرج B<br />

ثم ينتظر ثانيتني ... وهكذا،‏ وبالتالي إمجاال فان هذا الربنامج يقوم بإخراج القيم<br />

الثنائية من صفر إىل 499 على املخرج B.<br />

ملحوظة:‏ القيمة ستزداد باستمرار بداية من صفر إىل 499 ولكن ماذا سيحدث بعد ذلك؟؟ سيتم<br />

إضافة واحد كما هو واضح يف األمر ولكن هذه اإلضافة ستجعل القيمة 496 وهوا ما ال ميكن<br />

عرضة يف 8 خانات فقط وبالتالي سيعود العداد إىل الصفر ثانية حيث أن التمثيل الثنائي للقيمة<br />

فيبدأ العداد من جديد<br />

أصفار ثم واحد وهو ما يتم إهماله وال يظهر سوى<br />

األصفار ...<br />

496 يتضمن 8<br />

بقيت مشكلة بسيطة وهي كيفية قراءة هذه القيم الثنائية اليت ستخرج على املخرج B ؟؟؟ لذلك<br />

سنقوم بوضع ليدات على رجول هذا املخرج وإذا كان الليد مضيء فهذا يعين أن الرجل املتصل بها الليد<br />

قيمتها تساوى واحد ولو الليد غري مضيء فهذا معناه أن قيمة الرجل تساوى صفر.‏<br />

elgammalelectronics.com<br />

112 ميكروبيديا - موسوعة امليكروكنرتولر

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!