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

   

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



1.3 هيكل (بناء) برنامج الميكروسى Structure of a mikroC Program
الشكل 3-1 يبين أبسط هيكل برنامج الميكروسى. هذا البرنامج يومض الليد المتصل بالطرف RB0 ( البت bit0 للمنفذ PORTB ) للميكروكونترولر كل ثانية كفترة زمنية . لا تقلق إذا لم تفهم عمل البرنامج فى هذه المرحلة لأن كل شىء سوف يكون واضحا مع التقدم خلال هذا الفصل . بعض عناصر البرمجة بالشكل 3-1 يتم شرحها بالتفصيل هنا .




3-1-1 التعليقات Comments

اعلانات

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


3-1-1 التعليقات Comments
تستخدم التعليقات لتوضيح عمل البرنامج أو تعبير فى البرمجة. يتم "تجاهل" أسطر التعليقات ولا تترجم بمعرفة المترجم .


فى برامج الميكروسى يوجد نوعين من التعليقات :
  • "التعليقات الطويلة" والتى تمتد لعدة أسطر .
  • و "التعليقات القصيرة" والتى تحتل سطر واحد فقط .
أسطر التعليق فى بداية البرنامج يمكن أن تصف بإيجاز عمل البرنامج وتقديم اسم المؤلف واسم ملف البرنامج والتاريخ الذى كتب فيه البرنامج وقائمة بأرقام الإصدار جنبا إلى جنب مع التعديلات بكل إصدار . كما هو مبين بالشكل 3-1 , يمكن أيضا أن تضاف التعليقات بعد "العبارات" لوصف العمليات التى تقوم هذه العبارات بتنفيذها .


الوضوح والاختصار فى أسطر التعليق هام بالنسبة للصيانة وبالتالى عمر البرنامج لأن البرنامج بتعليقات جيدة يكون أسهل فى التعديل و أو التحديث .
كما هو موضح بالشكل 3-1 "تبدأ " التعليقات الطويلة بالحروف (الرموز "/*" و"تنتهى" بالحروف "*/" . بالمثل تبدأ التعليقات القصيرة بالحروف "//" ولا تحتاج لحروف إنتهاء .


3-2-1 بداية ونهاية البرنامج Beginning and Ending of a Program

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

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


3-2-1 بداية ونهاية البرنامج Beginning and Ending of a Program
فى لغة السى يبدأ البرنامج بالكلمات :

void main ()

بعد ذلك يستخدم "القوس المجعد للفتح " للدلالة على بداية "جسم البرنامج" . يتم إنهاء البرنامج "بالقوس المجعد للغلق" . وهكذا , كما هو مبين بالشكل 3-1 , فإن بناء البرنامج يكون كما يلى :
void main()
{
program body
}

3-1-3 "إنهاء" عبارات البرنامج Terminating Program Statements


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


}

3-1-3 "إنهاء" عبارات البرنامج Terminating Program Statements

فى لغة السى جميع "عبارات" البرنامج "يجب" أن تنتهى برمز "بالفاصلة المتقوطة" (“;”) وإلا سيتم توليد خطأ بالمترجم .

j = 5; // correct
j = 5 // error


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


3-1-4 المسافات البيضاء White Spaces
المسافات البيضاء هى مسافات خالية spaces, فراغات blanks , تبويبات tabs و رموز السطر الجديد . مترجم لغة السى يتجاهل كافة المسافات البيضاء . وهكذا فإن الثلاثة عبارات التالية متطابقة :




بالمثل العبارات التالية متطابقة :









3-1-5 الحساسية لحالة الحرف Case Sensitivity


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


3-1-5 الحساسية لحالة الحرف Case Sensitivity
بشكل عام , لغة السى حساسة لنوع الحرف والمتغيرات بأسماء ذات حروف صغيرة "تختلف" عن تلك التى تحمل أسماء بحروف كبيرة . حاليا متغيرات الميكروسى ليست حساسة لنوع الحرف ( قد يكون هناك إصدارات حساسة لنوع الحرف ) نتيجة لذلك فإن المتغيرات التالية متكافئة :








الاستثناء الوحيد هو "المعرفات" main و interrupt والتى يجب أن تكتب بالحروف الصغيرة فى الميكروسى . فى هذا الكتاب نفترض أن المتغيرات حساسة لنوع الحرف من أجل التوافق مع مترجمات لغة السى الأخرى كما نفترض عدم استخدام متغيرات بنفس الاسم وبأشكال (حالات) مختلفة .

القادم إن شاء الله :
3-1-7 أنواع المتغيرات Variable Types


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


3-1-7 أنواع المتغيرات Variable Types
المترجم "ميكروسى" يدعم أنواع المتغيرات المبينة بالجدول 3-2 . سوف نتناول أمثلة للمتغيرات فى هذا الجزء .






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


1- المتغيرات من النوع :
  • "حرف" (رمز) (أو نقول للتوضيح حرف بدون إشارة )
(unsigned) char
  • أو "قصير بدون إشارة "( أو نقول للتوضيحعدد صحيح قصير بدون إشارة"
unsigned short (int)


هذه المتغيرات هى متغيرات " 8- بت بدون إشارة وبالمدى من 0 إلى 255 " . المثال التالى يبين إنشاء متغيران 8-بت بدون إشارة بالأسماء " total" و " sum " وتم "تخصيص أو تعيين" القيمة العشرية 150 للمتغير sum :






يمكن تخصيص قيم المتغيرات خلال "تعريفها أو إعلانها" .وبالتالى يمكن أيضا كتابة العبارة السابقة على النحو التالى :




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