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

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

   

kiai87
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: جنوب المغرب
المشاركات: 1,085
نشاط [ kiai87 ]
قوة السمعة:
قديم 12-03-2010, 12:24 AM المشاركة 33   
افتراضي



سلام عليكم

شكرا لك أستادي wleed antar على هدا شرح أشيق والممتاز ولدي طلب هل يمكنك إسراع قليلا لأني أنتضر دروسك على أحر من الجمر

وشكرا لك أخي

اعلانات

abo_mazen500
:: مهندس ::
تاريخ التسجيل: Mar 2010
المشاركات: 2
نشاط [ abo_mazen500 ]
قوة السمعة:
قديم 14-03-2010, 01:14 AM المشاركة 34   
ha السلام عليكم وزحمه الله وبركاته


اخى الكريم وليد
جزاكم اله خيرا على هذا العمل
أسأل الله أن ينفعك بهذا العمل


اتابعك اخى الكريم بكل شوق

ولكن أريد أن أسأل سؤال

هل أستطيع بأن أبرمج شريحه atmel بنفس البرنامج هذا
( المايكرو بيزيك )
او بنفس هذه اللغه
انا فتحت البرنامج وملقيتش فيه الا شرائح البيك

انا عايز أبرمج شريحه at89c55

ارجو الرد أخى الكريم لمساعدتى فى هذه المشكله

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

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

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


سلام عليكم

شكرا لك أستادي wleed antar على هدا شرح أشيق والممتاز ولدي طلب هل يمكنك إسراع قليلا لأني أنتضر دروسك على أحر من الجمر

وشكرا لك أخي
مرحبا أخى وبارك الله فيك و علمنا جميعا ما ينفعنا .

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

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

أخى الكريم abo_mazen500 إسمحلى أرد بدون إقتباس ،

شكرا لك لإهتمامك وكلماتك ،

طلبك بسيط ، تابع معنا لكن هنا نتعامل مع البيك أما لو أردت التعامل مع الأتمل فيجب تنزيل نفس البرنامج ونفس الإصدار ونفس النسخة والشركة ولكن الداعم للأتمل

حمل من هنــا


فوزي سامي
:: مهندس جيد ::
تاريخ التسجيل: Jun 2008
المشاركات: 255
نشاط [ فوزي سامي ]
قوة السمعة:
قديم 14-03-2010, 07:10 PM المشاركة 36   
افتراضي


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


emad1
:: موقوف ::
تاريخ التسجيل: Nov 2005
الدولة: Usa
المشاركات: 2,333
نشاط [ emad1 ]
قوة السمعة:
قديم 16-03-2010, 02:37 PM المشاركة 37   
افتراضي


أخي وليد

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


التعديل الأخير تم بواسطة : emad1 بتاريخ 16-03-2010 الساعة 02:57 PM

emad1
:: موقوف ::
تاريخ التسجيل: Nov 2005
الدولة: Usa
المشاركات: 2,333
نشاط [ emad1 ]
قوة السمعة:
قديم 16-03-2010, 03:04 PM المشاركة 38   
افتراضي


يعني ممكن اصمم نشرة ضوئية متحركة تتكون من ليدات عدة ومكونة عدة حركات بهذا البرنامج ,واذا كان لديك موقع يهتم بتصميم هكذا نشرات ضوئية متحركة اطلع عليها .
وشكرا.


صهيب البلال
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2009
المشاركات: 85
نشاط [ صهيب البلال ]
قوة السمعة:
قديم 19-03-2010, 05:20 PM المشاركة 39   
افتراضي


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

بعد الدروس السابقة والمقدمات التي أفادنا بها الاستاذ وليد حول هذه اللغة البسيطة في استعمالها القوية في أدائها أظن أن المتابع صار على دراية بالآتي
1- برمجة المنفذ كاخراج
2- برمجة المنفذ كإدخال
3- برمجة قسم من أطراف المنفذ كإخراج والقسم الآخر كإخراج حسب حاجة المستخدم
4- استخدام دالة التأخير (delay_ms())
5- استخدام إيعاز الانتقال (القفز ) Goto
بالإضافة الى كيفية استخدام أنظمة العد المختلفة كالنظام الثنائي والعشري .. الخ

وبمشيئة الله وتوفيقه سأكمل المشوار ... ولكن التمس العذر إذا كان اسلوبي متدنيا بالمقارنة مع أسلوب الأستاذ وليد
درسنا لهذا اليوم سيكون نظريا بحتا ويتمحور حول أساسيات اللغة البرمجية ..
هذه الأساسيات التي لا تخلو منها أية لغة برمجية

