منتدى الإلكترونيات قسم الالكترونكس لمناقشة الافكار والمعلومات المتعلقة بالهندسة الالكترونية للمبتدئين والهواة والفنيين - Electronics

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-06-2015, 01:13 AM المشاركة 17   
افتراضي



السلام عليكم
أخي الكريم في الموضوع المماثل الذي تفضلت بالإشارة اليه يوجد رابطان :
الرابط الأول :أعطاني مثل الصورة التي وضعها الأخ sallam .
الرابط الثاني ولحسن الحظ فهو يعمل ومنه تمكنت في حينه من تنزيل البرنامج.
وهذا هو الرابط الشغال لمن يريد تحميله من الإخوء الأعضاء:
http://www.mediafire.com/download/8g...Version(2).rar
شكرا أخي الكريم .
جازاك الله عنا خير الجزاء و رمضان كريم.
أخى الكريم شكرا جزيلا لك

بارك الله فيك

وكل عام وأنت بخير

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-06-2015, 01:14 AM المشاركة 18   
افتراضي الفصل الثانى الثوابت Constants :البت Bit والنبل Nibble والبايت Byte :


الفصل الثانى الثوابت Constants :
البت Bit والنبل Nibble والبايت Byte :
البت Bit :
البت الواحدة فى الذاكرة أو فى سجل بمكن أن تمثل بواحدة من حالتين ممكنتين ، الصفر “0” أو الواحد “1” . فى عالم الإلكترونيات الرقمية يكون من المريح بناء عناصر الدائرة التى لديها حالتين : فصل / وصل off/on ، أو فعال / غير فعال active/inactive ، أو منخفض / مرتفع low/high . يمكن تمثيل هذه الحالات بواسطة الصفر “0” والواحد “1” / كما هو مبين بالشكل التالى :



نطاقات الجهد الدقيقة التى تمثل الصفر والواحد تختلف تبعا لجهد المصدر ونوع الدائرة المتكاملة المستخدمة
(TTL,CMOS) . خيار استخدام الصفر الثنائى لتمثيل صفر الجهد 0V هو خيار اعتباطى . المنطق المبين بالشكل إعلاه يعرف باسم "المنطق الموجب" . يمكن القيام به بطريقة عكسية ، والذى يعرف باسم "المنطق السالب" .
النبل Nibble :
يتكون النبل من 4 بت 4-bit ، ويمكن أن يمثل 16 حالة ممكنة . عادو يكون النبل هو النصف العلوى أو النصف السفلى من البايت ( يعرف باسم النبل ذات القيمة أو الأهمية الأقصى ، والنبل ذات القيمة أو الأهمية الأدنى) .
البايت Byte :
يتكون البايت من 8 بت 8-bit ويقال بسعة (بعرض-بحجم) 8 بتات . الميكروكونترولر 8 بت ينقل البايتات حول ناقل بيانات data bus بسعة 8-bit ( باستخدام 8 موصلات) .

أحجام (مقاسات) الذاكرة Memory Sizes :
فى معظم الأحيان يعبر عن حجم الذاكرة بدلالة بعدد البايتات . أحيانا يعبر عنها بدلالة عدد الكلمات words ، حيث حجم الكلمة يكون محددا بطريقة تنظيم الذاكرة فى الجهاز . بالنسبة للميكروكونترولر PIC ، كثيرا ما يتم التعبير عن ذاكرة RAM بالبايتات ، وذاكرة البرنامج بالكلمات لأن ذاكرة البرنامج قد تكون بسعة 12, 14, 16, 24 bits .
نظرا لأنه يتم العنونة بالنظام الثنائى ، فإنه يتم الإعراب عن أحجام الذاكرة الكبيرة كمضاعفات (أس) لعدد “2” . على سبيل المثال ، بدلا من 1000 بايت ، سوف يتم التعبير عنها بدلالة مضاعف العدد 2 بالصيغة 1024 bytes = (210) . فيما يلى الاختصارات الشائعة التى لا تطبق إلا على الذاكرة فقط :

1K = 1 kilobyte = 1024 bytes
1M = 1 megabyte = 1024 × 1024 or 1,048,576 bytes
1G = 1 gigabyte = 1024 × 1024 × 1024 or 1,073,741,824 bytes.

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-06-2015, 01:19 AM المشاركة 19   
افتراضي


بناء جملة ثوابت لغة السى Syntax of C Constants :

