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

مشاهدة نتائج الإستفتاء: هل ترى أنه من الأفضل عمل قسم جديد في المنتدى للغات الحديثة مثل لغة MikroC ؟؟
نعم 53 92.98%
لا 4 7.02%
المصوتون: 57. أنت لم تصوت في هذا الإستفتاء

   

الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 15-02-2009, 01:08 AM المشاركة 33   
افتراضي



أخي الفاضل ahmad72 ::
إجابات صحيحة ... بارك الله فيك وبالتوفيق .. مع أنني أرى أنه من الأفضل تغيير الأمر الذي في البرنامج الأول trisb=0b0
إلى الأمر trisb=0 كما فعلت أخي الكريم في إجابتك عن السؤال الثاني ...
لكن كل ما كتبته إجابات صحيحة وتدل على الفهم المتقن .

============================================

أخي الكريم geniusse01 (فادي) ::
بالنسبة للسؤال السادس..فكما قلت فالبرنامج ليس فيه اخطاء..فعمل البرنامج باختصار هو اضاءة الليدات على الارجل من Βο الى Β7 .. حيث يقوم البرنامج باضاءة الليدات الثمانية ثم ينتظر ثانية واحدة ثم يطفيء الليدات من جديد..إلا أن عند اطفاء الليدات الثمانية وحسب البرنامج فهو يعود الى تنفيذ البرنامج من جديد من البداية...ولانه لا يوجد تاخير زمني في نهاية البرنامج..فان الليدات تطفىء ثم تضاء سريعا وبالتالي لن تلاحظها العين عند الاطفاء..وبالتالي نرى ان الليدات بقيت مضاءة وهذه هي المشكلة التي واجهها صديقنا العزيز..
إجابة موفقه جدا .. وفهم جيد بل ورائع ... وهذا هو الهدف من هذا السؤال (فهم هذه الجزئية)

=============================================
أخي الكريم حيدر علاج حسن ::

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

السطر السابع : اخر العملية السابقة نصف دقيقة
لا ... بل انتظر لمدة 600 ملي ثانية (حوالي نصف ثانية ) وليس دقيقة

بالنسبة للسؤال الخامس ::
الكود الاول : السطر الاول بدون اقواس
في السطر الثالث اوعزنا بان الرقم سيكتب بالثنائي وكتبناه بالسادس عشر

الكود الثاني : كتبنا بدون اقواس البداية والنهاية { }
إجابات موفقة وصحيحة .

الكود الثالث : لاتوجد اخطاء
بل يوجد ... انتبه جيدا وحاول من جديد اكتشاف الخطأ .
الكود الرابع : كتبنا البرنامج بدون ()void main
كلام سليم ..
ثم ان نهاية الحلقة التكرارية تكتب كلها باحرف صغير goto ahmad
ليس شرطا أن أكتبها بحروف صغيره ... وللعلم إخواني الكرام بخصوص الحروف الكبيرة (الكابتال) والصغيرة فإن الإصدارات الحديثة من مايكروسي مثل 8.1 و 8.2 لا يوجد فرق بين الحروف الكبيرة والصغيرة فالكل سواء .. وكلاهما صحيح فيمكنني مثلا أن أكتب trisb=0 أو TRISB=0 ولكني ذكرت في كتابي الانتباه للفرق بين الحروف الكبيرة والصغيرة مراعاة للإصدارات القديمة ... ولكن تماشيا مع الإصدارات الحديثة فيجب أن نعلم أنه لا فرق ولا مشكلة من كتابة الحروف صغيرة كانت أو كبيرة وسأعدل ذلك في الكتاب بإذن الله .

الكود الخامس: بداية الحلقة التكرارية تكتب باحرف كبيرة وتنتهي بهذه النقاط
:AA
كما ذكرت فليس هذا خطأ ... أما قولك "وتنتهي بهذه النقاط
:AA "
فهو كلام صحيح (قوة تركيز جيدة ماشاء الله) ... وللعلم يوجد خطأين في الكود الخامس أو البرنامج الخامس .

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

