<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)中最簡(jiǎn)單實(shí)用的按鍵程序

          單片機(jī)中最簡(jiǎn)單實(shí)用的按鍵程序

          作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
          我想了很久才寫(xiě)成的這個(gè)按鍵程序;先講講我的思路,

          我的思路很簡(jiǎn)單就是一般的按鍵不是需要去抖動(dòng)延時(shí),我想單片機(jī)夠慢的了,用什么方法不要去延時(shí),所以我就想到在定時(shí)中斷中插入按鍵掃描程序,如果連續(xù)兩個(gè)中斷程序中都有按鍵,就可以認(rèn)為有按鍵。

          本文引用地址:http://www.ex-cimer.com/article/201611/321325.htm

          但是我下面的這個(gè)程序中有個(gè)缺陷,那就是沒(méi)有加入去抖動(dòng)的方法,為了縮短短程序的總長(zhǎng)度,我就是沒(méi)有寫(xiě),這個(gè)我用在一個(gè)平時(shí)的一個(gè)小的測(cè)試部件控制程序中,去抖動(dòng)沒(méi)什么實(shí)際的意義,就沒(méi)有寫(xiě)!

          ucharkey = 0;
          ucharkey0 = 0;
          ucharkey1 = 0;
          ucharkey2 = 0;
          ucharkey3 = 0;
          ucharkey4 = 0;

          //以上為全局變量


          voidkey_saomiao(void)
          {
          //uchara = 0;

          P3 = P3 | 0xF0;
          nop();
          key0 = P3;
          key0 = key0 >> 4;
          key2 = key2 | (key0 ^ key1);
          key1 = key0;
          key = key | (key2 & key0);
          key2 = key ^ key2;
          }


          void time0_init(void)
          {
          uchar a;

          a = TMOD;
          a = a | 0x01;
          TMOD = a;
          //IE = 0x82;
          TH0 = 0x10;
          TL0 = 0x00;
          ET0 = 1;
          TR0 = 1;
          EA = 1;
          }

          void time0_int(void) interrupt 1
          {
          TH0 = 0x10;
          TL0 = 0x00;
          TR0=1;
          time_count++;
          key_saomiao();
          if(time_count > 20)
          {
          LED0 = ~LED0;
          time_count = 0;
          }
          }



          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();