3rmcTnUdr
3rmcTnUdr
3rmcTnUdr
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