濰坊工程職業(yè)學(xué)院 張成法 馬鳳娟
基于AT89C52的矩陣鍵盤編程
濰坊工程職業(yè)學(xué)院張成法馬鳳娟
本文主要講述采用逐行掃描法識別矩陣式鍵盤按鍵,通過依次按下矩陣式鍵盤上的第1~16個鍵,6位數(shù)碼管全部依次顯示0~F來闡述矩陣式鍵盤按鍵識別的具體實現(xiàn)方法。
矩陣式鍵盤;按鍵;數(shù)碼管
在單片機組成的各種系統(tǒng)中,應(yīng)用最多的是非編碼鍵盤。非編碼鍵盤又分為:獨立鍵盤和行列式(又稱矩陣式)鍵盤。本文通過案例程序“依次按下矩陣式鍵盤上的第1~16個鍵,6位數(shù)碼管全部依次顯示0~F”的編寫闡述采用逐行掃描法識別矩陣式鍵盤按鍵的實現(xiàn)方法。對矩陣式鍵盤按鍵的識別方法有很多種,本文講述的方法簡單易懂,容易掌握。
本系統(tǒng)是由AT89C52單片機、電源電路、復(fù)位電路、6個數(shù)碼管、鎖存器和4行×4列的矩陣式鍵盤組成。如圖1所示,圖中已對4行×4列的矩陣式鍵盤的每個按鍵從左到右、從上到下進行了1~16的數(shù)字編號。

系統(tǒng)整體設(shè)計圖
圖中與P2.0相連的鍵盤是獨立鍵盤。一旦獨立鍵盤被按下,則與之相連的P2.0引腳由高電平變?yōu)榈碗娖剑绻麢z測到P2.0引腳是低電平,則說明獨立鍵盤被按下去了。
4行×4列的矩陣式鍵盤全部和單片機的P3口相連,矩陣式鍵盤的4行是跟P3.0~P3.3引腳相連,4列是跟P3.4~P3.7引腳相連。
①給鍵盤的第一行P3.0賦值0,給其余的P3.1~P3.7賦值1,即P0=0xfe,然后重新讀回P3.4、P3.5、P3.6、P3.7的數(shù)據(jù),看看讀回的P3.4、P3.5、P3.6、P3.7的數(shù)據(jù)中是否有0,如果有0,則說明第一行的4個鍵(1、2、3、4)中有某個鍵被按下去了。……