王榮揚(yáng) , 吳國(guó)強(qiáng)
(湖州職業(yè)技術(shù)學(xué)院 機(jī)電工程分院, 浙江 湖州 313000)
在便攜式電子設(shè)備中有著廣泛應(yīng)用的矩陣鍵盤,一般利用單片機(jī)對(duì)其進(jìn)行掃描控制,大大降低了單片機(jī)處理其它信息的能力,造成資源的浪費(fèi)。利用FPGA強(qiáng)大的邏輯處理能力及豐富的引腳,本文設(shè)計(jì)了基于FPGA的矩陣鍵盤控制器,主要包括矩陣鍵盤抗抖動(dòng)模塊、掃描模塊、譯碼模塊、存儲(chǔ)模塊以及數(shù)碼管顯示模塊,同時(shí)將矩陣鍵盤輸入的數(shù)據(jù)通過(guò)7段數(shù)碼管進(jìn)行顯示。
為完成便攜式設(shè)備的人機(jī)交互,利用4×4矩陣鍵盤設(shè)計(jì)了基于FPGA的矩陣鍵盤控制器及顯示電路,如圖1所示。系統(tǒng)主要由FPGA、矩陣鍵盤、138譯碼芯片以及數(shù)碼管等組成,主要完成一個(gè)8位數(shù)的輸入,對(duì)所輸入的8位數(shù)進(jìn)行存儲(chǔ)供后續(xù)使用,利用數(shù)碼管的顯示功能來(lái)確認(rèn)所輸入的數(shù)據(jù)是否準(zhǔn)確,降低輸入誤差。
由圖1可看出,本系統(tǒng)軟件部分主要實(shí)現(xiàn)矩陣鍵盤行列掃描控制、輸入抗抖動(dòng)、按鍵譯碼、按鍵存儲(chǔ)以及數(shù)碼管顯示等功能。
(1)矩陣鍵盤行列掃描控制模塊:產(chǎn)生周期性的掃描信號(hào),根據(jù)掃描輸入信號(hào)進(jìn)行判斷是否有按鍵被按下,若有按鍵被按下則立刻進(jìn)行按鍵判斷和編碼,并將按鍵存儲(chǔ)到內(nèi)部寄存器[1]。
(2)彈跳消除電路:機(jī)械開(kāi)關(guān)結(jié)構(gòu)的矩陣鍵盤,按鍵被按下時(shí),接觸點(diǎn)會(huì)出現(xiàn)來(lái)回彈跳的信號(hào)。信號(hào)彈跳時(shí)間內(nèi)程序無(wú)法有效的判斷按鍵值,從而影響到輸入的正確性,降低設(shè)備的性能[1]。……