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

أدوات الموضوع

حمودي1010
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
المشاركات: 237
نشاط [ حمودي1010 ]
قوة السمعة:0
قديم 24-04-2009, 07:04 PM المشاركة 1   
ha سؤال على تعليمة delay_ms Twitter FaceBook Google+



ماهي علاقة تعليمة
delay_ms() بكوارتز البيك
مثلا اذاكان كواتز البيك هو 20Mhz
كم تستغرق هذه التعليمة من وقت الكواتز

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 24-04-2009, 08:59 PM المشاركة 2   
افتراضي


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

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

م/طارق
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2007
الدولة: فلسطين
المشاركات: 82
نشاط [ م/طارق ]
قوة السمعة:0
قديم 24-04-2009, 09:08 PM المشاركة 3   
افتراضي


ببساطه
وحسب تجربتي
delay_ms(1000)
بيعطينا دلي ثانية واحده والله اعلم لا علاقة لانه في برنامج mikroC تضع قيمة الكرستالة المستخدمه وهكذا يقوم البرنامج باعطاءك قيمة تاخير صحيحة

هذا والله اعلم طبعا


حسن الامير
:: مهندس ::
تاريخ التسجيل: Jun 2006
المشاركات: 5
نشاط [ حسن الامير ]
قوة السمعة:0
قديم 24-04-2009, 10:00 PM المشاركة 4   
افتراضي


أخي بالنسبة لما ذكرت

فقيمة الكرستالة تحدد سرعة تنفيذ الاموار داخل البرنامج مثال اذا كان لدينا كرستالة قيمتها 20 ميجا , فإن سرعة تنفيذ الاوامر تكون 1\20 و كذلك لها علاقة بالتواصل مع العالم الخارجي Interface

اما ما يخص قيمة delay _ms فهي قيمة حقيقة ببنسبة 98 %

يعني لو طلبنا انه يكون porta خرج و يفعل ليد لمدة Delay_ms(1000

) فانه سيفعل الليد لمدة ثانية تقريبا


و الله أعلم

و بارك الله فيك


التعديل الأخير تم بواسطة : حسن الامير بتاريخ 24-04-2009 الساعة 10:06 PM

حمودي1010
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
المشاركات: 237
نشاط [ حمودي1010 ]
قوة السمعة:0
قديم 25-04-2009, 04:28 PM المشاركة 5   
افتراضي


بارك الله فيكم لاكن اريد ان امكن اجابة دقيقة


شكرا شكرا


geniusse01
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: Jordan - Amman
المشاركات: 1,139
نشاط [ geniusse01 ]
قوة السمعة:106
قديم 25-04-2009, 05:28 PM المشاركة 6   
افتراضي


السلام عليكم
ان التعليمة تعطي زمن تاخير دقيق حسب الرقم المكتوب في التعليمة..حيث ان البيك يحدد الزمن بشكل دقيق مهما تغيرت الكريستالة المستخدمة 4 ميجاهيرتز او 20 او غيرها..فالتعليمة تعطي الزمن الدقيق المطلوب للتاخير ..
ربنا يوفقك وينفع بك الاسلام والمسلمين.

واخر دعوانا ان الحمدلله رب العالمين...وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم.


flashier2007
:: مهندس ::
تاريخ التسجيل: Mar 2009
المشاركات: 3
نشاط [ flashier2007 ]
قوة السمعة:0
قديم 25-04-2009, 07:17 PM المشاركة 7   
افتراضي


اخي حمودي1010
سارد عل سؤالك
ماهي علاقة تعليمة
delay_ms() بكوارتز البيك
مثلا اذاكان كواتز البيك هو 20Mhz
كم تستغرق هذه التعليمة من وقت الكواتز
عندما نتكلم على فلوكود فسؤالك خاطئء لانه لا علاقة بين فلوكو د وتردد الكريستلة على الاطلاق فعندما على سبيل المثال ناخذ مخرج معين ونطلب انتضار 500 ميلي ثانية فالمترجم فلوكود سيقوم بالتكفل بالباقي اي انه هو من يكتب الاسمبلي اللذي يحدد الزمن اللذي طلبته منه هذا يعني انه لو فرضا تركت البرنامج على حاله وغيرت تردد الكريستالة فلن يتغير زمن المخرج .بكل بساطة لان فلو كود قام بتغيير التعليمات اللتي تدخل في حساب التوقيت اللذي اعطيته له انت .وهنا تكمن قوة البرنامج .
ملاحضة .التوقيت غير دقيق لانه ان اردت ان يكون توقيتك دقيق برتبة الميكرو ثانية فيجب كتابة برنامج التوقيتة بطريقتك انت وذالك بالاسمبلي وهنا نهاية لسؤالك
فكل تعليمة زمن تطبيقها متعلق بالتردد الذي تعطيه الكريستالة
ارجو اني لم اكن ثقيل الدم عليكم
انا مجرب اشياء صنعتها بالبيك واضن اني اجبت على سؤالك .والله اعلم ان اخطءت
ارجو دعواتكم بالهداية


M_ziebaq
:: مهندس ::
تاريخ التسجيل: Mar 2008
المشاركات: 44
نشاط [ M_ziebaq ]
قوة السمعة:0
قديم 26-04-2009, 06:15 PM المشاركة 8   
افتراضي


السلام عليكم شباب
تردد الكرستالة المكتوب يؤثر على زمن التأخير عند استخدام تعليمة delay_ms()
والسبب بسيط جدا كل تعليمة يقوم البيك بتنفيذها تتطلب عدد نبضات محدد
وهذا العدد لا يختلف سواء كانت الكرستالة المستخدمة 20 ميغل أو 4 ميغا
وبالتالي عند استخدام الكرستالة الأعلى سيتم التنفيذ بشكل أسرع لأن تتالي النبضات يكون أسرع

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

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025