برمجة الميكروكونترولر بلغة الفلوكود Flowcode الإصدار الرابع
قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الاليقسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots
من الواضح اننا سوف نفهم فلوكود بأسلوب جديد ومشوق
شكرا جزيلا اخى العزيز/ فتح الله على هذا الابداع فى العرض
أسأل الله لك العون ومزيد من القدرة على العطاء
جزاك الله عن الجميع كل خير
شكرا جزيلا اخى العزيز/ فتح الله على هذا الابداع فى العرض أسأل الله لك العون ومزيد من القدرة على العطاء جزاك الله عن الجميع كل خير
أخى الكريم
شكرا جزيلا لك
بارك الله فيك
اكررشكرى لأخى الكريم زكى شاكر ولك على تعريفى وتعريف الجميع على هذا البرنامج وهذه اللغة ووضع القواعد والاسس التى نسير عليها والمساعدة فى الإجابة على السؤال الدائم : أى لغات البرمجة أسهل ؟ ولماذا ؟
اكررشكرى لأخى الكريم زكى شاكر ولك على تعريفى وتعريف الجميع على هذا البرنامج وهذه اللغة ووضع القواعد والاسس التى نسير عليها والمساعدة فى الإجابة على السؤال الدائم : أى لغات البرمجة أسهل ؟ ولماذا ؟
مع تمنياتى بدوام التوفيق
الشكر لله اخى الكريم
فعلا اخى العزيز/ زكى شاكر اعطى الكثير فى هذا المجال
و بذل مجهود كبير فى تعريفنا على فلوكود وتبسيطه
نسأل الله ان يديم عليه الصحة والعافية وان يبارك له ويجازيه عنا كل خير
اما عن الاجابة عن السؤال الدائم ...
فمن الواضح انه من خلال شرحك وابداعك فى عرض فلوكود
ما سبق منه وما هو قادم بإذن الله ..
سوف تتم الاجابة على السؤال بوضوح
تحياتى لك والى مزيد من التقدم
أسس عمل الضوء المتحرك (الجراى) 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 بارسال صف من الأعداد واحدا تلو الآخر إلى المنفذ يؤدى ببساطة لعرض إضاءة تسمى "الأضاءة المتحركة" أو الجراى . يمكن استخدام مصفوفة صغيرة فى تصميم العرض كما يلى :
تتبع الخطوات التالية : 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- عندما يكتمل البرنامج إحفظه ثم اضغط على زر تشغيل المحاكاة (المثلث الأزرق) . سوف ترى الآن الليدات تتصرف تماما كما فى التصميم .
فى هذه الطريقة يكون البرنامج طويل وقد يخرج فيما بعد عن حدود الصفحات . نظرا لأن الأعمال البرمجية متماثلة فيما عدا أنها تستخدم أعداد مختلفة فبالتأكيد لابد من أن هناك طريقة أسهل .
استخدام المصفوفات يمكن تخزين (حفظ) الأعداد الموجودة بالتصميم فى شكل مصفوفة 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 . البرنامج المعدل :
اتبع الخطوات التالية : 1- أنشأ برنامج جديد . 2- عرف متغيرين أحدهما باسم Light[5] (أى كمصفوفة بخمس عناصر من 0 إلى 4) نوع Byte ومتغير آخر باسم Counter (عناصر المصفوفة) نوع Byte .
3- فى بداية البرنامج يتم ضبط المتغير counter على الصفر وتملأ المصفوفة بالأعداد من جدول التصميم إلى رمز الحسابات كما يلى :
4- أضف رمز الحلقة وأرسل قيمة المصفوفة light[counter] إلى المنفذ port B ومن ثم إلى الليدات .
الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:58 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)