NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4576 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 20 از 21

موضوع: سرعت كليد زني

  1. #1
    کاربر علاقه مند wiki آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    54
    تشکر
    74
    تشکر شده 32 بار در 15 پست

    پیش فرض سرعت كليد زني

    سلام
    دوستان من در برنامه خودم از وقفه خارجي استفاده ميكنم كه به هردو آنها كليد متصل است در صورت فشرده شدن كليد اول يك متغير افزايش ودر صورت فشرده شدن كليد ديگر متغير كاهش مي يابد .
    من ميخواهم كاري كنم كه در صورتي كه مثلا براي يك ثانيه دست بر روي كليد فشرده است خودش به سرعت متغير را افزايش يا كاهش دهد ونيازي نباشد كه براي شمردن حتما كليد را هردفعه فشار دهيم چون مثلا فرض كنيد من عدد صفر تا 1000 را ميخواهم بشمرد براي داشتتن عدد 500 نميخواهم 500 بار كليد را فشار دهم.
    من از بسكام استفاده ميكنم ميدانم كه راه استفاده از ان ديبانس است اما مقدار ديبانس را هم تغيير دادم فايده نداشت درضمن مطمئن هم نيستم در حالتي كه كليد هارا به وقفه خارجي داده ام اين ديبانس كار كند
    لطفا كمكم كنيد.

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    مدیر انجمن cmuiran آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    پیمان غلامی
    نوشته ها
    1,071
    تشکر
    407
    تشکر شده 966 بار در 553 پست

    پیش فرض

    سلام
    شما میتونین هر یک ثانیه چک کنین در صورت 1بودن پایه متغییر شما یک رقم افزایش پیدا کند و از تاخییر کم کند

    مثلا
    if pina.0=1 then : Incr a : Wait 1 : Incr : Wait 1


  4. #3
    کاربر علاقه مند wiki آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    54
    تشکر
    74
    تشکر شده 32 بار در 15 پست

    پیش فرض

    سلام دوستان
    من برنامه هاي زيادي در مورد استفاد ه از كليد با ميكرو نوشتم وانواع تاخيرها با تايمر و دستور ديبانس ، با تايمر و وقفه ، استفاده از خود دستورات برنامه به عنوان تاخير ، با دستور شرطي if و...
    اما هنوز نتونستم به راهكاري براي مورد سئوالم برسم چون ميخواهم وقتي كليدي براي يك مدت زماني به طور مداوم فشرده شده باشد عمليات مربوط به ان كليد (افزايش يا كاهش متغير) سرعت پيدا كند.
    حتما بارها خودتان در دستگاههاي صنعتي به اين مدل برخورد كرديد نمونه بسيار ساد ه آن كنترل تلويزيونها مي باشد كه وقتي دستمان را برروي كليد با لا وپايين براي چند ثانيه مداوم نگه داريم شبكه هاي تلويزيون به سرعت بالا يا پايين ميروند واين در حالي است كه اگر فقط يك بار كليد بالا يا پايين كنترل را فشار دهيد فقط يك شبكه بالا يا پايين ميرود اما من در برنامه هايي كه نوشتم اگر سرعت را توسط تاخيرهايي كه بكار بردم افزايش دهم انوقت ديگر افزايش وكاهش متغير من با يكبار فشردن كليد يك عدد نخواهد بود.
    دوستان با تجربه لطفا كمك كنند.

  5. #4
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    سلام
    شما باید یه شرط بنویسین که اگه کلید فلان فشارداده شد عددمون یکی زیاد بشه و در ادامه و داخل همون شرط، یک حلقه بنویسین که دو تا شرط داره که بعدا میگم

  6. تشکرها از این نوشته :


  7. #5
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    اما دو شرط:
    یکی اینکه هنوز کلید فشار داده شده باشه
    دیگه اینکه چی داداش (یا آبجی) یک متغیر دیگه که کمتر از مثلا 10 باشه
    داخل حلقه هم یک تاخیر باز مثلا چی 100 میلی میدی و بعد متغیر دوم رو یکی زیاد میکنیم و حلقه رو میبندیم تا ...

  8. تشکرها از این نوشته :


  9. #6
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    با این کار حلقه 1 ثانیه طول میکشه
    بعد از حلقه یعنی تو شرط یه تاخیر 100 میلی میدی
    البته نمایش عدد رو خودت یه جایی بنویسی؟؟؟؟؟!!!!!!
    همه ی اینا خودشون تو حلقه ی اصلی هستن پس:
    حال توضیح نحوه ی کار کردن
    وقتی کلید رو فشار میدین به عدد یکی اضافه میشه بعد میره تو حلقه تا یک ثانیه بعد از یک ثانیه، هر 100 میلی ثانیه یکی اضافه میشه
    در آخر و یک جای واقعا صحیح هم باید متغیر دوم رو صفر کنی که به عهده ی خودتون

  10. تشکرها از این نوشته :


  11. #7
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    داداش یا آبجی اگه فهمیدی و خوشت اومد حتما تشکر کنی ها (من چقدر عقده ایم نههههههه)

  12. تشکرها از این نوشته :


  13. #8
    کاربر علاقه مند wiki آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    54
    تشکر
    74
    تشکر شده 32 بار در 15 پست

    پیش فرض

    سلام
    دوست عزيز ممنونم از اينكه جواب دادي ميشه لطفم بكني نمونه دستورات همين كاري كه گفتي هم به بسكام بزاري باز هم ممنونم

  14. #9
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    هر چند با این کار که برنامه رو صاف و پوست کنده در اختیار بزارم مخالفم به خاطر اینکه خودتون تلاش کنین و واقعا یاد بگیرین ولی باشه

  15. #10
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    البته زبان c هست
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: ghhjk.png
مشاهده: 19
حجم: 9.2 کیلو بایت  

  16. کاربران : 2 تشکر کرده اند از شما esisafa برای ارسال این پست سودمند:


  17. #11
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    اون شرط اولی هم اشتباه کردم باید یک حلقه ی دیگه باشه

    while (1){
    while(!PINA.0){
    i++;
    if(i>=10000)i=0;
    delay(100);
    while(!PINA.0 & count<20){
    delay(100);
    count++;
    }

    }
    count = 0;
    delay(100);
    }

  18. #12
    کاربر علاقه مند wiki آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    54
    تشکر
    74
    تشکر شده 32 بار در 15 پست

    پیش فرض

    دوست عزيز ممنونم اما من اين برنامه را قبلا نوشته بودم اين برنامه كليد را فشار بديم با سرعتي كه همون تاخيرمون مشخص ميكنه بالا وپايين ميره من ميخوام اگر دست روي كليد موند سرعت افزايش پيدا كنه

  19. #13
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    خوب یکم برنامه رو تغییر بدین یعنی تاخیرا رو، سرعتش بیشتر میشه
    وقتی کلید رو سریع قطع و وصل هم کنین راحت کار میکنه
    اگر بخواین میتونین بنویسین بعد 1 ثانیه ای که اینجا مشخص کردیم 10 تایی بشماره
    حتی اینجا دومرحله ای نوشتیم میشه چند مرحله ای کردش با سرعت های مختلف

  20. #14
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    همون طور که گفتم وقتی کلید رو بزنیم یکی میشماره بعد اگه 1 ثانیه نگه داریم با سرعت 10 تا در ثانیه میشماره که میشه تاخیر رو خیلی کم کرد
    کنترل تلویزیونم هم همینه و دائما افزایش پیدا نمیکنه ، ممکنه از کنترل خارج بشه. باید خودمونم ببینیم تا کدوم عدد شمرده یا نه مگر اینکه چشم یکی ابر چشم باشه
    میشه مرحله ی دیگه هم اضافه کرد که مثلا بعد از 3 ثانیه، در ثانیه 70 تا بشماره

  21. #15
    کاربر علاقه مند wiki آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    54
    تشکر
    74
    تشکر شده 32 بار در 15 پست

    پیش فرض

    دوست عزيز تاخيرها را كم وزياد كنم كه بازم كل سرعت كليدها بهم ميخوره يعني هرتاخيري كه شما ميگيد را من كم كنم كليدها سريعتر ميخوره بيشتر كنم كليدها كند ميره .من نميخوام روي سرعت كليدهام در حالت عادي دست بزنم ببين اينجوري فكركن كه من برناممو نوشتم سرعت كليدهام هم تنظيمه الان ميخوام يه كاري كنم كه اگر دستم روي كليد موند سرعت افزايش يا كاهش متغيرم بيشتر بشه اگر ميشه نمونه كدهاشو بزار دستت درد نكنه

  22. #16
    کاربر علاقه مند wiki آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    54
    تشکر
    74
    تشکر شده 32 بار در 15 پست

    پیش فرض

    پست همزمان زديم
    ممنونم كه وقت ميزاري جواب ميدي پست اخرت دقيقا حرفه دله منو زدي اما خودت به برنامه اي كه گذاشتي نگاه كن
    در اون كدي كه گذاشتي اگر كليد خورده بشه به متغيرم اضافه ميشه وچناچه كليد به مدت مقدار count‌فشرده بشه فقط داري به مقدار count‌اضافه ميشه اصلا اضافه شدن متغير من حذف شده
    ویرایش توسط wiki : 18-09-2011 در ساعت 23:59

  23. #17
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    یه سوال اگه دستت رو کلید موند از این به بعد سرعت فقط یک بار زیاد بشه یا دائما افزایش پیدا کنه و تقریبا نمایی زیاد بشه

  24. #18
    کاربر علاقه مند wiki آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    54
    تشکر
    74
    تشکر شده 32 بار در 15 پست

    پیش فرض

    نه من با يه سرعت ثابت هم فعلا قانعم
    ببين بزار دقيق بگم چيكار ميخوام بكنم من يه عدد اعشاري دارم با سه رقم اعشار كه قراره 0.025 به اعدادم كم وزياد بشه بر اساس كليد بالا يا پايين.
    ميخوام اگر دست روي كليد موند سرعت طوري باشه كه مثلا اگر عددم 15.025 در عرض يك ثانيه بشه 16.025 .
    من برنامه هايي كه تا حالا تست كردم تونستم اينكارو بكنم اما اونوقت براي حالتي كه يوزر يكبار كليد را ميزنه وبايد فقط 0.025 به عدد اضافه بشه با همون سرعت ميره ومثلا با يكبار كليد زدن ميبيني حدود چهار برار 0.025 جلو رفته.
    من ميخوام جوري باشه كه تك كليد يه 0.025 به عددم اضافه يا كم بشه ودر حالتيكه دست روي كليد موند با سرعت يك ثانيه يك واحد به قسمت عدد صحيحم اضافه يا كم بشه

  25. #19
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    while !PINA.0
    }
    float i = i+0.025
    delay 1s
    while !pina.0
    }
    i = i+1
    delay 1s
    {
    {

  26. #20
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    البته یه مشکل داره که وقتی یک بار بزنیم باید به مدت تاخیر اول صبر کنیم. لازمه حذف بشه؟

صفحه 1 از 2 12 آخرینآخرین

موضوعات مشابه

  1. افزایش سرعت اینترنت ایرانسل
    توسط kianet7741 در انجمن گفت و گوي آزاد
    پاسخ: 0
    آخرين نوشته: 14-07-2013, 12:26
  2. حداکثر سرعت
    توسط sadeghbakhshi در انجمن میکروکنترلرهای 8و16 بیتی
    پاسخ: 1
    آخرين نوشته: 02-07-2013, 17:28
  3. اندازه گیری سرعت باد؟
    توسط hopo در انجمن LPC series (NXP)
    پاسخ: 3
    آخرين نوشته: 09-03-2013, 10:35
  4. پاسخ: 0
    آخرين نوشته: 02-02-2010, 20:13
  5. ساعت عقربه ای با LED دو رنگ(RG)
    توسط rasool.v در انجمن AVR
    پاسخ: 4
    آخرين نوشته: 21-09-2009, 09:16

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •