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

   

الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 19-05-2011, 08:20 AM المشاركة 57   
افتراضي



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


اعلانات

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


من الواضح اننا سوف نفهم فلوكود بأسلوب جديد ومشوق


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

أخى الكريم

شكرا جزيلا لك

بارك الله فيك

اكررشكرى لأخى الكريم زكى شاكر ولك على تعريفى وتعريف الجميع على هذا البرنامج وهذه اللغة ووضع القواعد والاسس التى نسير عليها والمساعدة فى الإجابة على السؤال الدائم : أى لغات البرمجة أسهل ؟ ولماذا ؟

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

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

الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 19-05-2011, 10:46 AM المشاركة 59   
افتراضي


أخى الكريم

شكرا جزيلا لك

بارك الله فيك

اكررشكرى لأخى الكريم زكى شاكر ولك على تعريفى وتعريف الجميع على هذا البرنامج وهذه اللغة ووضع القواعد والاسس التى نسير عليها والمساعدة فى الإجابة على السؤال الدائم : أى لغات البرمجة أسهل ؟ ولماذا ؟

مع تمنياتى بدوام التوفيق
الشكر لله اخى الكريم
فعلا اخى العزيز/ زكى شاكر اعطى الكثير فى هذا المجال
و بذل مجهود كبير فى تعريفنا على فلوكود وتبسيطه

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

تحياتى لك والى مزيد من التقدم



الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 19-05-2011, 12:03 PM المشاركة 60   
افتراضي أسس عمل الضوء المتحرك (الجراى) Running light واستخدام المصفوفات Arrays


أسس عمل الضوء المتحرك (الجراى) Running light واستخدام المصفوفات Arrays

الغرض :
تقديم عرض لإضاءة باستخدام مجموعة دايودات مشعة للضوء LEDs وتعلم طريقة استخدام المصفوفات Arrays .

الدائرة الكهربية :

البرنامج :
الليدات مرقمة من 0 إلى 7 ( ثمانية ليدات ). كل ليد متصل بطرف من أطراف منفذ الخرج port B . يتم توصيل الليد المسمى LED0 إلى الطرف B0 والليد المسمى LED1 إلى الطرف B1 وهكذا على سبيل المثال .تكون الليد فى حالة توصيل (إضاءة) on عندما يكون الطرف المتصل به فى الحالة المرتفعة , يتم ذلك بجعله بالقيمة واحد 1 . يمكن تحويل الليد إلى حالة الفصل (إطفاء) بجعل الطرف المتصل به فى الحالة المنخفضة , بجعله بالقيمة صفر 0 .
يمكنك جعل أى طرف مرتفع إذا عرفت مكانه بالمنفذ .
الشكل التالى يبين أى الأعداد العشرية التى سوف تحتاجها لترسلها إلى المنفذ إلى المنفذ بكامله لجعل طرف معين فى الحالة المرتفعة .





فإن رغبت فى جعل الطرف B6 مرتفعا فإنك تحتاج لإرسال العدد 64 إلى المنفذ port B .وإن رغبت فى جعل الطرف B6 والطرف B0 فى الحالة المرتفعة فى نفس الوقت فإنك تحتاج إلى أرسال العدد 64+1=65 إلى المنفذ port B. نظرا لأن كل من الطرفين يتصل به ليد فهذا يعنى أن الليد LED6 والليد LED0 سوف يضيئان . وإذا رغبت فى إضاءة جميع الليدات فى نفس الوقت فعليك وضع الرقم : 1+2+4+8+16+32+64+128 = 255
بارسال صف من الأعداد واحدا تلو الآخر إلى المنفذ يؤدى ببساطة لعرض إضاءة تسمى "الأضاءة المتحركة" أو الجراى . يمكن استخدام مصفوفة صغيرة فى تصميم العرض كما يلى :






تتبع الخطوات التالية :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 19-05-2011, 12:07 PM المشاركة 61   
افتراضي


تتبع الخطوات التالية :
1- أبدأ برنامج جديد واختار الميكروكونترولر PIC16F877A .
2- إنقر على المكون LED وقم بتوصيله إلى المنفذ port B .
3- إسحب رمز الحلقة Loop إلى مخطط مسار البرنامج ثم رمز الحسابات calculation .


