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

   

abuhajer06
:: مهندس ::
تاريخ التسجيل: Jul 2007
المشاركات: 42
نشاط [ abuhajer06 ]
قوة السمعة:
قديم 25-10-2009, 11:57 PM المشاركة 17   
افتراضي



الشكر والفضل لله أخى العزيز

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

اعلانات

الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 26-10-2009, 12:45 AM المشاركة 18   
افتراضي


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


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

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 895
نشاط [ robota ]
قوة السمعة:
قديم 26-10-2009, 07:12 AM المشاركة 19   
افتراضي


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


الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 26-10-2009, 12:37 PM المشاركة 20   
افتراضي


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


الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 29-10-2009, 10:18 PM المشاركة 21   
افتراضي


الدرس الخامس

برمجة الميكروكنترولر


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

هناك حلان لهذه المشكلة وكل منهما يحتاج لشكل من أشكال الترجمة اى اننا نحتاج الى مترجم translator. فعلى ذلك نستطيع كتابة البرنامج باللغة الإنكليزية أو بأى شيء قريب منها ، ومن ثم الحصول على شيء يترجم النتائج إلى أرقام.
وبدلا من ذلك ، فيمكن استخدام المجمع
Assembler والذى يقوم بترجمة اللغة الانجليزية الى لغة مشابهة للارقام فعن طريقه وبخطوة بسيطة وسريعة يمكن تحويل ما تم كتابته باللغة الانجليزية الى رموز العددية numerical codes والتى يكون الميكروكنترولر قادر على فهمها.

هذين النقيضين يعرفان بعملية البرمجة بلغة عالية المستوى high-level language (تستخدم فيها اللغة الانجليزية) أو البرمجة بلغة منخفضة المستوى low-level language (لغة التجميع). الطريقة الأولى هي عادة ما تكون أسرع وأسهل للمبرمج ، لكنها تستغرق وقتا أطول لتشغيل البرنامج ، وذلك بسبب الحاجة إلى ترجمة كل ما تم كتابته للميكروكنترولر. والطريقة الثانية هي أبطأ بكثير بالنسبة للمبرمج فهى تستغرق وقت أطول عند البرمجة ، ولكنها تقوم بتنفيذ البرنامج والإنتهاء منه بسرعة كبيرة داخل الميكروكنترولر.


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


عملية البرمجة بالفلوكود
برنامج فلوكود 'Flowcode' يوفر طريقة سهلة لبرمجة البيك ميكروكنترولر ، حيث انه بمجرد الانتهاء من تصميم مخطط التدفق للبرنامج على شاشة الكمبيوتر وبضغطة زر واحدة يتم ترجمة الى الرمز العددي.
وهنا توجد عملية تحتاج الى الفهم !!! وهى ان فلوكود يمرر البرنامج الذى قمنا بتصميمه من خلال عدد من العمليات قبل ان يتم ارساله الى البيك ميكرو
أولا يقوم فلوكود بمعالجة البرنامج للحصول على كود السى C code ثم بعد ذلك يتم تمريره من خلال المجمع assembler للحصول على كود الاسمبلى وفى النهاية يتم تحويله الى نظام العد الساس عشر او كود الهيكس Hex code وهذا مايفهمه البيك ميكرو. كود الهيكس هذا يتم ارساله بعد ذلك الى الميكروكنترولر.

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



يقوم البرنامج الفرعى PPP بحرق كود الهيكس في ذاكرة البرنامج program memory للميكروكنترولر والتى هى من النوع EPROM هذا يعني أن البرنامج لا يفقد او يضيع فى حالة ازالة الميكروكنترولر من المبرمجة لاستخدامه فى دائرة المشروع. بالإضافة الى أن استخدام هذا النوع من الذاكرة يتيح لنا اعادة استخدامها واعادة الكتابة عليها (ذاكرة البرنامج) عن طريق برنامج جديد.



التعديل الأخير تم بواسطة : noornader بتاريخ 29-10-2009 الساعة 10:40 PM

الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 30-10-2009, 03:38 PM المشاركة 22   
افتراضي


تابع الدرس الخامس:
برمجة الميكروكنترولر


ما هو برنامج فلوكود
فلوكود برنامج من إنتاج شركة ماتركس يستخدم لبرمجة الميكروكنترولر باستخدام مخطط التدفق. يحتوى فلوكود على رموز أساسية main icons لرسم مخطط التدفق ومكونات إلكترونية electronic components تسمح لنا بإنشاء نظام إلكتروني افتراضي على الشاشة. والشكل التالى يوضح شكل كل من الرموز والمكونات.




