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

   

الصورة الرمزية avip
avip
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2010
المشاركات: 199
نشاط [ avip ]
قوة السمعة:
قديم 08-12-2012, 09:32 PM المشاركة 9   
ha



طبعا هذه الطريقة ليس عملية لان الزمن بين كل ليد لو اصبح مثلا واحد ثانية فيتوجب عليك ان تمسك المفتاح اكثر من 4 ثواني لتحقيق الشرط ....
اي ان زمن امساك المفتاح = عدد الليدات × زمن اشتغال كل ليد ....
لذلك من الافضل استخدام مقاومة متغيرة يتم ادخالها على المنفذ التناظري للتحكم بسرعة الاشتغال ....
عموما هذا هو مخطط الدائرة و الكود ...



كود:
int y=1,i=0;
int x;
void on(char x)
 {
  portb=1;
  vdelay_ms(x*500);
  for(i=1;I<4;I++){
                      portb=2*portb;
                      vdelay_ms(x*500);
                      if(portb>8)portb=1;
                      }

 }

void main() 
{cmcon=7;
trisa=0xff;trisb=0;portb=0;
while(1)
        {
        if(porta.f1==0){while(porta.f1==0){on(y);}y++;}
        if(porta.f0==0){while(porta.f0==0){on(y);}y--;}
        if(y<1)y=1;
        else if(y>10)y=10;
        on(y);
        }
}

انا جعلت اقل زمن هو نصف ثانية و اعلى زمن 5 ثواني بمعدل زيادة نصف ثانية زيادة او نقصان مع كل ضغطة على مفتاح الزيادة او على مفتاح النقصان ...

يمكنك استخدام المذبذب الداخلي للبك ...

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

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 08-12-2012, 11:02 PM المشاركة 10   
افتراضي


تفضل :

http://www.4shared.com/rar/ngszyNUh/Ledes1.html

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

الصورة الرمزية avip
avip
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2010
المشاركات: 199
نشاط [ avip ]
قوة السمعة:
قديم 08-12-2012, 11:17 PM المشاركة 11   
win جزاك الله خيرا


اخي الكريم جزاك الله كل خير فعل حلتلي مشكلة كانت شغلاني اوي
وياريت تم جميلك وتقوم بوضع شرح للكود


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 08-12-2012, 11:59 PM المشاركة 12   
افتراضي


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


الصورة الرمزية avip
avip
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2010
المشاركات: 199
نشاط [ avip ]
قوة السمعة:
قديم 09-12-2012, 11:42 PM المشاركة 13   
افتراضي


شكرا جزيلا اخي الفاضل



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