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

   

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



الخطوات :
1- إنشأ مشروع جديد كما سبق باسم GPIO_Lab3.fcf واحفظه فى المسار :
C:\Flowcode\GPIO_Lab3 على سبيل المثال .
2- قم ببناء مخطط مسار لحلقة تحكم برمجية كما فى التجربة السابقة مع إزالة صندوق وظيفة القرار .فى صندوق التهيئة : هىء المتغير LED_Output بحيث تكون الخانة ذات الأهمية القصوى MSB فى الحالة المرتفعة وباقى الخانات فى الحالة المنخفضة أى 0b10000000 .







3- الخطوة التالية بناء صندوق وظيفى القرار باستخدام خصائص ماكرو الفلوكود .
إنشأ ماكرو جديد من القائمة والاختيار Macro>New لتفتح نافذة أنشاء ماكرو جديد . فى الخانة “Name of new macro” "اسم الماكرو الجديد" إدخل Shift_Rt "الإزاحة لليمين " . الخانة “Description of new macro:” لوصف ما يقوم الماكرو بفعله . إدخل الوصف المناسب وانقر على الزر OK لغلق النافذة .








تفتح نافذة مخطط مسار جديد للماكرو Shift_Rt ويجب أن تعرض وصف الماكرو فى أعلا النافذة . يمكن تحرير وصف الماكرو بالنقر المزدوج على النص .
4- الخطوة التالية بناء مخطط المسار للماكرو Shift_Rt . للتحقق (اختبار) من محتويات المتغير LED_Output للحالة التى تكون فيها الخانة LSb فى الحالة المرتفعة set نستخدم رمز القرار Decision icon . إنقر واسجب واسقط رمز القرار من شريط الرموز فى مخطط مسار الماكرو بين صندوق البداية وصندةق النهاية .











5- إفتح نافذة خواص رمز القرار بالنقر المزدوج عليه . إنقر على الزر Variables... الخاص بعبارة “If:” تظهر لك نافذة مدير المتغيرات اختار منها المتغير LED_Output ثم انقر على
Use Variable . فى نافذه خواص القرار غير محتويات خانة “If:” كما فى الشكل لتختبر ما إذا كانت الخانة LSB بالمتغير LED_Output فى الحالة المرتفعة . لاحظ أن الاسم المعروض
“Display name:” تغير ليتلائم مع فعل الرمز وهو مفيد عمليا لتسهيل قراءة وفهم مخطط المسار وخصوصا عند يشاهد الكود شخص آخر غير الذى قام ببناءه .





إنقر على الزر OK لغلق النافذة .
6- إذا كانت الحالة الموجودة هى أن الخانة LSB بالمتغير LED_Output فى الحالة المرتفعة عندئذ يجب على الماكرو إعادة تهيئة البيانات لجعل الخانة MSB فى الحالة المرتفعة . لتحقيق ذلك , إنقر واسحب واسقط رمز حسابات Calculation icon فى تفريعة “Yes” لرمز القرار كما فى الشكل التالى :



اعلانات

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


7- إفتح نافذة خواص رمز الحسابات وهيئه كما فى الشكل التالى :





8- فى حالة عدم تحقق شرط الخانة LSB بالمتغير LED_Output عندئذ ببساطة يقوم الماكرو بإزاحة جميع البيانات بمقدرا موقع خانة واحدة لجهة اليمين . إنقر واسحب واسقط رمز حسابات آخر فى تفريعة “No” برمز القرار قبل تقاطعه مع رأس السهم من الرمز المضاف فى الخطوة السابقة .









9- إفتح نافذة خواص رمز الحسابات وهيئه كما فى الشكل التالى :









لاحظ مؤثر (معامل) الإزاحة جهة اليمين “>>” . هذا الكود يعنى " إجعل المتغير LED_Output يساوى نتيجة إزاحة بيانات المتغير LED_Output إلى اليمين بمقدار موقع خانة واحدة " .
لإزاحة المحتويات بمقدار 2 خانة فسوف يصبح الكود LED_Output = LED_Output >> 2 .
إذا أردنا إزاحة محتويات المتغير LED_Output لجهة اليسار نستخدم مؤثر (معامل) الإزاحة لليسار أى “<<” .
الآن اكتمل الماكرو Shift_Rt ويصبح شكل مخطط المسلر كما يلى :







10- الآن تم بناء الماكرو وسوف يحتاج لاستدعاءه من مخطط المسار الرئيسى .
يتم العودة إلى مخطط المسار الرئيسى بالنقر فوقه . لاستدعاء الماكرو Shift_Rt إنقر واسحب واسقط رمز الماكرو Macro من شريط أدوات الرموز وأدرجه فى مخطط المسار الرئيسى قبل صندوق الوظيفة Do_Outputs مباشرة كما فى الشكل التالى :








11- إفتح نافذة خواص رمز الماكرو حيث يعرض جميع الماكروهات المستخدمة فى هذا المشروع . اختار الماكرو Shift_Rt بالنقر عليه . بعد ذلك غير الاسم المعروض إلى Decide وانقر على الزر OK .




التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 11-06-2011 الساعة 01:39 AM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

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


12- مخطط المسار النهائى سوف يصبح كما فى الشكل التالى :







  • شغل المحاكاة وتأكد من تنفيذ المهمة المطلوبة " وميض الليدات المتصلة بأطراف المنفذ PORTC على التتابع من اليسار إلى اليمين بفاصل زمنى قدره واحد ثانية .
  • ترجم البرنامج للحصول على الملف HEX اللازم لتحميله على الميكروكونترولر المستهدف .


الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 11-06-2011, 07:21 AM المشاركة 28   
افتراضي


شكرا جزيلا لك اخى العزيز/ فتح الله
على هذه التجارب والشرح الرائع
جزاك الله عن الجميع كل خير


abnidal
:: مهندس متميز ::
تاريخ التسجيل: Nov 2006
الدولة: مصر
المشاركات: 381
نشاط [ abnidal ]
قوة السمعة:
قديم 11-06-2011, 05:54 PM المشاركة 29   
افتراضي السلام عليكم ورحمه الله


بارك الله فيك

جزاك الله خيرا



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


شكرا جزيلا لك اخى العزيز/ فتح الله

على هذه التجارب والشرح الرائع
جزاك الله عن الجميع كل خير
أخى الكريم

شكرا جزيلا لك

بارك الله فيك

مع تمنياتى بدوام التوفيق


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


بارك الله فيك

جزاك الله خيرا

أخى الكريم

شكرا جزيلا لك

بارك الله فيك

مع تمنياتى بدوام التوفيق


الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 11-06-2011, 10:59 PM المشاركة 32   
افتراضي


بارك الله فيك استاذ العزيز ماشاء الله دروس ممتازة جزاك الله كل الخير



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