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

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 10-09-2012, 02:28 PM المشاركة 1   
افتراضي دورة جديدة فى كتاب جديد وبرمجة الميكروكونترولر PIC بلغة السى والمترجم ميكروسى برو >>> Twitter FaceBook Google+



دورة جديدة فى كتاب جديد وبرمجة الميكروكونترولر PIC بلغة السى والمترجم ميكروسى برو والمحاكاة ببرنامج بروتيس Proteus ISIS

المرجع :







مقدمة :
هذا الكتاب يتناول الموضوعات المتعلقة بتصميم الأنظمة بالميكروكونترولر , العائلات 12F و 16F و 18F, باستخدام المترجم الميكروسى برو MikroC PRO وبرمجيات المحاكاة ضمن الحزمة Proteus .
لفهم هذا الكتاب بوضوح يجب على الطالب أو المطور أن يكون لديه أساس متين من الإلكترونيات الرقمية , مثل الدوائر التوفقية combinational والتتابعية sequential . ومن المفيد أيضا أن يكون لديه معرفة أساسية بالبرمجة بلغة السى وبالخوارزميات algorithms . بنفس الطريقة , يجب أن يعرف نظرية الدوائر الكهربية , والدوائر الالكترونية التناظرية , والنظريات الجبرية الأساسية , والجبر الخطى , والتعامل مع الأعداد المركبة بجميع صورها . هذا الكتاب يركز على استعراض التصميمات البسيطة والتى يمكن بعد ذلك أن تكون متكاملة لتنفيذ تصميمات أكثر تعقيدا اعتمادا على احتياجات المطور .

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 10-09-2012, 03:43 PM المشاركة 2   
افتراضي


1- الميكروكونترولر PIC والمترجم MikroC :
أ‌- الميكروكونترولر PIC :
الميكروكونترولر هو دائرة كهربية مغلفة فى شكل عل من التكامل . الميكروكونترولر متاح تجاريا من مختلف الصناع مثل Freescale, Motorola, Intel, Philips, Microchip. .
الميكروشسب على وجه الخصوص من صناع الأجهزة الإلكترونية بخطوط إنتاج تعرف بالميكروكونترولر PICmicro, وهى متوفرة فى عائلات محتلفة ومنها : 12F, 16F, 18F, 24F, 30F, 33F .
اعتمادا على حاجة مطور المشروع يجب أن يتم اختيار العائلة والميكروكونترولر الأقرب للحاجة , على سبيل المثال , الميكروكونترولر PIC 12F675 ذات 8 طرف 8 pin مع وحدات (موديولات) متكاملة فى أساس بنائه تتضمن : المؤقت Timer والمحول من تناظرى لرقمى ADC , وميكروكونترولر مثل 16F877 له 40 طرف 40 pins ويتضمن الوحدات : ADC, USART, I2C, PWM وغيرها . بسهولة يمكن تقدير الاختلافات بينهما .



المعلومات التقنية (الفنية) , كمية التسويق والكعلومات التى لا تصدق المنشورة حول الميكروكونترولر PIC , تجعلها نموذجية (مثالية) للتعلم ودراسة عملها , وشركة ميكروشيب لها موقعwww.microchip.com حيث يمكنك تحميل المعلومات والتطبيقات والبرمجيات التى تسهل تطوير البرمجة .
فى الأساس تنفيذ (إنجاز) تطوير الميكروكونترولر PIC (البرمجة) يتضمن تحديد نقاط التطوير , إنشاء create وتحرير edit وتصحيح debugالبرنامج و حرق (تحميل) البرنامج بالميكروكونترولر كهربيا بجهاز برمجة خاص للميكروكونترولر PICmicro .
شركة ميكروشيب تقدم أجهزة برمجة متخصصة بمستويات مختلفة , ولعل أكثرها إنتشارا هو :
PICSTART Plus و PICkit2 و PICkit3 . ومع ذلك يوجد أجهزة برمجة تجارية والتى يمكن للمكور بناؤها أو شراؤها .

