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.

وبالتالي لو أردنا ختزين القيمة 241 مثال يف املتغري اخلامس سيكون األمر كالتالي:‏<br />

كيف سنوظف كل هذا فيما خيص التعامل مع السيفني سيجمنت ؟؟<br />

seg[4] = 320;<br />

فمثال نريد كتابة برنامج يقوم بقراءة قيمة جهد معينة ترتاوح ما بني صفر إىل مخسة فولت وختزينها<br />

يف متغري وعرضها على السيفني سيجمنت.‏<br />

مبدئيا كم قيمة<br />

سنحتاجها؟<br />

ستة قيم وهم الصفر والواحد<br />

واالثنني<br />

والثالثة<br />

واألربعة<br />

واخلمسة،‏<br />

وبالتالي سنقوم بكتابة أمر نعرف فيه مصفوفة من ستة عناصر وتكون من النوع char إذ أنه كما<br />

ذكر سابقا أن هذا النوع يستخدم يف ختزين القيم الصحيحة من<br />

وبالتالي نوفر يف الذاكرة وهذا األمر بالشكر التالي:‏<br />

1 إىل 499<br />

ولن حنتاج ألكثر من هذا<br />

واآلن ما هي القيم اليت سنقوم بتخزينها يف هذه املصفوفة؟ تذكر معي جدول السيفني سيجمنت:‏<br />

إلظهار صفر خنرج على البورت وإلظهار واحد خنرج وإلظهار اثنني خنرج 0x5B<br />

0x06<br />

0x3F<br />

وإلظهار ثالثة خنرج 0x4F وإلظهار أربعة خنرج 0x66 وإلظهار مخسة خنرج .0x6D<br />

نقوم بتخزين القيم السابقة يف املصفوفة وهي القيم اليت سنقوم بإخراجها على PORTB وذلك عن<br />

طريق األوامر اآلتية:‏<br />

Hex_To_Seg[0] = 0x3F;<br />

Hex_To_Seg[1] = 0x06;<br />

Hex_To_Seg[2] = 0x5B;<br />

Hex_To_Seg[3] = 0x4F;<br />

Hex_To_Seg[4] = 0x66;<br />

Hex_To_Seg[4] = 0x6D;<br />

وميكن اختصار<br />

األوامر<br />

الستة<br />

السابقة باإلضافة إىل خطوة اإلعالن عن املصفوفة يف<br />

سطر واحد<br />

كالتالي:‏<br />

char Hex_To_Seg[6] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D};<br />

الفصل السادس:‏ التعامل مع السيفني سيجمنت 121<br />

elgammalelectronics.com

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

Saved successfully!

Ooh no, something went wrong!