NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3353 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 8 از 8

موضوع: شمارش عدد با استفاده از کلید

  1. #1
    عضو جدید
    تاریخ عضویت
    Jan 2015
    نوشته ها
    19
    تشکر
    6
    تشکر شده 0 بار در 0 پست

    پیش فرض شمارش عدد با استفاده از کلید

    با سلام
    من می خوام با هر بار فشردن کلید روی ال سی دی یک شماره به مقدار a اضافه شده و نمایش داده بشه اما وقتی دستورات رو می نویسم جواب نمی گیرم اگه ممکنه راهنمایی کنید. (با فشردت پوش باتون برنامه شروع می کنه به شمردن و استوپ هم نداره هم از تاخیر استفاده کردم و هم برنامه ی زیر:
    کد:
    while (1)
          {
            if((PINC.3==1)&& (f==0)){
            f=1;
            a++;}
            if((PINC.3==1)&&(f==1)){
            f=0;} 
            lcd_gotoxy(0,1);
            sprintf(b,"%d",a);
            lcd_puts(b);
          if (a>24){a=0;}
          };

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

  3. #2
    کاربر علاقه مند
    تاریخ عضویت
    Jan 2013
    نوشته ها
    98
    تشکر
    76
    تشکر شده 16 بار در 14 پست

    پیش فرض

    سلام
    یعنی برنامه با یه فشار بصورت صعودی خودش میشمره میره جلو؟؟؟ حتی از 24 که تعریف کردید هم میگذره ؟
    برای خوندن کلید از اینتراپت استفاده کردید؟

  4. #3
    عضو جدید
    تاریخ عضویت
    Jan 2015
    نوشته ها
    19
    تشکر
    6
    تشکر شده 0 بار در 0 پست

    پیش فرض

    نه از اینتراپ استفاده نکردم. نه به 24 که می رسه از صفر می شمره

  5. #4
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    سلام
    پین رو pull up کردین؟
    اگه پین فلوت باشه ممکنه این اتفاق بیافته.

  6. #5
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2012
    نوشته ها
    30
    تشکر
    1
    تشکر شده 23 بار در 13 پست

    پیش فرض

    buttonState = digitalRead(buttonPin);


    if (buttonState != lastButtonState) {
    if (buttonState == LOW) {buttonPushCounter++;}
    }
    lastButtonState = buttonState;
    if(buttonPushCounter==4){buttonPushCounter=0;}

  7. #6
    عضو جدید
    تاریخ عضویت
    Jan 2015
    نوشته ها
    19
    تشکر
    6
    تشکر شده 0 بار در 0 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mstkmn نمایش پست ها
    سلام
    پین رو pull up کردین؟
    اگه پین فلوت باشه ممکنه این اتفاق بیافته.
    چجوری می تونم مقاومت پول آپ وصل کنم؟؟

  8. #7
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    اگه کلید پین رو صفر میکنه، پین رو با یه مقاومت به VCC وصل کن و اگه کلید پین رو یک میکنه، اون رو با مقاومت به زمین وصل کن(pull down). مقدار مقاومت هم می تونه 4.7K یا 10K باشه.

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


  10. #8
    عضو جدید
    تاریخ عضویت
    Jul 2010
    نوشته ها
    11
    تشکر
    2
    تشکر شده 4 بار در 3 پست

    پیش فرض

    خوب کدت هم ایراد داره
    وقتی کلید رو می خونه و می بینی که کلید زده شده، تو برنامت یه تاخیر چند میلی ثانیه بزار برای حذف نویز کلید و یه حلقه while بزار که وقتی که کلید به وضعیت عادی خودش برگشت، از اون حلقه خارج بشه و یکی به شمارندت اضافه کنه

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

  1. پاسخ: 3
    آخرين نوشته: 24-03-2013, 18:38

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

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