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

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

الصورة الرمزية ahmed-1a
ahmed-1a
:: مهندس جيد ::
تاريخ التسجيل: Apr 2008
المشاركات: 205
نشاط [ ahmed-1a ]
قوة السمعة:0
قديم 07-09-2010, 07:01 PM المشاركة 1   
افتراضي كيف ممكن قياس مدة ضغطة الزر ... Twitter FaceBook Google+



السلام عليكم

سؤالي واضح من العنوان ، كيفية قياس المدة التي تم فيها ضغط الزر في المتحكم طبعا ، وبأي لغة المايكروسي أو المايكروبيسك ، أهم شي الكود ؟؟؟؟


عيد مبارك

اعلانات

امبراطور2020
:: مهندس ::
تاريخ التسجيل: Apr 2007
المشاركات: 14
نشاط [ امبراطور2020 ]
قوة السمعة:0
قديم 07-09-2010, 08:13 PM المشاركة 2   
افتراضي


السلام عليكم

سؤالي واضح من العنوان ، كيفية قياس المدة التي تم فيها ضغط الزر في المتحكم طبعا ، وبأي لغة المايكروسي أو المايكروبيسك ، أهم شي الكود ؟؟؟؟


عيد مبارك
هذا الكود بالمايكروسي
X: البورت الموصل به الزر
Y: البت الموصل به الزر
i: متغير من أي نوع تريد والذي سيحمل قيمة المدة التي تم الضغط فيها
Z: عدد الثواني التي تريدها بمعنى آخر ان كانت 1 سيظهر بالنهاية المدة بالميللي ثانية

كود:
 
while(portX.fY==0)
{
i++;
delay_ms(Z);
}
تحياتي

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

الصورة الرمزية ahmed-1a
ahmed-1a
:: مهندس جيد ::
تاريخ التسجيل: Apr 2008
المشاركات: 205
نشاط [ ahmed-1a ]
قوة السمعة:0
قديم 07-09-2010, 08:21 PM المشاركة 3   
افتراضي


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


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 07-09-2010, 09:15 PM المشاركة 4   
افتراضي


و كيف سيتم ربط الزمن في جملة التاخير مع العداد ؟
لا اعتقد انه الكود المطلوب .

حيدر علاج حسن

ashraf931
:: مهندس ::
تاريخ التسجيل: Feb 2007
المشاركات: 10
نشاط [ ashraf931 ]
قوة السمعة:0
قديم 07-09-2010, 09:53 PM المشاركة 5   
افتراضي


السلام عليكم
اعتقد انها بهذا الشكل
int i=0;
void main(){
trisa=0b00001;
while (porta.f0==1)
{
i=i+1;
delay_ms(1);
}
}


الصورة الرمزية ahmed-1a
ahmed-1a
:: مهندس جيد ::
تاريخ التسجيل: Apr 2008
المشاركات: 205
نشاط [ ahmed-1a ]
قوة السمعة:0
قديم 07-09-2010, 09:56 PM المشاركة 6   
افتراضي


و كيف سيتم ربط الزمن في جملة التاخير مع العداد ؟
لا اعتقد انه الكود المطلوب .
لم أفهم قصدك ، ولكن بعد انتهاء جملة وايل يمكن أن تعرف ما هي قيمة i وبذلك تعرف عدد الثواني ...


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 07-09-2010, 10:44 PM المشاركة 7   
افتراضي


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

ان تريد ان تحسب الزمن . اما عبارة delay لكي نتحكم بالزمن . و الفرق كبير .

و بالاخص ان عبارة delay لا تعطي الزمن الحقيقي . بل تعطي اكثر منه .

حيدر علاج حسن

التعديل الأخير تم بواسطة : حيدر علاج حسن بتاريخ 07-09-2010 الساعة 10:48 PM

ashraf931
:: مهندس ::
تاريخ التسجيل: Feb 2007
المشاركات: 10
نشاط [ ashraf931 ]
قوة السمعة:0
قديم 07-09-2010, 11:47 PM المشاركة 8   
افتراضي


المتغير i تزداد قيمته بمقدار واحد صحيح كل 1 مل ثانيه وتردد الكرستاله يستخدم بشكل داخلي من قبل المتحكم فقط لهذا نقوم بتعريف تردد الكرستاله في بداية البرنامج فمثلا 8mhz هي عبارة 8 ملايين نبضه في الثانيه الواحده

إضافة رد

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

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

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


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

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