الكود التاسع : علامة / توضع في نهاية السطر الرابع وليس في بدايته
صحيح أي أننا في نكتب الكلام الذي لا نريد تنفيذه (الملاحظات) بين علامتين هاتين العلامتين هما */ في بداية هذا الكلام (الملاحظات) وعلامة /* في نهاية الملاحظات .. (انتبهوا للترتيب )
س6/
في السطر الرابع كلمة LOOP تكتب باحرف كبيرة
في السؤال أخبرتكم أنه عند ترجمة البرنامج لم ينتج أي أخطاء المشكلة هي في تنفيذ البك للأوامر لم يؤدي الوظيفة المطلوبة من البرنامج وإجابة geniusse01 إجابة سليمة مئة في المائة ... ارجع إليها حيث يخبرنا أن ما سيحدث عند تنفيذ البرنامج أننا لن نلاحظ إلا أن الليدات كلها مضاءة ... ولم تنطفيء وتضيء باستمرار (كما هو مطلوب) ..

===============================================
بارك الله فيكم جميعا ومنتظر التفاعل واكتشاف بقية الأخطاء واكمال الإجابة عن بقية الأسئلة ..
===============================================

وفقنا الله جميعا لما يحب ويرضى ورزقنا وإياكم العلم النافع
والسلام عليكم ورحمة الله وبركاته .


التعديل الأخير تم بواسطة : ahmad_s_f بتاريخ 15-02-2009 الساعة 01:21 AM السبب: سهو ونسيان
اعلانات

الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 15-02-2009, 01:13 AM المشاركة 34   
افتراضي


أخي الكريم wolf86 :: أهلا ومرحبا بك في هذه الدورة ..
اعتقد انه الخطا انه لا يمكن استعمال goto في لغة السي
لا ليس هذا هو الخطأ ... كما أنه يمكن استخدام goto في لغة السي ... أخي الكريم الرجاء الرجوع إلى الشرح المرفق الخاص بالدرس الثاني (ملف pdf)

===============================================

وفقنا الله جميعا لما يحب ويرضى ورزقنا وإياكم العلم النافع
والسلام عليكم ورحمة الله وبركاته .

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

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 15-02-2009, 10:23 AM المشاركة 35   
افتراضي


استاذ احمد
لم اجد الخطأ في البرنامج الثالث السؤال الخامس


geniusse01
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: Jordan - Amman
المشاركات: 1,134
نشاط [ geniusse01 ]
قوة السمعة:
قديم 15-02-2009, 10:37 AM المشاركة 36   
افتراضي


السلام عليكم جميعا

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


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 15-02-2009, 02:18 PM المشاركة 37   
افتراضي


السلام عليكم جميعا

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

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


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


السلام عليكم ورحمه الله وبركاته
اجابه السوال الثالث ان شاء الله

()void main
{
;trisb=0
:ahmad
;portb=0
;(delay_ms(800
;portb=0x49
;(delay_ms(200
;portb=0
;portb=0x16
;(delay_ms(10000
;goto ahmad
}
والله اعلم

السوال الرابع
شرح الاكواد
()void main
{
;TRISB=0 //توظيف البورت b كخروج
;PORTB=0XD6 // الاطراف b1 *b2 *b4** b6 *b7
5فولت
;(delay_ms(500// الانتظار نصف تانيه
; PORTB=0X55 // الاطراف b0 *b2 *b4* * b6 *
5فولت
;(delay_ms(600// الانتظار 600 ملى تانيه
وبعدها
توقف البرنامج على اخر كود وعدم التكرار
والله اعلم

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


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

جزاك الله عنا كل خير


التعديل الأخير تم بواسطة : زكي شاكر بتاريخ 22-02-2009 الساعة 04:47 PM السبب: مشاركات متسلسلة

يوسف16
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2004
المشاركات: 56
نشاط [ يوسف16 ]
قوة السمعة:
قديم 15-02-2009, 05:46 PM المشاركة 39   
ha


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


الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 15-02-2009, 06:19 PM المشاركة 40   
افتراضي


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

أخي الفاضل ahmad72
اجابه السوال الثالث ان شاء الله

()void main
{
;trisb=0
:ahmad
;portb=0
;(delay_ms(800
;portb=0x49
;(delay_ms(200
;portb=0
;portb=0x16
;(delay_ms(10000
;goto ahmad
}
والله اعلم
إجابة صحيحة وموفقة جدا .
السوال الرابع
شرح الاكواد
()void main
{
;TRISB=0 //توظيف البورت b كخروج
;PORTB=0XD6 // الاطراف b1 *b2 *b4** b6 *b7
5فولت
;(delay_ms(500// الانتظار نصف تانيه
; PORTB=0X55 // الاطراف b0 *b2 *b4* * b6 *
5فولت
;(delay_ms(600// الانتظار 600 ملى تانيه
وبعدها
توقف البرنامج على اخر كود وعدم التكرار
والله اعلم
إجابة موفقة وسليمة بارك الله فيك ... لمن لم يفهم الكود عليك تحويل الأرقام التي بالنظام السادس عشري إلى ثنائي لتعرف أي الرجول ستخرج جهد كهربي .

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

أخي يوسف16 سؤالك سيكون إجابته في الحصة التي تلي الحصة القادمة ... إن شاء الله
(الرجاء مراجعة شروط الدورة)

================================================
بقي هناك بعض الأخطاء في السؤال الخامس :: لم يذكرها أخي حيدر يا ترى من سيكتشفها ....... حتى ننتقل للدرس القادم .

================================================
وفقنا الله جميعا لما يحب ويرضى ورزقنا وإياكم العلم النافع

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



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