色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

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

          網(wǎng)上關(guān)于 的參考程序較少,本人近來(lái)做了此類實(shí)驗(yàn),這里將把程序公開(kāi)至此以便和學(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相與屏蔽無(wú)效位,檢測(cè)是否有0出現(xiàn),如果有,即有按鍵按下,轉(zhuǎn)到掃描處理,如果沒(méi)有,低四位應(yīng)該為0x0f。接著端口輸出0xf0,然后高四位設(shè)置為輸入低四位設(shè)置為輸出,結(jié)果和0xf0相與屏蔽無(wú)效位,檢測(cè)是否有0出現(xiàn),如果有,即有按鍵按下,轉(zhuǎn)到掃描處理,如果沒(méi)有,高四位應(yīng)該為0xf0。PIC單片機(jī)與51系列單片機(jī)不同,如果使用過(guò)程中不注意設(shè)置端口方向,將得不到正確的值。CCS PICC中庫(kù)函數(shù)output_x()、input_x()能自動(dòng)將整個(gè)TRIS端口方向控制寄存器改為輸出或輸入,但在矩陣掃描中,需要手動(dòng)設(shè)置方向控制寄存器,本例中就使用#use fast_io(C)、set_tris_x()這些語(yǔ)句來(lái)設(shè)置方向控制寄存器。本人在這個(gè)例子中走了不少?gòu)澛贰?/



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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