4- إفتح رمز الحسابات وأنشأ (عرف – إعلن عن – أحجز ) متغير باسم light وأعطه (خصص له) قيمة العدد الأول فى تصميم عرض الإضاءة وهى 129(129= 128+1).
5- إسحب رمز الخرج output إلى مخطط مسار البرنامج وأرسل (أنسخ) محتويات المتغير light إلى المنفذ port B وتأكد من توصيل المنفذ port B واختيار الخيار "المنفذ بأكمله" entire port .
6- اسحب رمز التأخير إلى مخطط مسار البرنامج واضبطه على 100 ملى ثانية . عندما تنتهى من البرنامج فسوف يبدو كما فى الشكل التالى :

















7- أضف أعداد أخرى من الجدول . استخدم رموز : الحسابات والخرج و التأخير لكل عدد .
8- عندما يكتمل البرنامج إحفظه ثم اضغط على زر تشغيل المحاكاة (المثلث الأزرق) . سوف ترى الآن الليدات تتصرف تماما كما فى التصميم .







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


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


استخدام المصفوفات
يمكن تخزين (حفظ) الأعداد الموجودة بالتصميم فى شكل مصفوفة array , وهى فى الأساس مجموعة من الأعداد (البيانات) والتى تشترك فى نفس الاسم (اسم المصفوفة) مرتبة بترتيب محدد . للتعرف على الأعداد المختلفة داخل المصفوفة يعطى كل عدد رقم مسلسل يسمى index ( دليل - فهرس) . لنأخد هذه المجموعة على سبيل المثال :
129, 66, 36, 24, 0

العدد أو العنصر الأول 129 دليله الصفر ( الكومبيوتر يبدأ العد من الصفر) . وهذا يعنى أن دليل العنصر أو العدد 36 سوف يكون 2 . إذا سمينا المجموعة باسم "light" فأن الدليل يضاف بين قوسين مربعين . على سبيل المثال يتم تمثيل العنصر الذى دليله الصفر كما يلى :
Light[0]=129

الميزه أنه يمكن إدخال متغير أخر يسمى "counter" (على سبيل المثال) والذى يسمح لنا بعمل الآتى :

Light[counter]

إذا كان counter = 0 عندئذ يكون light[counter] = 129 وإذا كان counter = 3 فإن light[counter] = 24 .
البرنامج المعدل :






اتبع الخطوات التالية :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 19-05-2011, 12:25 PM المشاركة 63   
افتراضي


اتبع الخطوات التالية :
1- أنشأ برنامج جديد .
2- عرف متغيرين أحدهما باسم Light[5] (أى كمصفوفة بخمس عناصر من 0 إلى 4) نوع Byte ومتغير آخر باسم Counter (عناصر المصفوفة) نوع Byte .








3- فى بداية البرنامج يتم ضبط المتغير counter على الصفر وتملأ المصفوفة بالأعداد من جدول التصميم إلى رمز الحسابات كما يلى :








4- أضف رمز الحلقة وأرسل قيمة المصفوفة light[counter] إلى المنفذ port B ومن ثم إلى الليدات .










5- أضف تأخير قصير 100 ملى ثانية وعملية تزايد للمتغير counter .









6- وإذا كان counter أكبر خمسة يتم تصفيره مرة أخرى (عداد دائرى) .













7- المحاكاة :

أبدأ تشغيل المحاكاة . تقوم الليدات بعمل نفس الشىء ولكن شكل البرنامج يكون أفضل .




abnidal
:: مهندس متميز ::
تاريخ التسجيل: Nov 2006
الدولة: مصر
المشاركات: 381
نشاط [ abnidal ]
قوة السمعة:
قديم 19-05-2011, 03:58 PM المشاركة 64   
افتراضي السلام عليكم


يا رجل والله ماني عارف ايش اقولك او اشكرك او اشجعك على المتابعة او ارد لك جميلك الاكثر من رائع ! ! !


واختصر ذلك بقولي جزاك الله خيراً .......


استودعك الله



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