هذه بسيطة ....
من الكود احذف العبارة التي باللون الاحمر و ضع بدلا منها التي باللون الاخضر فقط ...
كود:
void main()
{trisa=3;trisb=0;portb=0;
while(1)
{if(porta.f0==0)
{while(porta.f0==0){}
while(porta.f1==1){
i++;
display();
delay_ms(1000);
}
}
display();
}
}
|
شكرا لك أخي العزيز حيدر على اهتمامك بموضوعي و لكن هذا البرنامج لا يناسب متطلباتي و كذلك عند الضغط على الأزرار لا تحدث استجابة فورية إلا بعد الضغط عدة مراة سوف أضعك في الصورة لما أريد إنجازه حتي تتضح لكم الصورة و تساعدني جزاك الله .
أنا أرغب بإنشاء مشروع يقوم بقياس سرعة جسم في حركة مستقيمية لذا قررت عمل عدة لواقط لازر بحيث كلما قطع الجسم لاقطين متتابعين يقوم برنامج بحساب المدة الزمنية بينهما و مع العلم أننا نعلم المسافة بين اللاقطين يمكننا حساب السرعة لذا أريد برنامج يطبق على لاقطين و بالتالي تعميمه على باقى الواقط لقد قمت بعمل برنامج باستعمال التايمر0 و مقاطعات البورت ب ونجحة التجربة إلا أنه لاحظت أنها غير عملية بالنسبة للضغطات السريعة حيث تبقى السرعة ثابثة لذا أردت مساعدة في إمكانية أخرى للبرمجة وإن كان هناك حل آخر لحساب السرعة فأرجو المساعدة وشكرا