العدد الثنائى Binary :
العدد الثنائى المكون من أكثر من بت واحدة يمكن أن يمثل أعداد أكبر من الواحد “1” . كبر هذا العدد تعتمد على عدد البتات Bits أو الأرقام Digit . العدد الثنائى بحجم 8-bit (البايت) يمكن أن يمثل 256 عدد ممكن ( من الصفر إلى 255 ) . العدد الثنائى بحجم 16-bit يمكن أن يمثل الأعداد من 0 إلى 65,535 . إذا استخدمنا بايت لنقل المعلومات ، فإنه يمكننا نقل 256 توليفة ممكنة ، وهو ما يكفى لتمثيل الأرقام العشرة العشرية ( من 0 إلى 9 ) ، والحروف letters الكبيرة والصغيرة ، وأكثر من ذلك . الكود الشائع الاستخدام لتمثيل الأحرف characters يسمة كود أسكى ASCII ( المعيار الأمريكى لتبادل المعلومات ) .
تستند الأعداد الثنائية على مضاعفات ( تسمى قوة power) الرقم “2” . قيمة البت الأولى bit 0 هى 2 أس (قوة) صفر وهى تساوى واحد “20 = 1” إذا كانت تحتوى على واحد ، أو صفر إذا كانت تحتوى على صفر . وقيمة البت الثانية bit 1 تكون 2 أس (قوة) واحد تساوى 2 ، أى “21 = 1 “ إذا كانت تحتوى على الواحد ، أو صفر إذا كانت تحتوى على الصفر . وقيمة البت bit 3 تكون “23 = 8 “ إذا احتوت على واحد ، وصفر إذا احتوت على صفر ، وهكذا .
فى العدد الثنائى المكون من 16 بت ، البت bit 0 هى البت الأدنى قيمة (أهمية) LSB ، والبت bit 15 هى البت الأقصى قيمة . الشكل التالى يبين قيمة كل موقع بت إذا كان يحتوى واحد “1” .



قيمة العدد الثنائى المحتواة فى متغير 16-bit سوف تتحدد عن طريق ضرب محتويات كل بت فى قيمة كل بت كما فى الشكل التالى :




العد التصاعدى فى النظام الثنائى يأخذ الشكل التالى :
Counting up in binary goes like this:

كود:
0000
0001
0010
0011
0100
0101
.........
يمكن تخيل هذا النظام من الأعداد كنوع من عدادات مسافات السيارة حيث كل رقم يكون 0 أو واحد عندما يدور (ينقلب) الواحد إلى الصفر ، يدور (ينقلب) الرقم الذى يليه . الطريقة التى يتم بها تمثيل العدد تسمى radix "الأساس أو الأصل أو الجذر " .
فى لغة السى الثابت الثنائى يبدأ بالبادئة “0b” يليها الأرقام الثنائية . على سبيل المثال ، لتخصيص العدد العشرى “6” ، أو العدد الثنائى “00000110” ، إلى المتغير “x” يتم ذلك بالشكل التالى :
x=0b00000110;

العدد العشرى Decimal :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-06-2015, 01:23 AM المشاركة 20   
افتراضي


العدد العشرى Decimal :
الأعداد العشرية هى وسيلة معظم الناس الذين يفكرون فى الأعداد . هناك 10 أرقام digits يمكن أن تكون فى كل موقع (خانة) عشرية وهى 0-9 . فى لغة السى يتم التعبير عن العدد العشرى ببساطة بالشكل التالى :
x=123;
سوف يتم تناول الأنواع بالتفصيل لاحقا . مع ذلك ، فإننا نلاحظ هنا أن المترجم سوف يعامل العدد “123” كثابت بحجم واحد بايت لأن القيمة “123” تناسب البايت . إذا أراد المترجم لسبب ما أن يعامل هذا العدد عدد بحجم 2 بايت عندئذ يقوم بإلحاق الحرف “L” ( اختصار Long) بالعدد ، بالشكل التالى :

كود:
x=124L;
حرف “L” لا يكون مطلوبا للأعداد التى هى بالفعل طويلة جدا لتناسب البايت ( مثل 1000 ) . كما يمكن أن يلحق بالعدد الحرف “U” للإشارة إلى أنه بدون إشارة Unsigned .

