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

مشاهدة نتائج الإستفتاء: هل ترى أهمية لدورة تشرح لغة (mikroBasic) لبرمجة البيك ؟
موضوع فى غاية الأهمية و ضرورى جدا ... ... 1 23 95.83%
موضوع هام ولكن يوجد ما يكفى ... ... 2 1 4.17%
موضوع مكرر ولا داع لبذل المزيد من الجهد ... 3 0 0%
المصوتون: 24. أنت لم تصوت في هذا الإستفتاء

   

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 15-04-2010, 08:11 PM المشاركة 57   
افتراضي



لقد عجزت الكلمات ان تعطيق حقق هذه الدورة اكثر من رائعه
جزاك الله خيرا على تقديرك ومشاعرك
--------------------------------------








شرح خطوات البرنامج
------------------------

فى البداية نقوم بتعريف المنافذ ( أطراف المتحكم ) أيهما سيكون أطراف خرج وأيهما سيكون دخل
=================

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

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

... = ... TRIS و نفهمها على أن معناها اجعل المنفذ ... = ...

ونعطى القيمة التى نريدها للسجل ( للمنفذ ) والقيمة تعطى بأى نظام من أنظمة العد التى ذكرناها فى البداية سواء عشرى أو سداسى عشر أو ثنائى ، كما نحب وها أنا كتبتها بالنظام الثنائى هكذا

كود:
trisb = %11

نلاحظ إضافة العلامة المئوية قبل الرقم فى حالة الكتابة بالنظام الثنائى ، حيث أن هذه العلامة ليفهم البرنامج أنك تكتب الرقم بالنظام الثنائى وبذلك فإن الرقم الذى كتبناه وهو 11 هذا يعنى أن أول خانة فى السجل ( المنفذ ) والتى تسمى الخانة الأولى ( البت الأول ) RB0 فإننا أعطيناه قيمة 1 وأما الرقم 1 الثانى فهو خاص بالبت الثانى RB1 حيث أننا قمنا بإيضاح هذه الجزئية فى كلامنا عن البتات والسجل فى بداية الدورة ، وبهذا فإننا نعنى بالرقم 11 والمسبوق بعلامة مئوية أن قيمته تعنى واحد واحد أى دخل على البت الأول و دخل على البت الثانى ،

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



الآن قمنا بإعداد طرفى RB0 , RB1 ليكونا طرفى إدخال . طبعا نحن لم نذكر باقى المنفذ واقتصر التحديد على بتان فقط من المنفذ لأننا لسنا فى حاجة لباقى هذا المنفذ فتجاهلنا باقى الأطراف .

------------------

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


كود:
trisd = 0

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

-------------


كود:
portd = 0

لإطفاء البورت D حيث أن كلمة بورت أى اجعل المنفذ يكون كذا ( اخراج فولت أو إطفاء ) وبما أننا لم نحدد طرف معين فيكون الصفر هنا لكامل المنفذ

-------------

أما هذه التعليمة

كود:
Kk = 0

فهى لتخزين قيمة صفر فى المتغير Kk وهذا المتغير نستخدمه كما سيأتى شرحه

---------------

أما هذه التعليمة

كود:
if portb.1 = 0 then 
 
Kk = 1
 
end if 


فهى تعنى أنه

إذا كان البورت B البت رقم 1 = صفر نفذ ( اجعل ) Kk تساوى 1

--------------

هذه التعليمات فهى

كود:
  
if portb.1 and Kk = 1 then  
 
Kk = 0 
  
Cc = Cc + 1 
  
if Cc > 4 then Cc = 4 
 
end if  
 
end if


إذا منفذ B البت رقم 1 و فى نفس الوقت المتغير Kk يساوى كل منهما ( واحد )

إذن نفذ الآتى

Kk = 0 لجعل هذا المتغير صفر كى لا يتم حساب قيمة اضافية للمتغير Cc فى حالة أن يظل المستخدم ضاغط على المفتاح حيث أنه سيتم تكرار المراقبة من خلال البرنامج

------

Cc = Cc + 1 أى أضف واحد للمتغير Cc

إذا كان Cc أكبر من 4 اجعله يساوى 4

إنهى فعل الشرط