الميكروكونترولر له بنية أساسية مماثلة لتلك التى لسطح المكتب بالكومبيوتر , فلها كتلة OTP أو ذاكرة Flash والتى يتم تخزين تعليمات البرنامج program instructions بما يشبه القرص الصلب للكومبيوتر , الميكروكونترولر PICmicro له ذاكرة للوصول العشوائى RAM والتى تؤدى نفس وظائف ذاكرة RAM بالكومبيوتر الشخصى , والميكروكونترولر له منافذ ports دخل input وخرج output والتى تماثل منافذ طرفيات الدخل والحرج للكومبيوتر مثل الماوس والطابعة والشاشة ولوحة المفانيح وغيرها .
هذه المميزات تجعل من الميكروكونترولر مثالى لإنشاء التطبيقات الصغيرة والتى لها واجهة للمستخدم , ولوحة مفاتيح مهيئة , ومفاتيح ضاغطة , وقارىء مخزن الذاكرات كبيرة السعة . وأجهزة الاستشعار للمتغيرات المختلفة مثل درجة الحرارة , والرطوبة , والضغط , والإضاءة . والتقارب وما إلى ذلك . وبالمثل , فمن الممكن إنشاء بيئات العرض المرئى بأرقام وحروف أبجدية ورسومات . المنافذ التسلسلية USARTUSB , يمكن أن تنشأ اتصال مع الأجهزة الأخرى .

ب‌- المترجم The compiler MikroC PRO :

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 10-09-2012, 08:09 PM المشاركة 3   
افتراضي


ب- المترجم The compiler MikroC PRO :
تستند برمجة الميكروكونترولر على كود (شفرة) الآلة machine codeوالذى بدوره يعتمد على لغة الأسمبلى assembly, هذه اللغة تحتوى على تعليمات برمجية مباشرة لكود الآلة ومترجم هذه اللغة يسمى الأسمبلر asembler ومن خلاله يتم التحرير (كتابة البرنامج) بطريقة مملة (للبعض) . شفرات برامج الأسمبلى تكون كبيرة وقد يكون من الصعب فهمها . أنشاء مترجمات compilers اللغات رفيعة المستوى سهلت إنشاء وتحرير البرامج . هناك العديد من المترجمات التجارية للغات المختلفة . دراسة هذا الكتاب تركز على المترجمMikroC PRO وهو مترجم للغة السى للعائلات 12F, 16F, 18Fللميكروكونترولر PICmicro .
مترجم الميكروسى برو هو حزمة برمجيات software package بمجموعة واسعة من الوسائل والأدوات المخصصة لإنشاء المشاريع والتطبيقات للميكروكونترولر PICmicro . من الممكن دراسة بيئة التطوير هذه بعد تحميل (تنزيل) الإصدار التجريبى والذى يحتوى على نفس مميزات النسخة الكاملة , والقيد الوحيد هو حجم شقرة الآلة الذى لا يمكن أن يجاوز 2 كيلوبايت وهذه السعة كافية فى هذه المرحلة . التحميل من الموقع
www.mikroe.com . الشكل التالى يبين مظهر بيئة التطوير .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 10-09-2012, 11:58 PM المشاركة 4   
افتراضي



2- أسس لغة السى Fundamentals of C language :
مقدمة :
يعود تاريخ لغة السى إلى عام 1972 , فقد تم إنشاؤها بمعرفة "مختبرات بيل" Bell Labs كنتيجة للحاجة لإعادة كتابة أنكمة التشغيل "يونيكس" UNIX من أجل تحسين شفرة الأسمبلى المعروفة . وبالمثل , كانت لغة السى تطورا للغة سابقة تسمى B و BCPL . وبسرعة أخذت لغة السى الجديدة مكانها فى أنظمة الكومبيوتر التى تتطلب شفرات الآلة .
شكل لغة السى , يستند على هيكلة معقدة والتى تتطلب دراسة مستفيضة لها , ولكن لطالب برمجة الميكروكونترولر يتطلب جزء أساسى يسمح للبدء وإنشاء المشاريع الأولى بالميكروسى برو , لهذه الغاية فإن الفصل الحالى يركز على المفاهبم التى نحتاجها لمعرفة بداية دراسة الميكروكونترولر بهذا الكتاب .

1- إعلان المتغيرات فى لغة السى Declaration of variables in C
المتغيرات الأساسية المحددة بهذا المترجم بالتحديد هى :
  • البت bit .
  • الحرف char .
  • القصير short .
  • العدد الصحيح int .
  • الطويل long .
  • العدد الحقيقى بعلامة عشرية أو "العائم" float .
  • المزدوج double .
