基于GAL6002芯片的去抖編碼鍵盤電路的設(shè)計
2.2 自動掃描電路
自動掃描電路的軟件定義如下:
R WREG=[ROW3,ROW2,ROW1,ROW0];
掃描狀態(tài)機(jī)在輸入時鐘的上升沿依次向鍵盤行線發(fā)送“0”電平以掃描鍵盤,如果FREZ信號被使能,則“凍結(jié)”狀態(tài)機(jī)。該操作在ABEL文件中的狀態(tài)圖描述如下:
2.3 接口電路
在該電路的ABEL文件中,可由真值表界定按鍵的行列位置與輸出值D3~D0的對應(yīng)關(guān)系,其中數(shù)值1~16分別對應(yīng)于16個按鍵,即編碼鍵盤的鍵值。從LATTICE公司的工具軟件ispDesignEXPERT8.2對ABEL文件的編譯結(jié)果來看,當(dāng)有多鍵同時按下時,D3~D0的輸出亦為“0”,因此在51匯編程序中應(yīng)對“0”號鍵進(jìn)行適當(dāng)取舍。
通過輸出緩沖器可使輸出管腳設(shè)置成高阻態(tài),因此輸出管腳可以直接和單片機(jī)的數(shù)據(jù)總線連接。本設(shè)計中,D3~D0輸出緩沖器由CS和RD兩個信號控制。其ABEL方程為:
評論