عرض مشاركة واحدة
  #34  
قديم 09-24-2011, 05:34 AM
 
الثوابت CONSTANTS
الثابت هو عدد أو حرف له قيمة ثابتة والتى لا يمكن تغييرها أثناء تنفيذ البرنامج.
وعلى عكس المتغيرات يتم تخزين الثوابت في ذاكرة البرنامج الفلاش للميكروكونترولر بغرض توفير مساحة قيمة من ذاكرة RAM .
يتعرف المترجم على الثابت باسمه مسبوقا بكلمة const .


ثوابت العدد صحيحINTEGER CONSTANTS
ثوابت العدد الصحيح يمكن أن تكون عشرية أو سداسى عشرية أو ثمانية أو ثنائية .
يتعرف المترجم على شكلها بناء على البادئة المضافة. وإذا كان العدد لا يوجد به بادئة يعتبرعدد عشرة كحالة افتراضية .
نوع الثابت يتم التعرف عليه تلقائيا من حجمه . في المثال التالي سوف يتم يعتبر تلقائيا الثابت MINIMUM كعدد صحيح نوع signed integer ويخزن فى عدد 2 بايت (16 بت) من ذاكرة البرنامج الفلاش :






ثوابت الأعداد الحقيقية FLOATING POINT CONSTANTS
ثوابت الأعداد الحقيقية تتألف من جزء صحيح ونقطة (علامة عشرية) الجزء الكسري والحرف e أو E متبوع بعدد صحيح يمثل "الأس" exponent.



في كلا المثلين : الثابت المسمى T_MAX تم إعلانه بالقيمة 32.60 . وهو ما يمكن البرنامج من مقارن درجة الحرارة المقاسة بثابت ذو معنى (أقصى درجة حرارة ) بدلا من الأعداد التى تمثله ( 32.60 ).

الثوابت الحرفية (حروف أسكى) CHARACTER CONSTANTS (ASCII CHARACTERS)
الثابت الحرفى هو حرف يوضع بين علامتي</SPAN>اقتباس مفردة ' … ' .
في المثال التالييتم الإعلان عن ثابت اسمه I_CLASS كحرفAكما يتم الإعلان عن ثابت اسمه II_CLASS كحرفB.


عند التعريف بهذه الطريقة فأن تنفيذ الأوامر بإرسال الثوابت I_CLASS و II_CLASS لوحدة العرض LCD سوف تتسبب فى عرض الحروف A و B على الترتيب .
ثوابت السلسلة النصية STRING CONSTANTS
الثابت الذى يتكون من سلسله من الحروف يسمى ثابت "السلسلة النصية" string .
يتم وضع ثابت السلسلة النصية بين علامات اقتباس مزدوجة " .... " .



فى هذا المثال : أرسال الثابت Message_1 لوحدة العرض LCD سوف يتسبب فى عرض الرسال
'press the START button' .


ثوابت التعداد أو السرد ENUMERATED CONSTANTS

ثوابت التعداد هي نوع خاص من ثوابت الأعداد الصحيحة والتي تجعل البرنامج أكثر شمولا وأسهل للمتابعة عن طريق تخصيص (تعيين) عناصر لأعداد مرتبة .
في المثال التالي العنصر الأول UPفي الأقواس المتعرجة { } يخصص له تلقائيا القيمة 0 والعنصر الثانى DOWNيخصص له القيمة 1والعنصر الثالث LEFT يخصص له القيمة 2 الخ.



عند كل ظهور للكلمات 'LEFT', 'RIGHT', 'UP' and 'DOWN' فى البرنامج فإن المترجم يستعيض عنها بالأعداد المناسبة(0-3) .
وبشكل ملموس : إذا كانت أطراف المنفذ port B أرقام 0 و 1 و 2 و 3 متصلة بالمحركات التى تقوم بجعل شىء ما يتحرك لأعلى up أو للأسفل down أو لليسار left أو لليمين right فأن أمر تشغيل محرك الحركة لليمين ‘RIGHT’ يكون كما يلي :


__________________
angel4angel4angel4angel4angel4
رد مع اقتباس