新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機矩陣按鍵的設計

        單片機矩陣按鍵的設計

        作者: 時間:2016-11-26 來源:網絡 收藏
        一、矩陣按鍵的原理

        矩陣鍵盤一般是4*4的按鍵組成,當然也有其他的按鍵組合,這里我們分析4*4的按鍵,其他組合原理類似。4*4的按鍵采用的行列掃描方式,也就是先預設端口的狀態,然后掃描行的狀態,檢測到掃描行的狀態以后,再次檢測掃描列的狀態。

        本文引用地址:http://www.104case.com/article/201611/322006.htm

        下面這段程序是4*4的行列按鍵的掃描程序

        void scankey(void)//16路熱鍵掃描
        {char a=0;
        P1=0x0F;
        if(P1!=0x0F)//讀取按鍵是否按下
        {
        delay_ms(150);//延時150ms進行消抖
        if(P1!=0x0F)//再次檢測鍵盤是否按下
        {
        switch(P1)//測試列
        {
        case(0X07):Keynum=0;break;
        case(0X0b):Keynum=1;break;
        case(0X0d): Keynum=2;break;
        case(0X0e):Keynum=3;break;
        }
        P1=0XF0;//測試行
        switch(P1)
        {
        case(0X70):Keynum=Keynum;break;
        case(0Xb0):Keynum=Keynum+4;break;
        case(0Xd0): Keynum=Keynum+8;break;
        case(0Xe0):Keynum=Keynum+12;break;
        }
        while((a<200)&&(P1!=0xF0))//檢測按鍵松手檢測
        {
        delay_ms(100);
        a++;
        }
        }
        }
        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 吴旗县| 湘潭市| 江陵县| 杂多县| 长汀县| 泽州县| 广州市| 汉沽区| 广丰县| 万源市| 巨鹿县| 定西市| 腾冲县| 万宁市| 微山县| 周宁县| 康平县| 兴安盟| 中江县| 错那县| 九江市| 西乌珠穆沁旗| 四平市| 中超| 竹溪县| 瓦房店市| 宕昌县| 乌兰浩特市| 宣威市| 大宁县| 新安县| 嵩明县| 武川县| 英山县| 江川县| 攀枝花市| 英超| 兰坪| 尼勒克县| 江源县| 玉田县|