日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

矩阵按键之行列式扫描

發布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 矩阵按键之行列式扫描 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

4×4行列式掃描:

每個按鍵都由兩根線共同控制,兩者都為低電平時按鍵才能發揮作用,如上圖所示,P10-P13稱為列線,P14-P17稱為行線,使其中一條行線(或列線)為低電平,分別去檢測另外的列線(或行線)即可。

如上圖所示的行列式掃描程序如下:

//定義一個掃描函數typedfe unsigned char u8;u8 key_scan() {u8 key_value=0;K=0x7f; //第一行為0即P17=0if (K!=0x7f){delay_10us(1000);switch(K) //保證第一行為0{ case 0x77:key_value=0; break; //如果第一列為0.P13=0case 0x7b:key_value=1; break;case 0x7d:key_value=2; break;case 0x7e:key_value=3; break;}}while (K!=0x7f); //按鍵松開K=0xbf;if (K!=0xbf){delay_10us(1000);switch(K){case 0xb7:key_value=4; break;case 0xbb:key_value=5; break;case 0xbd:key_value=6; break;case 0xbe: key_value=7; break;}}while(K!=0Xbf);K=0xdf;if (K!=0xdf){delay_10us(1000);switch(K){case 0xd7:key_value=8; break;case 0xdb:key_value=9; break;case 0xdd:key_value=10; break;case 0xde: key_value=11; break;}}while(K!=0xdf);K=0xef;if (K!=0xef){delay_10us(1000);switch(K){case 0xe7:key_value=12; break;case 0xeb:key_value=13; break;case 0xed:key_value=14; break;case 0xee: key_value=15; break;}}while(K!=0xef) ;return key_value;}//主函數 void main() {while(1) { //要執行的程序 } }

?

總結

以上是生活随笔為你收集整理的矩阵按键之行列式扫描的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。