• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > CCS PICC實現的矩陣鍵盤掃描

    CCS PICC實現的矩陣鍵盤掃描

    作者: 時間:2012-10-27 來源:網絡 收藏

    網上關于 的參考程序較少,本人近來做了此類實驗,這里將把程序公開至此以便和學習 的網友交流!

    例:

    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);
    }//此程序只是最基本的矩陣掃描,忽略了抖鍵、干擾和多鍵同時按下的情況!

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 驻马店市| 十堰市| 遂宁市| 鄱阳县| 英德市| 高邑县| 大余县| 甘谷县| 锦州市| 萨迦县| 彩票| 浙江省| 无为县| 启东市| 衡水市| 抚松县| 安福县| 班戈县| 临湘市| 馆陶县| 汽车| 诸暨市| 绥德县| 东城区| 措美县| 比如县| 德昌县| 海盐县| 延长县| 平遥县| 太白县| 若羌县| 张北县| 南华县| 阳城县| 沁阳市| 客服| 丰台区| 五常市| 宜城市| 安塞县|