إنهى فعل الشرط الثانى أيضا

-------------

فهمنا الآن أن KK تساوى 0 بعد أن نضغط على مفتاح الإدخال وبعد إدخال القيمة فى المتغير Cc تعود Kk لتساوى واحد كى لا يتم اضافة قيم للمتغير Cc ولكى لا يتحقق الشرط السابق ولن تعود Kk صفرا إلا بعد أن يتم تحرير المفتاح SET بهذه التعليمة القادمة :-



كود:
  
if portb.1 = 0 then
 
 Kk = 1  
  
   end if 


باقى البرنامج واضح جدا لمن فهم الخطوات السابقة ويحتوى على تعليمات لإخراج النتائج على ليدات



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


التعديل الأخير تم بواسطة : wleed antar بتاريخ 19-04-2010 الساعة 10:09 PM
اعلانات

Faisal.AlObaidl
:: مهندس ::
تاريخ التسجيل: Oct 2009
المشاركات: 17
نشاط [ Faisal.AlObaidl ]
قوة السمعة:
قديم 19-04-2010, 06:45 AM المشاركة 58   
افتراضي


مشكووووور أخوي wleed antar

عالشرح الواضح والسهل (هذي روحها موهبه)

وانشاء الله تستمر معانا الين النهاية

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

أشرف الخطيب
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2009
الدولة: مصــــــــــــــــــــــــــــــر
المشاركات: 193
نشاط [ أشرف الخطيب ]
قوة السمعة:
قديم 24-04-2010, 05:54 PM المشاركة 59   
افتراضي


بارك الله فيك أخى المهندس وليد ..... تنظيم غاية فى الروعة وشرح واضح


الصورة الرمزية أبو زكووور
أبو زكووور
:: عضو فضي ::
تاريخ التسجيل: Mar 2009
الدولة: سوريا العروبة
المشاركات: 428
نشاط [ أبو زكووور ]
قوة السمعة:
قديم 27-04-2010, 11:27 PM المشاركة 60   
attension السلام عليكم


مجهود رائع تشكر عليه ......
لقد وضعت العنوان ( دورة سريعة و ميسرة ) إنشاء الله
نرجوا عدم السرعة و لكن نرجوا التقدم أكثر في الدورة , و تجاوز مرحلة تشغيل اللدات و إيقافها , التي بدأت بها معظم الدورات و إنسحاب أصحابها و التوقف عندها ..... ! ! ! ! ! ! ! ! ! ! !
و تجاوز ذلك إلى المقاطعات و توظيف المؤقتات 0 و 1 داخل المتحكم
و حفظ المعلومات و إستدعائها ضمن المتحكم و...................
بالتوفيق إنشاء الله .


الصورة الرمزية tata2
tata2
:: عضو متميز ::
تاريخ التسجيل: Jan 2007
الدولة: https://t.me/pump_upp
المشاركات: 233
نشاط [ tata2 ]
قوة السمعة:
قديم 05-05-2010, 11:36 AM المشاركة 61   
افتراضي


يا معلم يا معلم يا معلم يا معلم
ايه الجمال ده


الصورة الرمزية tata2
tata2
:: عضو متميز ::
تاريخ التسجيل: Jan 2007
الدولة: https://t.me/pump_upp
المشاركات: 233
نشاط [ tata2 ]
قوة السمعة:
قديم 05-05-2010, 08:08 PM المشاركة 62   
افتراضي


اخي وليد ما الفرق بين ميكروبيزيك والبيك بيزك
وهل لو في برنامج مكتوب (في كتاب مثلا) بلغة البيك بيزيك هل ممكن اشغله علي برنامج ميكروبيزيك وشكرا لك


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 18-05-2010, 03:42 AM المشاركة 63   
افتراضي


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


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


التعديل الأخير تم بواسطة : wleed antar بتاريخ 22-05-2010 الساعة 10:49 AM

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 21-05-2010, 11:07 PM المشاركة 64   
angry والا؟؟؟؟؟؟؟؟؟؟؟


السلام عليكم ورحمة الله وبركاتة

اتمنى من المهندس وليد ان يكمل باقى الدروس

ويكمل باقى التعليمات


والا؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟



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