1- تعريف المتغيرات :
إذا كنت من مستخدمي فيجوال بيسك فلن تجد أي صعوبة في لغة مايكروبيسك فهما متشابهتان في أسلوب التعريف عن المتغيرات وصيغ دوال الشرط والتكرار ... الخ
تتذكر عندما كنت تعرف متغيرا في فيجوال بيسك تستخدم الصيغة التالية
dim ( variable name ) as ( variable type)
الآمر في مايكروبيسك مشابه تماما فلكي نعرف متغير نكتب الصيغة أعلاه
Dim اسم اللمتغير as نوعه
مثلا لكي نعرف المتغير x من النوع byte نكتب التالي :
dim x as byte
الان ربما يتبادر الى الذهن سؤال من أين أجد اسم المتغير ؟؟
الجواب ببساطة اسم المتغير تضعه أنت بنفسك فتستطيع استخدام أي اسم يخطر ببالك إذا كان يتوافق والشروط التالية
1- أن يبدأ بحرف من أحرف اللغة الانكليزية (a-z) ويمكن استخدام الشارحة السفلية
2- أن لا يحتوي على الرموز الخاصة كـ ( *#$%^& .... الخ )
3- أن لا يكون من الكلمات المحجوزة من قبل لغة المايكروبيسك كـ (if, dim , for .. ) هذه الكلمات ستتعرف عليها اكثر فيما بعد

الان هل هذا التعريف صحيح ؟
Dim *hj as type
أكيد لا ... لأنه يحوي يبدأ برمز خاص

وكذلك temp.r , 7sd , .. كلها غير صحيحة ... لماذ ؟؟؟
أما هذا التعريف
Dim suh as byte
فهو صحيح لأن كلمة suh لاتخالف أيا من الشروط السابقة
أو suh_ja
أو suh23
ملاحظة : من المفضل أن يكون اسم المتغير يتطابق مع القيمة التي ستخزن في داخله ... مثلا لو أردنا أن عرف متغيرا يخزن قيمة حاصل جمع عددين فيفضل أن نختارله اسم sum
لاحظ أنت غير ملزم بأية تسمية وإنما حتى يسهل استذكار هذا المتغير وفائدته

الآن بقي عندنا شيء مهم جدا .... ما هو ياترى ؟؟؟؟
بالطبع .......... نوع المتغير .......
من الضروري جدا معرفة نوع المتغير لأن لكل نوع مدى من الأرقام لا يتجاوزها
فمنها من 0 الى 255 ومنها من -128 الى 127 وبناءا على ذك سوف أختار النوع الذي يناسب القيمة التي سوف تخزن في المتغير

لغة مايكرو بيسك توفر الأنواع التالية
1- byte وحجمه (8 بت ) مداه من 0 الى 255
2- char وحجمه (8 بت ) مداه من 0 الى 255
3- word وحجمه (16 بت ) مداه من 0 الى 65536
4- short وحجمه (8 بت ) مداه من -128 الى 127
5- integer وحجمه (16 بت ) أي أن مداه من -32768 الى 32767
6- longint وحجمه (32 بت ) أي أن مداه من -2147483648 الى 2147483647



كما تلاحظ أن هناك ثلاثة أنواع من المتغيرات تحتوي على أرقام موجبة فقط وهي
Byte , char , word لذلك تسمى بـ unsigned variable
أما الآنواع الأخرى فهي تحتوي على أرقام موجبة وسالبة لذلك تسمى بـ signed variable

..... الآن ...
اليك بعض الملاحظات حول استخدام المتغيرات
أولا: ليس من المعقول أن تخزن في المتغير قيمة أكبر من المدى المحدد له لأن ذلك يؤدي الى خطأ في النتيجة ....
مثال : عرفنا سابقا أن المتغير من نوع byte لا يتجاوز الرقم 255 لذلك لو كتبنا البرنامج التالي:
program sum
dim sum1 as byte
main:
sum1=250+100
end
ماذا تتوقع ان تكون النتيجة ؟
المفروض sum1=350
لكن لما كان المتغير sum1 من نوع byte فإنه لن يحوي أكثر من 255 وعليه فإنه عندما يتجاوز الرقم أكثر من 255 فإنه يصفر ويبدأ بخزن الرقم الباقي يعني 350-255 = 45 أي أن Sum1=45 وهذا يعتبر خطأ فادح

ثأنيا : عندما تعرّف أي متغير فإنه يخزن موقعا في ذاكرة الـ pic لذلك ليس من المعقول أن تخزن متغير 32 بت لبيانات لا تحتاج سوى 8 بت ... فهذا سيستهلك عليك مساحة الذاكرة
ثالثا : لا تخزن أرقام سالبة في متغير من نوع signed variable فإنه يعطي خطأ
ما رأيك بالبرنامج التالي :
program sub
dim sub1 as byte
main:
sub1=3-10
end
طبعا خطأ لماذا ؟؟؟؟؟
رابعا : اذا استخدمت تعريفات متعددة فليس من الضروري أن تكرر كلمة dim بل يمكنك كتابة التالي

Dim x as byte
R as char
Str as byte
Suh as short
خامسا : في سير البرنامج لا يوجد مكان خاص لتعريف المتغيرات وإنما تستطع أن تعرف متغبرا في أي مكان المهم أن تعرف المتغير قبل استخدامه (استدعائه) ويفضل ان تعرف المتغيرات قبل كلمة main
لاحظ البرامج التالية : -1
program sub
dim sub1 as byte
main:
sub1=3-10
end
2-
program sub
main:
dim sub1 as byte
sub1=3-10
end
3-
program sub
sub function sub1(dim sub1 as bytes) as byte
main:
end



أخيرا : لماذ كل هذا الحديث عن المتغيرات ؟؟ هل هي مفيدة الى هذا الحد ؟؟

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

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

سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب اليك


التعديل الأخير تم بواسطة : صهيب البلال بتاريخ 19-03-2010 الساعة 05:29 PM

الصورة الرمزية ahmad72
ahmad72
:: عضو ذهبي ::
تاريخ التسجيل: Aug 2004
المشاركات: 723
نشاط [ ahmad72 ]
قوة السمعة:
قديم 19-03-2010, 07:37 PM المشاركة 40   
sun


السلام عليكم ورحمه الله وبركاته
بارك الله فيك وفى المهندس وليد
وفى كل شخص ينشر العلم ابتغاء الثواب والاجر من الله
جزاكم الله خيرا
تابع الشرح ولا تنتظر شكر من احد بارك الله فيك
السلام عليكم



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