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

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

الصورة الرمزية Eng_Bandar
Eng_Bandar
:: عضو فضي ::
تاريخ التسجيل: Jul 2009
الدولة: المملكة العربية السعودية
المشاركات: 196
نشاط [ Eng_Bandar ]
قوة السمعة:72
قديم 28-06-2010, 09:31 PM المشاركة 1   
افتراضي مشكلة في دائرة يسيرة Twitter FaceBook Google+



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

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




و هذا الكود




المشكلة عندما اشبك سلك إلى البن b5 فإن الليد يضيء و المفروض أن البن b2 هو من يضيء

اعلانات

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:409
قديم 29-06-2010, 05:29 AM المشاركة 2   
افتراضي


العنوان
Loop:
يجب أن يكون قبل الأمر IF

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

الصورة الرمزية Eng_Bandar
Eng_Bandar
:: عضو فضي ::
تاريخ التسجيل: Jul 2009
الدولة: المملكة العربية السعودية
المشاركات: 196
نشاط [ Eng_Bandar ]
قوة السمعة:72
قديم 30-06-2010, 02:33 PM المشاركة 3   
افتراضي


العنوان
Loop:
يجب أن يكون قبل الأمر IF
بارك الله فيك أخي الكريم على الرد

ما هي المشكلة عندما أضعها داخل الـ IF
و غير ذلك الكود اشتغل في برنامج البروتس مية مية
ما هي المشكلة ؟؟


ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:409
قديم 30-06-2010, 02:38 PM المشاركة 4   
افتراضي


المشكلة أنه سينفذ أمر IF أول مرة ثم ينير الليد و ينتظر ثم يطفئ وينتظر ثم ينتقل للموقع Loop: ليقوم بنفس العمل مرة أخرى دون أن يعمل اختبار Portb لأنه جزء من أمر IF فلن يعلم حالة السويتش بعد ذلك


الصورة الرمزية Eng_Bandar
Eng_Bandar
:: عضو فضي ::
تاريخ التسجيل: Jul 2009
الدولة: المملكة العربية السعودية
المشاركات: 196
نشاط [ Eng_Bandar ]
قوة السمعة:72
قديم 30-06-2010, 02:56 PM المشاركة 5   
افتراضي


المشكلة أنه سينفذ أمر IF أول مرة ثم ينير الليد و ينتظر ثم يطفئ وينتظر ثم ينتقل للموقع Loop: ليقوم بنفس العمل مرة أخرى دون أن يعمل اختبار Portb لأنه جزء من أمر IF فلن يعلم حالة السويتش بعد ذلك
الظاهر ما فهمت قصدي هو فعلا كلامك صحيح لأني لا أريده أن يحقق الأمر إلا مرة واحدة فقط ثم يستمر في إضاءة و إطفاء الليد

المشكلة أخي الكريم أن البن b5 هو من يضيء الليد و المفروض على حسب الكود و محاكاة البروتيس أن b2 هو من يضيء الليد و يطفأها و أن البن b5 هو عبارة عن دخل ينتظر الضغط على المفتاح


ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:409
قديم 30-06-2010, 05:00 PM المشاركة 6   
افتراضي


معذرة فعلا فهمت خطأ - معك حق


الصورة الرمزية Eng-Rayan
Eng-Rayan
:: عضو فضي ::
تاريخ التسجيل: Feb 2010
الدولة: تونس (بدرس بالأردن)
المشاركات: 455
نشاط [ Eng-Rayan ]
قوة السمعة:79
قديم 30-06-2010, 05:52 PM المشاركة 7   
افتراضي


المشكلة الاولى هي المقاومة يجب ان تغير قيمتها الى 10k

و هذه هو الكود الصحيح

كود:
void main ()
{
trisb=0b00100000;
portb=0;
while(1)
{
if(portb.f5==0)
{
 loop:
portb.f2=0;
delay_ms(500);
portb.f2=1;
delay_ms(500);
goto loop;
}
}
}

إضافة رد

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

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

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


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

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