根據電路原理圖,鍵盤掃描方法是:行線P10~P13爲輸出線,列線P14~P17爲輸入線。一開始單片機將行線(P10~P13)所有輸出低電平,此時讀入列線數據,若列線全爲高電平則沒有鍵按下,當列線有出現低電平時調用延時程序以此來去除按鍵抖動。延時完成後再判斷是否有低電平,若是此時讀入列線數據仍是有低電平,則說明確實有鍵按下。最後一步肯定鍵值。如今咱們以第二行的S5鍵爲例,若按下S5後咱們應該怎麼獲得這個鍵值呢?當判斷確實有鍵按下以後,行線輪流輸出低電平,根據讀入列線的數據能夠肯定鍵值。首先,單片機將P10輸出爲低電平,其它P11~P13輸出高電平,此時讀取列線的數據全爲高電平,說明沒有在第一行有鍵按下;其次,單片機將P11輸出低電平,其它P十、P十二、P13仍爲高電平,此時再來讀取列線數據,發現列線讀到的數據有低電平,數值爲1011(0x0B),若是咱們的鍵盤佈局已經肯定,那麼0x0B就表明S5的值了。轉到S5鍵功能處理子程序就能夠達到目的。佈局