الإعداد الصحيحة بإشارة Signed Integers :
الأعداد الثنائية المبينة أعلاه هى أعداد بدون إشارة . خلية الذاكرة 8-bit يمكن أن لديها عدد من 0 إلى 255 . فى لغة السى ، من المفيد فى بعض الأحيان تمثيل الأعداد السالبة . عند القيام بذلك ، يتم استخدام موقع (خاة) ثنائية من أجل الإشارة sign . وجود صفر فى هذا الموقع يعنى أن العدد الثنائى موجب ووجود الواحد يعنى أنه سالب . بقية مواقع (خانات) العدد الثنائى تكون فيما يعرف بشكل "مكمل العدد 2" .
فى لغة السى ، يتم تمثيل الأعداد الصحيحة السالبة بالشكل التالى :

كود:
x=-123;


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-06-2015, 01:26 AM المشاركة 21   
افتراضي


العدد السداسى عشرى Hexadecimal :
نظام العدد السداسى عشرى لديه 16 رقم ، الأعداد 0–9 ثم الحروف A–F . السبب فى استخدام العدد السداسى عشرى أنه مفيد جدا للمبرمج لكى يفهم الأعداد بدلالة تمثيلها الثنائى ، على الرغم من أن السلسلة الطويلة الثنائية يكون من الصعب تذكرها والتواصل معها . على خلاف العدد العشرى الشائع الاستخدام ، فإن العدد السداسى عشرى لديه علاقة مباشرة بالعدد الثنائى . فكل رقم سداسى عشرى هو بالضبط 4 بت بالثنائى . وأربعة أرقام سداسى عشرى تمثل 16 قيمة ، كما فى الشكل التالى :



استخدام النظام السداسى عشرى ليس صعبا ، كل ما تحتاجه القليل من الممارسة . البايت الواحد يتطلب رقمين سداسى عشرى . لاحظ أن الأرقام التى تمث بايت تكون أحيانا فى شكل مجموعات من اثنين أو أربع ، وأن الرقم السداسى عشرى ذات القيم الأقصى يكون جهة اليسار . للدلالة على الأعداد السداسى عشرى تستخدم البادئة “0x” ، كما يلى :

كود:
x=0x1A;
الشكل التالى يبين ملخص للعلاقة بين العدد الثنائى والعدد السداسى عشرى والعدد العشرى ، لبعض الأعداد المختارة :






من السهل بكثير أو تذكر كتابة العدد السداسى عشرى “FFFF” عن الشكل “1111 1111 1111 1111 “ أو “65,535” .

العدد الحقيقى أو عدد النقطة العائمة Floating Point :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-06-2015, 01:32 AM المشاركة 22   
افتراضي


العدد الحقيقى أو عدد النقطة العائمة Floating Point :
الأعداد المذكور أعلاه كلها أعداد صحيحة ، لا يوجد بها نقطة (علامة) عشرية . عدد النقطة العائمة (العدد العشرى الحقيقى) هو عدد بنقطة عشرية والتى تتحرك على نطاق كبير . على سبيل المثال ، العدد “12.34” هو عدد حقيقى بسيط . داخليا يتم حفظ هذا العدد فى الشكل “1234 × 10−2” . ويشار إلى الجزئين باسم الجزء العشرى mantissa وجزء الأس exponent . كل مترجم معين يكون لديه نطاق أقصى لكل منهما .
فى لغة السى هناك ثلاثة طرق للتعبير عن العدد الحقيقى كما يلى :

كود:
x=1.23;
x=1.23E5; // same as 123,000.0
x=5F; // same as 5.0.
عدد النقطة الثابتة Fixed Point :
عدد النقطة الثابتة يكون لديه نقطة عشرية ، لكنها ثابتة . على سبيل المثال ، عند التعامل مع الذاكرة ، ليست هناك حاجة لأكثر من رقمين عشريين . يمكن حفظ العدد كأنه عدد صحيح وإخبار المترجم بأن يتذكر دائما بأن هناك نقطة عشرية قبل آخر رقمين . ليست هناك تسمية خاصة للثوابت ذات النقطة الثابتة ، المتغير لديه تعيين للنقطة الثابتة . الشكل الوحيد المسموح به هو :

كود:
x=1.23;


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-06-2015, 01:36 AM المشاركة 23   
افتراضي


الأحرف Characters :
الأحرف تشمل الأرقام digits (0–9) والحروف letters (A–Z) بالإضافة إلى علامات الترقيم والرموز الخاصة التى يتم استخدامها فى البرمجة . كل حرف character من هذه الأحرف يمكن تمثيله فى لغة السى يناظر عدد من 0 إلى 255 . كود أسكى ASCII هو معيار للأحرف التى يمكن أن تكون ممثلة بواسطة 8 بتات .
هناك 256 حرف من أحرف كود اسكى والمبين بالشكل التالى :




على سبيل المثال ، الحرف “A” يتم تخزينه فى الذاكرة فى شكل القيمة العددية “65” . يتم وضع ثابت الحرف بين علامتى اقتباس فردى . لغة السى فضفاضة نوعا ما فى الكتابة ( ترجمة بنود الأنواع المختلفة لا علاقة لها بما تقوم به أصابعك على لوحة المفاتيح ) لذلك يمكنك دائما استخدام 65 أو ‘A’ كبدائل فى الكود الخاص بك . فيما يلى شكل التخصيص :

كود:
 x=‘A’;
هناك طريقة خاصة لتحديد الأحرف التى قد لا يكون لها تمثيل لوحة مفاتيح ، هذه الحروف تسمى تسلسل الهروب
escape sequence . تستخدم الشرطة المائلة “\” للإشارة إلى هذا التنسيق الخاص . إذا أردت الحرف “\” فيجب عليك استخدام لثنين فى الصف كما يلى “\\” . من أجل تحديد فقط القيمة السداسية عشرى للحرف نقوم بما يلى : “\x41” ( وهذه هى نفسها ‘A’ ) . هناك عدد من الأحرف الإضافية المبينة بالجدول التالى :




لاحظ أن الشرطة المائلة يجب أن تسنخدم للحصول على حرف الشرطة المائلة نفسه فضلا عن علامات الاقتباس المفردة والمزوجة فى بعض الحالات . على سبيل المثال ، الأسطر التالية هى نفسها ، وفى كل حالة يتم كتابة قيمة بايت إلى “c” .

كود:
c=‘\r’;
c=‘\0x0D’;
c=13;
سلسلة الأحرف String of Characters :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-06-2015, 01:47 AM المشاركة 24   
افتراضي


سلسلة الأحرف String of Characters :
لغة السى مجهزة من أجل حفظ الأحرف فى الذاكرة . فى هذه الحالة يمكن أن يكون هناك أى عدد من الأحرف ويتم تحديد النهاية عن طريق حرف "لاشىء" null (وهو بالشكل “\000” ) عند نهاية السلسلة . على سبيل المثال ":    



استخدام علامات الاقتباس المزدوجة يعنى أننا نحدد سلسلة من الأحرف . فى هذه الحالة هناك أربعة أحرف فى السلسلة وخمسة أحرف فى الذاكرة ( أخر حرف هو 0 ) . هذه السلسلة تتطلب 5 بايت من الذاكرة .
يمكن أن يكون داخل السلاسل أحرف خاصة ، على سبيل المثال :  



فى هذه الحالة السلسلة هى نفسها السلسلة السابقة مكونة من 5 بايت ، لكن هنا الأحرف “B” و “C” ممثلة بالسداسى عشرى والثمانى .
من الشائع استخدام الحرف “\r”(return) والحرف “\n”(line feed) فى سلاسل لغة السى . يستخدم نظام ملفات الوندوز هذين الحرفين لتحديد نهاية السطر فى الملف . السلسلة التى تمثل سطرا واحدا فى ملف وعلى الشاشة قد تبدو بالشكل التالى :  



ميزة أخرى مثيرة فى لغة السى ، وهى أنه فى حالة ظهور سلسلتين متتاليتين مع مسافة بيضاء اختيارية بينهما ، عندئذ يتم التعامل مع السلسلتين كسلسلة واحدة كبيرة . على سبيل المثال :




سوف تعطيك نفس نتيجة ما يلى :


لاحظ فى هذه الحالة أن الصفر “0” الموجود بعد حرف “0” قد تم تجاهله ، لذلك فكل من السلسلتين يكون بحجم 9 بايت . يمكن استخدام هذه الميزة عند التعامل مع السلاسل الطويلة جدا التى قد ترغب فى توزيعها على خطوط متعددة . كما أنها أيضا تساعد فى وحدات الماكرو macros ، والتى سوف تغطى لاحقا .

الصواب والخطأ True and False :



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