獨立鍵盤與矩陣鍵盤檢測
NEWS
獨立鍵盤與矩陣鍵盤介紹
獨立鍵盤,是指每一個鍵位單獨由一個IO口控制的按鍵。
矩陣鍵盤,主要是指像矩陣一樣分布,由兩個IO口(行IO與列IO)才能夠識別的按鍵。
與按鍵所連接的IO口既可以輸出也可以輸入,檢測按鍵主要通過檢測IO口接受的電平信號來實現。
如圖所示,所有鍵盤的IO口由P3控制,P3IO口由高到低的排列是P3.7~P3.0。
PART
01 獨立鍵盤的檢測
在對獨立鍵盤進行檢測之前,應當先確保其對應的IO口都處于高電平的狀態,當按鍵被按下時,IO口與接地會接通,會接收到低電平信號。檢測時只需依次對按鍵對應的IO口檢測其是否有接收到低電平信號即可。
由于點平的變化并非完美的波形,其在按下與松開時會有短暫的不穩定的高低電平,因此要通過延時二次檢測來進行防抖。
在本示例程序中對S2按鍵進行了檢測,其中先對P3IO口進行設置都為高電平,key _S2已經提前配定義為了P3.4IO口,然后用判斷語句來判斷電平是否有變化,delay延時后在此進行檢測,如果確實收到了低電平則開始執行對應程序。程序執行完畢后,用while函數來決定是否繼續往下執行,只有徹底松開后才能夠繼續向下執行程序。
PART
02 矩陣鍵盤的檢測
矩陣鍵盤不同于獨立鍵盤,它需要對行和列都進行檢測,檢測原理與獨立鍵盤一樣,只是獨立鍵盤的接地變成了為低電平的IO口。
在進行檢測時,行和列必須有一個為高電平,有一個為低電平。我們在此要將逐一將列IO賦為低電平,行IO都為高電平然后去檢測行IO是否接收到低電平。示例程序如下
//ju zhen an jian cheng xu
void matrix_key()
{
P3=0Xef;/ 將P3.4賦為低電平對S6所在列進行檢測 /
matrix_demo=P3;//讀取P3
matrix_demo=matrix_demo&0x0f;
//對P3低四位進行比較
if(matrix_demo!=0x0f)
{
delay(10);
matrix_demo=P3;
matrix_demo=matrix_demo&0x0f;
if(matrix_demo!=0x0f)
{
matrix_demo=P3;
switch(matrix_demo)
{
case 0xee://KEY_S6(1110 1110)
dis_num=7;
shiwan=dis_num/10;
wan=dis_num%10;
_shiwan=num_table[shiwan];
_wan=num_table[wan];
break;
case 0xed://KEY_S10(1110 1101)
dis_num=4;
shiwan=dis_num/10;
wan=dis_num%10;
_shiwan=num_table[shiwan];
_wan=num_table[wan];
break;
case 0xeb://KEY_S14(1110 1011)
dis_num=1;
shiwan=dis_num/10;
wan=dis_num%10;
_shiwan=num_table[shiwan]
;_wan=num_table[wan];
break;
case 0xe7://KEY_S18(1110 0111)
shiwan=15;wan=15;
_shiwan=num_table[shiwan];
_wan=num_table[wan];
break;
}
//檢測按鍵是否斷開,后四位是否恢復為高電平
while(matrix_demo!=0x0f)
{
matrix_demo=P3;
matrix_demo=matrix_demo&0x0f;
}
delay(10);
while(matrix_demo!=0x0f)
{
matrix_demo=P3;
matrix_demo=matrix_demo&0x0f;
}
}
}
上附程序為對S6所在列進行檢測的程序。
PART
03 自我測驗
自己編寫程序使鍵盤達到以下效果。
2、按下S2按鍵數碼管加1,到六十自動歸 零
3、按下S3數碼管減1,如果數碼管為00,則 0-1變為60
4、按下S4歸零
5、按下S5開/暫停計時,滿六十歸零
6、矩陣鍵盤十六個按鍵按下分別使數碼管顯 示0-F
本次講解及示例使用的為郭天祥TX-1C的開發板。
-
單片機
+關注
關注
6067文章
44969瀏覽量
649188 -
矩陣鍵盤
+關注
關注
7文章
207瀏覽量
32054 -
IO口
+關注
關注
3文章
170瀏覽量
24887 -
鍵盤檢測
+關注
關注
0文章
4瀏覽量
5848 -
獨立鍵盤
+關注
關注
0文章
5瀏覽量
4673
發布評論請先 登錄
AVR單片機十日通:介紹獨立鍵盤和矩陣鍵盤的原理及應用
單片機--矩陣鍵盤實驗

51單片機按鍵檢測--獨立按鍵與矩陣鍵盤

學習筆記之51單片機鍵盤篇(非編碼鍵盤與編碼鍵盤、非編碼鍵盤的掃描方式、獨立鍵盤、矩陣鍵盤)

評論