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

   

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



عوامل التخصيص (التعيين) Assignment Operators
فى لغة السى هناك نوعان من التخصيصات (التعيينات) : البسيطة , والمركبة . فى التخصيصات البسيطة يتم ببساطة تخصيص لتعبير لتعبير آخر أو تنفيذ عملية باستخدام تعبير وتخصيص النتيجة لتعبير آخر :

Expression1 = Expression2
or
Result = Expression1 operation Expression2

أمثلة للتخصيصات البسيطة :
Temp =10;
Cnt = Cnt ‏+ Temp;






التخصيصات المركبة لها الشكل العام :

Result operation = Expression1

هنا يتم تنفيذ العملية المحددة فى التعبير Expression1 ويتم تخزين النتيجة فى Result .

مثال :
التعبير :




j ‏+= k;
هو نفسه التعبير :

j = j+k;

أيضا :
p *= m;

هو نفسه :

p = p * m;






المعاملات المركبة التالية يمكن أن تستخدم فى برامج الميكروسى :

+= -= *= /= %=
&= |= ∧= >>= <<=








3-1-19 تعديل مسار التحكم فى البرنامج Modifying the Flow of Control

اعلانات

الصورة الرمزية mohatvnet
mohatvnet
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: https://t.me/pump_upp
المشاركات: 958
نشاط [ mohatvnet ]
قوة السمعة:
قديم 06-10-2011, 04:03 PM المشاركة 146   
افتراضي


جزاك الله خيرا استاد عبد العزيز

استاد عبد لعزيز لديا سؤال بخصوص هدا الامر في المايكروسي ; return ماهو

دور هدا الامر وشكرا لك من جديد استادي الكريم فتح الله عبد العزيز

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

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


جزاك الله خيرا استاد عبد العزيز

استاد عبد لعزيز لديا سؤال بخصوص هدا الامر في المايكروسي ; return ماهو

دور هدا الامر وشكرا لك من جديد استادي الكريم فتح الله عبد العزيز


أخى الكريم شكرا جزيلا لك

هذه العبار قد توجد ضمن أجزاء الدالة ولبيان ذلك دعنى هذه المرة أخرج عن السياق وارفق بداية الفصل الرابع الخاص بالدوال والمكتبات كاستثناء :


الفصل الرابع : دوال ومكتبات الميكروسى Functions and Libraries in mikroC

4-1 دوال الميكروسى mikroC Functions

الدالة هى مقطع مختص بذاته من كود مكتوب لتنفيذ إجراءات محددة . عادة يتم إنشاء الدوال عندما يجب تنفيذ عملية واحدة فى أجزاء مختلفة من البرنامج الرئيسى . وهى علاوة على ذلك من المهارات البرمجية الجيدة لتقسيم البرنامج الكبير إلى عدد من الدوال الأصغر المستقلة . يتم تنفيذ العبارات داخل الدالة عن طريق إستدعاء (أو إطلاق) الدالة .
الشكل 4-1 يوضح الصيغة العامة لتعريف الدالة . نوع البيانات type يشير إلى نوع البيانات العائدة returned عن طريق الدالة . ويتبع نوع البيانات "اسم الدالة" name ثم مجموعة من الأقواس وبداخلها يتم تعريف بارامترات أو أدلة arguments مفصولة بفواصل . جسم الدالة function body , والذى يتضمن كود عمليات الدالة , يكتب داخل مجموعة من الأقواس المعرجة .








فى تعريف االدالة التالى, اسم الدالة Mult تستقبل بارامتران (دليلان) لأعداد صحيحة هما a و b , وتعود (ترجع) returns بحاصل ضربهما . لاحظ أن استخدام الأقواس فى عبارة العودة هو اختيارى .

int Mult(int a, int b)
{
return (a*b);
}
عندما يتم استدعاء الدالة فأنه عامة يكون من المتوقع أن يكون معطى أعداد البارامترات المعبر عناها فى قائمة أدلة (بارامترات) الدالة . على سبيل المثال يمكن استدعاء الدالة السابقة بالطريقة التالية :

z = Mult(x, y);
حيث z متغير يحتوى على بيانات من نوع الأعداد الحقيقية int . لاحظ أنه تم تعريف الأدلة فى تعريف الدالة وتم تمرير الأدلة عند استدعاء الدالة بشكل مستقل عن بعضهما البعض حتى لو كان لهما نفس الاسم . فى المثال السابق , عند استدعاء الدالة , تم نسخ المتغير x إلى a والمتغير y إلى b عند الدخول إلى الدالة Mult .
بعض الدوال لا تعود بأى بيانات . يجب تعريف نوع بيانات مثل هذه الدوال على أنه "فارغ" void . على سبيل المثال :
void LED(unsigned char D)
{
PORTB D;
}

يمكن استدعاء الدوال الفارغة void بدون تخصيص أى عبارات , لكن نحتلج للأقواس لإخبار المترجم بأنه يتم استدعاء دالة :
LED( );



أيضا بعض الدوال ليس بها أى بارامترات (أدلة) . فى المثال التالى , الدالة المسماة Compl "تكمل" complements المنفذ PORTC للميكروكونترولر . وهى لا تعود بأى بيانات وليس بها بارامترات
void Compl( )
{
PORTC =~_PORTC;
}
يمكن استدعاء هذه الدالة كما يلى :

Compl( );

عادة يتم تعريف الدوال قبل بدء البرنامج الرئيسى .


رضوان حلاق
:: مهندس ::
تاريخ التسجيل: Jun 2010
الدولة: سوريا الاسد \ الشام
المشاركات: 39
نشاط [ رضوان حلاق ]
قوة السمعة:
قديم 10-10-2011, 08:26 PM المشاركة 148   
افتراضي


بارك الله بك وبوالديك دورة في غاية الاهمية

جهد كبير جدا ومميز

نرجو المتابعة جزالك الله كل خير


nassartech
:: مهندس ::
تاريخ التسجيل: Jun 2008
الدولة: Egypt- Cairo
المشاركات: 17
نشاط [ nassartech ]
قوة السمعة:
قديم 11-10-2011, 12:30 AM المشاركة 149   
افتراضي


و الله مجهود جبار جعله الله فى ميزان حسناتك ان شاء الله


ahmadmo17
:: مهندس ::
تاريخ التسجيل: Nov 2012
المشاركات: 4
نشاط [ ahmadmo17 ]
قوة السمعة:
قديم 13-11-2012, 08:37 PM المشاركة 150   
افتراضي


السلام عليكم
شكرا على المجهود الرائع
لي طلب لو سمحتم
انا طالب في المدرسة وليس لدي اي خلفية عن الهندسة الالكترونية لكن الان احتاج لمساعدتكم لان لدي فكرة وسوف اشارك فيها في اولمبياد للابتكارات فأود أن اعمل نموذج للدائرة
فأرجو من يستطيع المساعدة أن يضع ايميله او اي طريقة للتواصل معه



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