矩陣式鍵盤又叫行列式鍵盤。就是用I/O口線組成行、列結(jié)構(gòu),按鍵設(shè)置在行列的交點上。在按鍵較多時多用矩陣式鍵盤,可以節(jié)省I/O口線。例如:占用8個I/O口線的4×4矩陣式結(jié)構(gòu)可以構(gòu)成16個鍵的鍵盤。當(dāng)有鍵按下時,要逐行或逐列掃描來判斷是哪個按鍵按下。通常的掃描方式有掃描法和反轉(zhuǎn)法。
1、硬件設(shè)計
單片機的Pl口的低4位接矩陣鍵盤的行線,高4位接矩陣鍵盤的列線,如下圖所示。
2.程序設(shè)計
掃描函數(shù)的返回值為按鍵特征碼,若無鍵被按下,返回值為0。程序清單如下: