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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CCS PICC實(shí)現(xiàn)的矩陣鍵盤掃描

          CCS PICC實(shí)現(xiàn)的矩陣鍵盤掃描

          作者: 時(shí)間:2012-10-27 來源:網(wǎng)絡(luò) 收藏

          網(wǎng)上關(guān)于 的參考程序較少,本人近來做了此類實(shí)驗(yàn),這里將把程序公開至此以便和學(xué)習(xí) 的網(wǎng)友交流!

          例:

          unsigned char key()
          {
          #use fast_io(C)
          unsigned char k1,k2,k3;
          set_tris_c(0x00);
          output_c(0x0f);
          set_tris_c(0x0f);
          k1=input_c()0x0f;
          set_tris_c(0x00);
          output_c(0xf0);
          set_tris_c(0xf0);
          k2=input_c()0xf0;
          k3=k1|k2;
          return(k3);
          }//此程序只是最基本的矩陣掃描,忽略了抖鍵、干擾和多鍵同時(shí)按下的情況!

          /*需要注意的是: 中庫(kù)函數(shù)output_x()、input_x()都會(huì)整個(gè)的將TRIS端口方向控制寄存器改為輸出或輸入,而時(shí)要求:端口輸出0x0f,然后高四位設(shè)置為輸出低四位設(shè)置為輸入,結(jié)果和0x0f相與屏蔽無效位,檢測(cè)是否有0出現(xiàn),如果有,即有按鍵按下,轉(zhuǎn)到掃描處理,如果沒有,低四位應(yīng)該為0x0f。接著端口輸出0xf0,然后高四位設(shè)置為輸入低四位設(shè)置為輸出,結(jié)果和0xf0相與屏蔽無效位,檢測(cè)是否有0出現(xiàn),如果有,即有按鍵按下,轉(zhuǎn)到掃描處理,如果沒有,高四位應(yīng)該為0xf0。PIC單片機(jī)與51系列單片機(jī)不同,如果使用過程中不注意設(shè)置端口方向,將得不到正確的值。CCS PICC中庫(kù)函數(shù)output_x()、input_x()能自動(dòng)將整個(gè)TRIS端口方向控制寄存器改為輸出或輸入,但在矩陣掃描中,需要手動(dòng)設(shè)置方向控制寄存器,本例中就使用#use fast_io(C)、set_tris_x()這些語(yǔ)句來設(shè)置方向控制寄存器。本人在這個(gè)例子中走了不少?gòu)澛贰?/



          關(guān)鍵詞: CCS PICC 矩陣鍵盤掃描

          評(píng)論


          相關(guān)推薦

          技術(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); })();