日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)按鍵處理與按鍵防抖動(dòng)程序

          AVR單片機(jī)按鍵處理與按鍵防抖動(dòng)程序

          作者: 時(shí)間:2016-11-23 來源:網(wǎng)絡(luò) 收藏

          AVR單片機(jī)按鍵處理按鍵防抖動(dòng)程序

          本文引用地址:http://yuyingmama.com.cn/article/201611/320344.htm

          #include
          #include
          #include

          unsigned char A,B;
          unsigned char n;
          bit step1, step2, step3,step4; //使用幾個(gè)位變量記憶按鍵狀態(tài)

          /

          #include
          #include
          #include

          unsigned char A,B;
          unsigned char n;
          bit step1, step2, step3,step4; //使用幾個(gè)位變量記憶按鍵狀態(tài)

          //***************************************************
          interrupt [10] void TC2_OVF(void)
          {
          if(n<255) n++;
          if(PIND.2==1 && n>8) step1=1; //按鍵松開一定時(shí)間后開始進(jìn)入可用狀態(tài)
          if(PIND.2==0 && step1) {step1=0; step2=1; n=0;} //按鍵由可用狀態(tài)進(jìn)入到按下狀態(tài)
          if(PIND.2==1 && step2) {step2=0; step3=1; n=0;} //按鍵由按下狀態(tài)進(jìn)入到松開狀態(tài)

          //-------------------------------------------------
          //按鍵按下后...
          if(step2)
          {
          n++;
          if(n>60) //如果按下超過一定時(shí)間
          {
          A+=1;
          n=40;
          step4=1;
          }
          }

          //-------------------------------------------------

          if(step3) //按鍵松開后...
          {
          step3=0;
          if(step4) step4=0; else A+=1;
          }
          }

          //***************************************************
          //www.avrdiy.com panxiaoyi
          void main(void)
          {
          PORTB&=209;
          DDRB|=46; //設(shè)置單片機(jī)的4個(gè)LCD引腳輸出0
          lcd_init(); //lcd初始化
          lcd_cls(); //清屏,光標(biāo)回位

          DDRD.2=0;
          PORTD.2=1; //PD2設(shè)置為輸入,上拉電阻有效(接按鍵)
          TCCR2B|=4; //T/C2采用系統(tǒng)時(shí)鐘的64分頻
          #asm("sei"); //全局中斷使能
          TIMSK2|=1; //T/C2計(jì)數(shù)溢出中斷使能

          while (1)
          {
          B+=1;
          lcd_gotoxy(12,1);
          lcd_putsf("AVRDIY.COM",10);

          lcd_gotoxy(15,3);
          lcd_putchar(B/100+48); //顯示變量B
          lcd_putchar(B/10%10+48);
          lcd_putchar(B%10+48);

          lcd_gotoxy(52,3);
          lcd_putchar(A/100+48); //顯示變量A
          lcd_putchar(A/10%10+48);
          lcd_putchar(A%10+48);
          };
          }




          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