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

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

احمد_
:: مهندس ::
تاريخ التسجيل: Jun 2013
المشاركات: 31
نشاط [ احمد_ ]
قوة السمعة:0
قديم 02-12-2013, 07:24 PM المشاركة 1   
افتراضي طلب من الخوان الكرام اهل الخبرة Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاتة
عندي هذا البرامج عند ضغط على BUTTON المتصل
مع البورتB1 المفروض يضيء الليد المتصل مع البورت
B2
المطلوب اذا ضغط على BUTTON اقل من100 MS
لايعمل الليد اي يتجاهل الامر واذا كانت زمن الضغطة
اكثر من 100 MS ينفذ الامر ويعمل الليد

كود:
void main()
{

 TRISB=0B00000010;
 portb=0;

 while(1)
 {if(portb.f1==0){portb.f2=1; delay_ms(2000);}
 
 else portb.f2=0;
        
              }
         }

اعلانات

keidk
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2012
المشاركات: 184
نشاط [ keidk ]
قوة السمعة:0
قديم 03-12-2013, 12:14 AM المشاركة 2   
Post


بسم الله الرحمن الرحيم
استخدم المكتبة button

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

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 03-12-2013, 11:31 AM المشاركة 3   
افتراضي


السلام عليكم ورحمة الله وبركاتة
عندي هذا البرامج عند ضغط على BUTTON المتصل
مع البورتB1 المفروض يضيء الليد المتصل مع البورت
B2
المطلوب اذا ضغط على BUTTON اقل من100 MS
لايعمل الليد اي يتجاهل الامر واذا كانت زمن الضغطة
اكثر من 100 MS ينفذ الامر ويعمل الليد

كود:
void main()
{

 TRISB=0B00000010;
 portb=0;

 while(1)
 {if(portb.f1==0){portb.f2=1; delay_ms(2000);}
 
 else portb.f2=0;
        
              }
         }
سلام عليكم
جرب هذا كود
كود:
void main()
{
 char x=0;
 TRISB=0B00000010;
 portb=0;
 if(portb.f1==0)
                {
                 delay_ms(5);
                 while(portb.f1==0)
                    {
                     x++;
                     delay_ms(1);
                    }
                 delay_ms(5);
                 if(x>90)portb.f2=1;
                }

}


احمد_
:: مهندس ::
تاريخ التسجيل: Jun 2013
المشاركات: 31
نشاط [ احمد_ ]
قوة السمعة:0
قديم 03-12-2013, 01:40 PM المشاركة 4   
افتراضي


اخي حسن شكرا لك
لم يعمل الكود لااعرف السبب
اي الليد لايعمل


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 03-12-2013, 01:51 PM المشاركة 5   
افتراضي


اخي حسن شكرا لك
لم يعمل الكود لااعرف السبب
اي الليد لايعمل
السلام عليكم
أخي كود بسيط جدا ولكن تأكد من ربط وكرستاله
ماهو نوع البك المستخدم؟


الصورة الرمزية علاءالدين حبيب
علاءالدين حبيب
:: مهندس ::
تاريخ التسجيل: Jun 2012
الدولة: الخرطوم \ السودان
المشاركات: 30
نشاط [ علاءالدين حبيب ]
قوة السمعة:0
قديم 03-12-2013, 02:08 PM المشاركة 6   
افتراضي


تفضل اخي جرب هذا
كود:
void main()
{

 TRISB=0B00000010;
 portb=0;

while(1)
{
if(portb.f1==0)
{
delay_ms(100);
if(portb.f1==0)
{
portb.f2=1;
delay_ms(2000);

}
}

 else 
portb.f2=0;
        
            }
      }


الصورة الرمزية علاءالدين حبيب
علاءالدين حبيب
:: مهندس ::
تاريخ التسجيل: Jun 2012
الدولة: الخرطوم \ السودان
المشاركات: 30
نشاط [ علاءالدين حبيب ]
قوة السمعة:0
قديم 03-12-2013, 02:30 PM المشاركة 7   
افتراضي


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


احمد_
:: مهندس ::
تاريخ التسجيل: Jun 2013
المشاركات: 31
نشاط [ احمد_ ]
قوة السمعة:0
قديم 03-12-2013, 02:30 PM المشاركة 8   
افتراضي


تفضل اخي جرب هذا
كود:
void main()
{

 TRISB=0B00000010;
 portb=0;

while(1)
{
if(portb.f1==0)
{
delay_ms(100);
if(portb.f1==0)
{
portb.f2=1;
delay_ms(2000);

}
}

 else 
portb.f2=0;
        
            }
      }
اخي في خطأ في الكود في else عند توليد ملف الهكس

إضافة رد

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

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

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


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

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