اطلاعیه

Collapse
No announcement yet.

بانس کلید

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    بانس کلید

    سلام دوستان من 3 تا کلید دارم که میخوام با زدن کلید 1 led1 روشن بشه با زدن کلید2 led2 روشن بشه و با زدن کلید3 هر دو led خاموش بشن و با زدن کلید 1 و کلید 2 هیچ led روشن نباشه این کارو انجام دادم اما کمی بانس داره لطفا راهنمایی
    [code=c]if((kelid1==1)&&(kelid2==1))
    {
    output_low(led1);
    output_low(led2);
    }

    if(kelid1==1)
    output_high(led2);
    else if(kelid2==1)
    output_high(led1);
    if(kelid3==1){
    output_low(led1);
    output_low(led2);

    }
    if((kelid1==1)&&(kelid2==1))
    {
    output_low(led1);
    output_low(led2);
    }[/code]

    #2
    پاسخ : بانس کلید

    دوست عزیز باید هنگام فشرده شدن یا رها شدن سویچ ها بعد از یه تاخیر کوچیک (در حد میلی ثانیه) دوباره مقدار سویچ ها بخونی تا مطمئن بشی سویچ فشرده شده یا رها شده
    از کد زیر استفاده کن مشکلت حل میشه
    کد:
    do
    {
     while(kelid1 == 0 && kelid2 == 0 && kelid3 == 0);
     delay_ms(20);
    }
    while(kelid1 == 0 && kelid2 == 0 && kelid3 == 0);
    
    if(kelid1==1 && kelid2==0)
     output_high(led2);
    else if(kelid2==1 && kelid1==0)
     output_high(led1);
    else {
     output_low(led1);
     output_low(led2);
    }
    
    do
    {
     while(kelid1 == 1 || kelid2 == 1 || kelid3 == 1);
     delay_ms(20);
    }
    while(kelid1 == 1 || kelid2 == 1 || kelid3 == 1);

    دیدگاه


      #3
      پاسخ : بانس کلید

      دوست عزیز هیچ کلیدی کار نمیکنه با این کد

      دیدگاه


        #4
        پاسخ : بانس کلید

        اگر امکانش هست شماتیک مدارت بفرست

        دیدگاه


          #5
          پاسخ : بانس کلید

          شماتیک خاصی نداره دوست عزیز سه تا کلید و دو تا LED

          دیدگاه


            #6
            پاسخ : بانس کلید

            مقاومت pulldown به پایه هات متصل کردی

            دیدگاه


              #7
              پاسخ : بانس کلید

              بله از بابت افزاری OK

              دیدگاه


                #8
                پاسخ : بانس کلید

                دوست عزیز برنامه تو پروتئوس تست کردم مشکلی نداره، سخت افزار چک کن یا تو کامپایل کردن مشکلی داری
                کد کامل:
                کد:
                #define kelid1 RA0_bit
                #define kelid2 RA1_bit
                #define kelid3 RA2_bit
                #define led1 RB0_bit
                #define led2 RB1_bit
                void main() {
                TRISA = 0x07;
                TRISB = 0xF8;
                PORTA = 0;
                PORTB = 0;
                while(1){
                do
                {
                 while(kelid1 == 0 && kelid2 == 0 && kelid3 == 0);
                 Delay_ms(20);
                }
                while(kelid1 == 0 && kelid2 == 0 && kelid3 == 0);
                
                if(RA0_bit==1 && kelid2==0)
                 led2=1;
                else if(kelid2==1 && kelid1==0)
                 led1=1;
                else {
                 led2=0;
                 led1=0;
                }
                
                do
                {
                 while(kelid1 == 1 || kelid2 == 1 || kelid3 == 1);
                 Delay_ms(20);
                }
                while(kelid1 == 1 || kelid2 == 1 || kelid3 == 1);
                }
                }

                دیدگاه


                  #9
                  پاسخ : بانس کلید

                  با موازی کردن یک خازن 100 نانو با کلید میتونید بانس رو از بین ببرید
                  AYRIC

                  دیدگاه


                    #10
                    پاسخ : بانس کلید

                    نوشته اصلی توسط roboreza
                    با موازی کردن یک خازن 100 نانو با کلید میتونید بانس رو از بین ببرید
                    دوست عزیز سخت افزار رو نمیشه کاری کرد و همه این جوانب بررسی شده الان من میخوام با زدن کلید1 led1روشن بشه و با زدن کلید3 یا کلید2 led1خاموش بشه
                    و با زدن کلید2 led2روشن بشه و با زدن کلید 1 یا کلید3 led2 خاموش بشه

                    دیدگاه


                      #11
                      پاسخ : بانس کلید

                      سلام. دستور کلید ها رو این جوری بنویس...
                      کد:
                       if(input(PIN_B0)){
                      delay_ms(40);
                         if(input(PIN_B0) && flag1==0){
                         flag1=1;
                         //کد ها رو اینجا بنویس
                         }
                         }else {flag1=0;}
                      سُبُّوحٌ قُدُّوسٌ رَبُّ الْمَلَائِکَةِ وَ الرُّوحِ

                      (SMART DESIGN....(POWERFUL & QUICK

                      موفقیت اتفاقی نیست......بابای پولدار میخواد

                      دیدگاه

                      لطفا صبر کنید...
                      X