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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 25-12-2010, 11:36 AM المشاركة 1   
افتراضي لغة السى :مراجعة: البناء الأساسى لبرنامج السى مع شرح مثال آخر لوميض الليد LED Flasher Twitter FaceBook Google+



لغة السى :مراجعة: البناء الأساسى لبرنامج السى مع شرح مثال آخر لوميض الليد LED Flasher
بناء برنامج لغة السى المطور من أجل الميكروكونترولر هو فى الأساس نفس بناء لغة السى العيارية مع تغيرات بسيطة .الشكل التالى يبين البناء الأساسى لبرنامج لغة السى . ينصح دائما بوصف المشروع فى بداية البرنامج باستخدام أسطر التعليقات . اسم المشروع واسم الملف والتاريخ والمعالج الهدف يجب أيضا أن تضم فى هذا الجزء من البرنامج . ويجب ضم ملفات الرأس الخاصة بالميكروكونترولر المستخدم . كما يجب أيضا أن تحتةى أسطر البرنامج الرئيسى وأى دوال مستخدمة على تعليقات لتوضيح (جلاء غموض) البرنامج .





مثال :
المطلوب كتابة برنامج بلغة السى لتشغيل وتبطيل LED متصل بالخانة bit0 للمنفذ Port B للميكروكونترولر PIC16F84 .
يجب ان يكون هناك واحد ثانية تأخير بين كل خرج .

الحل :
مخطط الدائرة الكهربية لهذا المثال مبين بالشكل التالى .
يتم توليد الساعة باستخدام كريستال 4MHz .
يوصل LED صغير إلى الخانة bit0 بالمنفذ PortB خلال مقومة تحديد للتيار بقيمة 470 ohm .



قائمة البرنامج كما فى الشكل التالى .
· يتم تهيئة (إعداد) أطراف المنفذ Port B كمخارج بالعبارة : "TRIAB = 0" .
· يتم تشكيل حلقة غير منتهية endless loop بعبارة التحكم while(1) .
· يتم تشغيل LED بجعل الخانة فى الحالة المرتفعة " PB.B0 = 1" وتبطيله " بجعل الخانة فى الحالة المنخفضة PB.B0 = 0" داخل هذه الحلقة .
· تستخدم الدالة wait(1000) فى توليد تأخير لمدة ثانية واحدة بين كل خرج .



اعلانات
إضافة رد

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

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

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


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

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