يمكن لمتغيرات البت bitvariablesتخزين قيمة منطقية logical value وهى ( "صواب" true أو "خطأ") أو 0)أو 1 ).
تستخدممتغيرات الحرف Char variables لتخزين أحرفcharacters مشفرة بكود أسكى ASCII code , وهى مفيدة لتخزين الحروف letters أو النصوص texts .
المتغير الذى يخزن عدد صحيح قصير shortأى 8-bitيمكن أن تكون قيمته قصيرة : -127 to 127 .
تستخدم متغيرات العدد الصحيح Int variablesلتخزين أعداد صحيحة 16-bit ., هذا المتغير يمكن أن يخزن الأعداد -32767 to 32767 .
يستخدم المتغير من نوع الأعداد الصحيحة الطويلة long لتخزين 32 bits , ويكون مداه :
-2147483647 To 2147483647 .
المتغيرات من النوع float و double تسمح لك بتخزين الأعداد ذات الفاصلة العشرية .
يمكن أن يتم إعلان (تعريف) declared بما فى ذلك الإشارة الموجبة أو السالبة أو يمكن أن يتم إعلانها باستخدام التوجيه الخيارى unsigned .
الجدول التالى لتحديد خصائص المتغيرات :

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

فى الأمثلة التالية يمكننا أن نرى كيف تم عمل التعبيرات statements:

كود:
bit VARIABLE1_BIT ; // Declaring a bit variable. char character; // Declaring a char variable. charCARACTER2 = 'J'; // Declaration a variable type char initialized with //the ASCII value of the character J. int INT = 1234; // Declaring a variable initialized whole // the value 1234. float DECIMAL = -12.45; // Declaring a variable with decimal point // initialized with the value -12.45. double DECIMAL2 = 56.68; // Declaring a variable with decimal point // initialized with the value 56.68. long INTEGER2 = -954 261; // Declaring a long integer variable // initialized with the value -954 261

الأمثلة التالية تبين كيفية إعلان المتغيرات بدون الإشارة variables unsigned :

كود:
unsigned char CHARACTER // Declaring a variable unsigned char. unsigned int INT; // Declaring an unsigned integer variable. unsigned long INTEGER2 // Declaring of a variable of type unsigned long





الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 11-09-2012, 10:08 AM المشاركة 5   
افتراضي


يمكن أيضا إعلان المتغيرات فى شكل format يجمع بين عدة متغيرات لها نفس الاسم , هذا الشكل يعرف بمتغير السلسلة string variable أو "المتجه" vector ويمكن حتى أن يكون مصفوفة من المتغيرات ذات بعد واحد أو أكثر من بعد .

المثال التالى يوضح متجه الحروف ويعرف أيضا بالسلسلة :

كود:
char text [20]; // String with 20 memory locations.





بالمثل يمكن إعلان السلسلة أو المتغيرات بقيمة ابتدائية , هذا النوع من التعبير يوضحه الأمثلة التالية :



كود:
char text [20] = "New Text" // Declaration of a string. // initialized with the text: New text. int Integers [5] = {5,4,3,2,1}, // Declaration of a string of integers with // initial values​​. float Decimal [3] = {0.8,1.5,5.8}; // Declaration of a string of numbers with // initialized decimal point





عند إعلان المتغيرات يجب اتباع بعض القواعد الأساسية لتجنب الأخطاء والتناقضات عند ترجمة شفرة البرنامج , لهذه الغاية نهتم بالتوصيات التالية :
  • يجب عدم تكرار أسماء المتغيرات .
  • يجب عدم بدأ المتغيرات برقم .
  • يجب عدم استخدام الحروف الخاصة مثل / * "{} - \! & % بالمتغير .

فيما يلى أمثله لإعلانات متغير بطريقة غير صحيحة :


كود:
bit 1_VARIABLE-; char-CHARACTER!; int 3ENTERO*;


1- التنسيقات الرقمية المستخدمة في لغة السى :C


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 11-09-2012, 12:55 PM المشاركة 6   
افتراضي


2- أنظمة الأعداد المستخدمة في لغة السى :C
تستخدم تطبيقات لغة السى الأشكال المختلفة للأعداد , على الرغم من أنه من أجل تقليل عمل الميكروكونترولر فإن جميع أعدادة يتم معالجتها على أساس اثنين من الأرقام الثنائية .البشر ليسوا معتادين على التفكير ومعالجة العمليات الحسابية على هذا الأساس . فمنذ المراحل الأولى فى المدارس والكليات الأكاديمية تتم الدراسة والتفكير ومعالجة كافة العمليات الحسابية بالأساس 10 أى بالأرقام العشرية . وهذا هو السبب فى أن مترجمات لغة السى تقدم تسهيلات للعمل بالأعداد العشرية لمصممى البرامج . بجانب النظام العشرى decimalيمكن لمترجم لغة السى أن يعمل بأى أساس آخر مثل الأساس الثنائى binary و السداسى عشر hexadecimal مما يسهل العمليات الحسابية والمهام والتى قد تكون أكثر صعوبة بالنظام العشرى . أنظمة الأعداد بالأساس 2, 10, 16يتم تنفيذها بمترجم لغة السى .
كتابة الأعداد العشرية هو شكل من التبسيط لأنه يكتب فى لغة السى بالطريقة القياسية التى تعلمناها من بداية تعلم الرياضيات .
أعداد الأساس 2أو الأعداد الثنائية يتم كتابتها بالبدء بكتابة 0bيليها العدد بالثنائى , مثال ذلك : 0b10100001 والذى يكافىء العدد العشرى 161 .
أعداد الأساس 16 أو السداسية عشر يتم كتابتها بالبدء بكتابة 0x يليها العدد بالسداسى عشر , مثال : 0x2A والذى يكافىء العدد العشرى 42.
الأعداد الثنائية رقمين فقط 0 و 1. الأعداد السداسية عشر 16 رقم :
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E , F .