مجموعة المكونات كبيرة فهى تتضمن مفاتيح تشغيل بسيطة simple switches وليدات LEDs وشاشة عرض LCD وعارضات سباعية 7segments وغيرها ومزيد من المكونات المتقدمة مثل البلوتوث وخوادم الانترنت. يسمح فلوكود بإنشاء النظم المعقدة التي يمكن تطويرها وإدارتها بسرعة ويدعم فلوكود المتحكمات من النوع فلاش من عائلات PIC12F ، PIC16F ،pic18F


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

  • يوفير الجهد والوقت وذلك عن طريق سهولة وسرعة تصميم النظم الالكترونية المعتمدة على الميكروكنترولر.
  • له واجهة سهلة الاستخدام حيث أنه يمكن ببساطة سحب وإسقاط الرموز المرفقة مع البرنامج على الشاشة لإنشاء نظام إلكتروني دون الدخول فى كتابة سطور التعليمات المرهقة كما فى اللغات الاخرى.
  • أداة سريعة ومرنة فلديه مجموعة من الوظائف الفرعية عالية المستوى التى تؤدى الى سرعة تطوير النظام. بالإضافة الى إنسيابية البرمجة التى تتيح للمستخدمين التطوير المستمر فى تصميم البرامج.
  • يعطى نتائج بدون أخطاء حيث أن نتيجة ما يتم رؤيته من تصميم ومحاكاة على شاشة الحاسوب هو بالفعل ما يحدث على أرض الواقع بعد تحميل البرنامج داخل الميكروكنترولر.
  • يخدم اللغات الأخرى فهو يسمح لك بعرض C code و ASM code لجميع البرامج التى تم إنشاءها


الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 30-10-2009, 03:42 PM المشاركة 23   
افتراضي


تابع الدرس الخامس:
برمجة الميكروكنترولر


خطوات تنفيذ المشروع بفلوكود
تتلخص خطوات تنفيذ المشروع باستخدام برنامج فلوكود الى ثلاثة خطوات رئيسية فقط

الخطوة الأول: تصميم البرنامج Program Design
يتم البدء فى إنشاء مخطط التدفق لبرنامج المشروع عن طريق استخدام خاصيةالسحب والإسقاط drag and drop للرموز والمكونات المطلوبة من واجهة برنامج فلوكود لتصميم المشروع المطلوب. ثم يتم النقر على كل رمز أو عنصر لضبط الإجراءات والخصائص التي نحتاج إليها.

الخطوة الثانية: محاكاة المشروع Project Simulation
بمجرد الانتهاء من تصميم البرنامج المطلوب فإن فلوكود يتيح لنا إمكانية محاكاة النظام وذلك عن طريق الضغط على زر فى قائمة التحكم للبرنامج مختص بذلك. يتيح لنا فلوكود آثار كل خطوة من البرنامج على المكونات والمتحكم وذلك على الشاشة مباشرة. يمكن التبديل والتغيير فى القيم ورؤية تأثير هذه التغيرات على سير البرنامج وبالتالى على نتائج المشروع.

الخطوة الثالثة: توليد كود الهيكس Hex code Generation
عندما ننتهى من المحاكاة والحصول على الشكل االنهائى للمشروع وبعد الرضا الكامل عن النتائج. نقوم بالنقر على زر واحد خاص بتوليد ملف الهيكس فى صورته النهائية تمهيدا لارساله الى الميكروكنترولر باستخدام البرنامج المساعد PPP والمبرمجة. ويجب ملاحظة ان كود الهيكس المتولد من فلوكود (مرورا بكود السى والاسمبلى) يكون متوافق مع معظم انواع المبرمجات.


انتهى الدرس الخامس
وبالتوفيق للجميع



الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 03-11-2009, 02:47 PM المشاركة 24   
افتراضي


الدرس السادس

منافذ الأدخال والأخراج
للمتحكم PIC16F877A


ماهى المنافذ Ports

تعتبر المنافذ واحدة من أهم السمات التى تميز ميكروكنترولر معين عن الآخر. فهى عدد من أطراف الإدخا ل والإخراج المستخدمة للاتصال مع الأجهزة والوسط الخارجى ، ويتميز المتحكم PIC16F877A بأنه يمتلك ما مجموعه خمسة وثلاثين طرف للأغراض العامة للإدخال / الإخراج وهو ما يكفي تماما لمعظم التطبيقات..

هذه الأطراف تم توزيعهم داخليا بنظام 8 بت على خمسة منافذ A, B, C, D, E
وهذه المنافذ لديهم العديد من المميزات المشتركة. معظم أطراف الإدخال/ الإخراج يمكنها القيام بوظيفتين الى ثلاثة وظائف، بحيث إذا تم استخدام طرف ما فى وظيفة معينة .. فانه لا يمكن استخدام هذا الطرف فى الأغراض العامة للإدخال/ الإخراج.


المنفذ Port A
فقط 6 أطراف من الثمانية يمكن أن تستخدم فى هذا المنفذ على النحو التالى

الأطراف من RA0 الى RA5 يمكن استخدمها كمداخل رقمية
الأطراف من RA0 الى RA5 يمكن استخدمها كمخارج رقمية
الأطراف من AN0 الى AN4 يمكن استخدمها كمداخل تماثلية (اى ان عدد المداخل التماثلية لمنفذ A هى خمسة فقط)
والشكل التالى يوضح اماكن اطراف المنفذ A فى المتحكم PIC16F877A



المنفذ Port B
فى هذا المنفذ فإن الأطراف الثمانية كلهم يمكن استخدامهم فى هذا المتحكم على النحو التالى

الأطراف من RB0 الى RB7 يمكن استخدمها كمداخل رقمية
الأطراف من RB0 الى RB7 يمكن استخدمها كمخارج رقمية
يمكن استخدام الطرف RB0 كمقاطعة خارجية
والشكل التالى يوضح اماكن اطراف المنفذ B فى المتحكم PIC16F877A








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