اطلاعیه

Collapse
No announcement yet.

کلید های ترکیبی

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

    کلید های ترکیبی

    دوستان سلام
    خواستم نحوه برنامه نویسی و استفاده از کلید های ترکیبی در avr رو بدونم؟؟
    مثلا یه کلید رو اگه یه با بزنی یه کار میکنه اگه 6 ثانیه نگه داری یه کاره دیگه!!
    البته مسئله اصلی من رو اینکه چه جوری تا وقتی که کلید رو پایین نگه داریم خروجی داریم و اگه ولش کنیم خروجی نداریم!!!
    من که مینویسم وقتی ول میکنم کلید رو بازم خروجی دارم...
    البته من زیاد اشنایی ندارم و با زبان بیسیک کار میکنم
    سوزدو افروزدو نابود شود هر که بخندد به شب تار کسی
    بی گمان دست به آغوش نگارش ببرند هرکسی بوسه ستاند ز لب یار کسی

    #2
    پاسخ : کلید های ترکیبی

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

    دیدگاه


      #3
      پاسخ : کلید های ترکیبی

      نوشته اصلی توسط masoud28314
      دوستان سلام
      خواستم نحوه برنامه نویسی و استفاده از کلید های ترکیبی در avr رو بدونم؟؟
      مثلا یه کلید رو اگه یه با بزنی یه کار میکنه اگه 6 ثانیه نگه داری یه کاره دیگه!!
      البته مسئله اصلی من رو اینکه چه جوری تا وقتی که کلید رو پایین نگه داریم خروجی داریم و اگه ولش کنیم خروجی نداریم!!!
      من که مینویسم وقتی ول میکنم کلید رو بازم خروجی دارم...
      البته من زیاد اشنایی ندارم و با زبان بیسیک کار میکنم
      سلام
      البته این ربتی به کلید ترکیبی نداره!
      کلید ترکیبی یعنی اینکه حداقل دوتا کلید رو با هم بگیری یه کاری بکنه
      ولی کاری که شما میخواهید این نیست . . .!
      خب
      اول اینو بگم : موقعی که یه زیر برنامه رو صدا میکنی تا صفحه کلید رو بخونه یک مدت زمانی میگذره که اون هم به خاطر حذف Bounce است .
      مثلا فرض میکنیم که 20میلی ثانیه طول میکشد تا یک صفحه کلید را بخواند و اگر خواسته باشیم که در برنامه به مدت 3 ثانیه نگه داریم و یک کاری را انجام دهد باید توی برتامه تعریف کنیم که اگر این کلید زده شد برو توی حلقه For و در این حلقه 150 بار باید صفحه کلید را بخوانیم و اگر هر 150باری که از صفحه کلید بخوانیم تایید شود آنگاه آن کار را انجام دهد ولی اگر از 150بار حتی یکی از اینها کلید مورد نظر نباشد باید از حلقه For خارج شود و شرط بگذاری که فلان کار رو بکن .
      این از حالت کلید نگه داشتن و لحظه ای .
      اما در مورد اینکه یک کلید را نگه داریم تا اینکه یک کاری را انجام دهد باید در حین کار کردن صفحه کلید را بخوانی و بررسی کنی که آیا کلید فشرده شده همانی هست که میخواهی یا نه . اگر همانی باشد که میخواهی آن کار را انجام دهد ولی اگر آن کلید مورد نظر نبود دست از کار بکشد .

      ببخشید اگه کد نذاشتم
      من 4 . 5 سال پیش بیسیک کار میکردم و از زمانی که زبان C یاد گرفتم دیگه دور بیسیک رو خط کشیدم .
      بیسیک اولش خوبه آخرش تلخه
      ولی سی یادگیریش سخته و آخرش خوبه(به صورت پیشرفته میتونی کار کنی)

      موفق باشی
      [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
      معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
      معرفی نرم افزار Codewizard PWM
      با من بیشتر آشنا شوید

      دیدگاه


        #4
        پاسخ : کلید های ترکیبی

        با تایمر /کانتر(مود تایمر) وچند تا دستور شرطی کارت راه میفته
        1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
        من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
        !Electronic On! Programming On
        هوشمندانه سوال بپرسیم!
        http://ir02x6.persiangig.com/logo/eca/tanks_01.png

        دیدگاه


          #5
          پاسخ : کلید های ترکیبی

          نوشته اصلی توسط mahan.rafiee
          با تایمر /کانتر(مود تایمر) وچند تا دستور شرطی کارت راه میفته
          نمیخواستم پیچیدش کنم
          به خاطر همین ساده گفتم . . .
          آخه خودم همیشه با همین دستورات کار میکنم و جواب هم گرفتم . . .
          البته بسیار گسترده تر
          [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
          معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
          معرفی نرم افزار Codewizard PWM
          با من بیشتر آشنا شوید

          دیدگاه


            #6
            پاسخ : کلید های ترکیبی

            این کد رو نگاه کن
            اگه کلید رو 3 ثانیه نگه داری وارد منو میشه!
            اگه یک بار بزنی وارد منوی دوم میشه! واسه یکی از کارهای خودمه!
            کد:
              if (PINA.0==0)
              { 
                PORTD.6=1;
                j=3; 
                
                while(PINA.0==0){
                  j+=1;  
                  delay_ms(100);
                  if (j==27)
                  {   
                    LoadMenu(); //Call Menu Method  
                    j=0;  
                    while(PINA.0==0);
                  } 
                }
                if(j>=3) LoadMenu2(); //Call Menu Method
              }
            او while بعد از منوی اول هم واسه اینه که دکمه خروج از منوی اول همون دکمه وروده و اکه اون نباشه قاطی پاتی میشه! :nice:

            دیدگاه


              #7
              پاسخ : کلید های ترکیبی

              نوشته اصلی توسط reza_badii
              این کد رو نگاه کن
              اگه کلید رو 3 ثانیه نگه داری وارد منو میشه!
              اگه یک بار بزنی وارد منوی دوم میشه! واسه یکی از کارهای خودمه!
              کد:
                if (PINA.0==0)
                { 
                  PORTD.6=1;
                  j=3; 
                  
                  while(PINA.0==0){
                    j+=1;  
                    delay_ms(100);
                    if (j==27)
                    {   
                      LoadMenu(); //Call Menu Method  
                      j=0;  
                      while(PINA.0==0);
                    } 
                  }
                  if(j>=3) LoadMenu2(); //Call Menu Method
                }
              او while بعد از منوی اول هم واسه اینه که دکمه خروج از منوی اول همون دکمه وروده و اکه اون نباشه قاطی پاتی میشه! :nice:
              ممنون از کدی که گذاشتین
              ولی تا اونجایی که من خودم محاسبه کردم 2.3 ثانیه نگه داری وارد اون منو میشه نه 3 ثانیه!
              [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
              معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
              معرفی نرم افزار Codewizard PWM
              با من بیشتر آشنا شوید

              دیدگاه


                #8
                پاسخ : کلید های ترکیبی

                نوشته اصلی توسط SAMAN.ASADI
                ممنون از کدی که گذاشتین
                ولی تا اونجایی که من خودم محاسبه کردم 2.3 ثانیه نگه داری وارد اون منو میشه نه 3 ثانیه!
                اون دیگه بستگی به کریستالو تنظیماتشو این چیزاش داره حالا شما هم واسه 0.7 ثانیه معامله رو بهم نزن :applause:

                دیدگاه


                  #9
                  پاسخ : کلید های ترکیبی

                  نوشته اصلی توسط reza_badii
                  اون دیگه بستگی به کریستالو تنظیماتشو این چیزاش داره حالا شما هم واسه 0.7 ثانیه معامله رو بهم نزن :applause:
                  به خاطر گل روی شما به روی چشم :applause: :nice: :biggrin:
                  [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                  معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                  معرفی نرم افزار Codewizard PWM
                  با من بیشتر آشنا شوید

                  دیدگاه


                    #10
                    پاسخ : کلید های ترکیبی

                    ممنون از دوستان بابت وقتی که گذاشتین :rolleyes:
                    سوزدو افروزدو نابود شود هر که بخندد به شب تار کسی
                    بی گمان دست به آغوش نگارش ببرند هرکسی بوسه ستاند ز لب یار کسی

                    دیدگاه

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