3- العوامل فى لغة السى Operators in C :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 11-09-2012, 08:28 PM المشاركة 7   
افتراضي


1- العوامل فى لغة السى Operators in C :
تسمح لغة السى بإجراء العمليات الحسابية الأساسية بين الأعداد سواء المتغيرات أو الثوابت . العمليات الحسابية المتاحة هى :
  • الجمع Sum .
  • الطرح subtraction .
  • الضرب Multiplication .
  • القسمة Division .
  • باقى قسمة الأعداد الصحيحة modulus .

تتم العملية الحسابية للجمع بين عددين أو أكثر كما هو موضح بالمثال التالى :
int A;
int B;
int C;
C = A + B; // This expression holds the sum of A and B in the variable C.
C = A + B + C; // This expression holds the sum of A, B and C in the variable C.




تتم العملية الحسابية لطرح بين عددين أو أكثر كما هو موضح بالمثال التالى :

int A;
int B;
int C;
C = A-B;
// This expression holds the difference between A and B in the variableC.

C = A-B-C; //
This expression holds the difference between A, B and C in the variable C.






يمكن إجراء العملية الحسابية للضرب بين عددين أو أكثر , هذه العملية ترتبط بحرف النجمة
asterisk character (*) , الأمثلة التالية تبين ذلك بوضوح :
int A;
int B;
int C;
C = A * B;
// This expression keeps the multiplication between A and B in the variable C.
C = A * B * C ; // This expression holds the multiplication between A, B and C in the variable C.






يتم تحديد العملية الحسابية للقسمة عن طريق الشرطة المائلة slash (/) , المثال التالى يبين طريقة التنفيذ :

int A;
int B;
int C;
C = A / B; // This expression keeps Division A from B in the variable C.





ملاحظة :
نتيجة قسمة عددان صحيحان تكون عدد صحيح , وببساطة يتم التخلص من باقى القسمة كما يلى :

7 / 4; /* equals 1 */
7 * 3 / 4; /* equals 5 */


معامل باقى القسمة يقوم بحساب باقى العملية الحسابية للقسمة ويرمز له بالحرف (%) , المثال التالى يبين طريقة تنفيذ هذه العملية :
int A;
int B;
int C;
C = A% B;
// save the residue in expression of the division of A at B in the variable C.

/* for example: */
9 % 3; /* equals 0 */
7 % 3; /* equals 1 */
-7 % 3; /* equals -1 */








يمكن استخدام العوامل الحسابية فى مجموعات , بمعنى خلط عدة عوامل فى نفس التعبير , المثال التالى يوضح ذلك :
int A;
int B;
int C;
C = (A + B) / C; // ​​This expression is equivalent to C = (A + B) ÷ C.
C = (A / B) * C; // This expression is equivalent to C = (A ÷ B) X C.






يمكن استخدام اختصارات العوامل الرياضية الأخرى عند العد count أو عندما يتطلب التغيير المستمر , على سبيل المثال من الممكن زيادة أو نقصان متغير من حيث العدد , وبنفس الطريقة يمكنك القيام بذلك مع الضرب والقسمة . لفهم هذا المفهوم بوضوح تام راقب هذا المثال :

int A = 100;
int B = 10;
A++; // This operator increments value of A by one.
A--; // This operator decrements the value of A by one.
A
+= 4; // This operator increases the value of A by 4.
A -= 5; // This operator decreases the value of A by 5.
A /= 4; // This operator divides the value of A at 4.
A *= 3; // This operator multiplies the value of A by 3
.

A += B; // This operator increases the value of A by the value of B.
A *= B; // This operator multiplies the value of A times B.






ملاحظات :
  • وجود مسافة تفصل العوامل المركبة مثل (+ =) سوف تسبب خطأ .
  • التعبير:
expression1 += expression2
A += B ;






هو نفسه التعبير :
expression1 = expression1 + expression2.
A = A +B ;




يمكن إجراء عمليات حسابية أكثر تعقيدا فى لغة السى , باستخدام الدوال المعرفة مسبقا بمكتبة الرياضيات math library .

العوامل المنطقية :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 12-09-2012, 12:45 AM المشاركة 8   
افتراضي


العوامل المنطقية Logical operators بين البتات المفردة Bitwise:
تتيح لك العوامل المنطقية تنفيذ إجراءات أو عمليات التى تخضع للمنطق الرقمى digital logic الذى شيده عالم الرياضيات الانجليزى "جورج بول" George Boole فى القرن التاسع عشر . هذه العمليات البولية (المنطقية) هى AND, NOT, XOR, NOR, NAND, XNOR وهى تدرس بتوسع فى منهج الأنظمة الرقمية المركبة combinational والتتابعية sequential .
يتم تنفيذ العمليات المنطقية فى لغة السى بين متغيرين أو ثابتين , فأنت تقوم بالتعامل مع بت مفردة bitwise , عند نفس الوزن weight بالمتغير أو بالعدد . لمعرفة وفهم الأمثلة تذكر أولا جداول الحقيقة للعمليات المنطقية والموضحة أدناه :











يتم تركيب العمليات المنطقية فى لغة السى بالأحرف الخاصة التى تدل على كل واحدة منها , فيما يلى سرد لتطبيقات العوامل المنطقية :
  • العامل المنطقى NOT (النفى) ويرمز له بالحرف (~) .
unsigned short VALUE1 = 0b01010000; // Variable initialized to binary number 80.
unsigned short RESULT;
RESULT = ~ VALUE1; // ​​the RESULT variable stores the complement VALUE1, 175.





  • العامل المنطقى OR (أو الشامل inclusive) ويرمز له بالحرف (|) :
unsigned short VALUE1 = 0b01010000; // Variable initialized to binary number 80.

unsigned short VALUE2 = 0b01011111; // Variable initialized to binary number 95.
unsigned short RESULT;
RESULT = VALUE1 | VALUE2; // ​​The value of the logical or is stored in RESULT, 95.






  • العامل المنطقى XOR (أو الحصرى exclusive ) ويرمز له بالحرف (^) :
unsigned short VALUE1 = 0b01010000; // Variable initialized to binary number 80.

unsigned short VALUE2 = 0b01011111; // Variable initialized to binary number 95.
unsigned short RESULT;
RESULT = VALUE1 ^ VALUE2;// ​​The value of the logical XOR is stored in RESULT, 15.









  • العامل المنطقى AND ويرمز له بالحرف (&) :
unsigned short VALUE1 = 0b01010000; // Variable initialized to binary number 80.

unsigned short VALUE2 = 0b01011111; // Variable initialized to binary number 95.
unsigned short RESULT;
RESULT = VALUE1 & VALUE2; // The value of the logical AND is stored in RESULT, 80.







تنفيذ العمليات المنطقية NAND, NOR, XNOR يشبه العمليات المنطقية AND, OR, XOR مع إضافة حرف النفى (~), كما فى الأمثلة التالية :

unsigned short VALUE1 = 0b01010000; // Variable initialized to binary number 80.
unsigned short VALUE2 = 0b01011111; // Variable initialized to binary number 95.
unsigned short RESULT;
RESULT = ~ (VALUE1 | VALUE2); // The value of the logical NOR, is stored in RESULT.
RESULT = ~ (VALUE1 & VALUE2); // The value of the logical, NAND Is stored in RESULT.
RESULT = ~ (VALUE1 ^ VALUE2); // The value of the logical XNOR, stored in RESULT.







  • إزاحة البت داخل المتغير مفيد للعمليات والمهام التى تنطوى على المناورة بالبيانات على مستوى البت . الإزاحة جهة اليمين لقيمة المتغير إو الثابت بلغة السى تتم من خلال الحروف (>>) , كما أن الإزاحة جهة اليسار تتم من خلال الحروف (< <) . معامل الإزاحة يسبب فقدان بقيم البتات التى تخرج ويدخل بدلا منها أصفار . الأمثلة التالية توضح طريقة التعامل مع هذه المعاملات:
short DATA = 0xFF; // Declaration of variables.


short RESULT;
RESULT = DATA >> 4; // This saves the result in the variable shift 4 bits
// to the right of the variable DATA final result value is 0x0F.
RESULT = DATA << 4; // operation is stored in the variable result the shift of 4 bits
// to the left of the variable DATA final result value is 0xF0.







الجداول التالية تلخص العوامل الحسابية والمنطقية كما سبق توضيحها :








4- الدوال فى لغة السى Functions in C

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2024