EDA矩陣式鍵盤輸入電路的設(shè)計(jì)
矩陣式鍵盤是一種常見的輸入裝置,在日常的生活中,矩陣式鍵盤在計(jì)算機(jī)、電話、手機(jī)、微波爐等各式電子產(chǎn)品上已經(jīng)被廣泛應(yīng)用。如圖是一個(gè)3×4矩陣鍵盤的面板配置圖,其中數(shù)字O~9作為數(shù)字輸入按鍵,F(xiàn)1、F2作為自定義的功能輸入按鍵。
如圖1 3×4矩陣鍵盤的面板配置
鍵盤上的每一個(gè)按鍵其實(shí)就是一個(gè)開關(guān)電路,當(dāng)某鍵被按下時(shí),該按鍵的接點(diǎn)會(huì)呈現(xiàn)0的狀態(tài),反之,未被按下時(shí)則呈現(xiàn)邏輯1的狀態(tài)。掃描信號(hào)由KY3~KY0進(jìn)入鍵盤,變化的順序依次為1110-1101-1011-0111-1110。每一次掃描一排,依次地周而復(fù)始。例如現(xiàn)在的掃描信號(hào)為1011,代表目前正在掃描7、8、9這一排的按鍵,如果這排當(dāng)中沒有按鍵被按下的話,則由KX2~KX0讀出的值為111;反之當(dāng)7這個(gè)按鍵被按下的話,則由KX2~KX0讀出的值為011。
根據(jù)上面所述原理,我們可得到各按鍵的位置與數(shù)碼關(guān)系如表所示。
如表 按鍵位置與數(shù)碼關(guān)系
若從KX2~KX0讀出的值皆為1,代表該列沒有按鍵按下,則不進(jìn)行按鍵譯碼的動(dòng)作,反之,如果有按鍵按下時(shí),則應(yīng)將KX2~KX0讀出的值送至譯碼電路進(jìn)行編碼。
矩陣式鍵盤輸入電路的VHDL程序設(shè)計(jì)主要包括鍵盤去抖電路、輸入信息譯碼電路和輸入存儲(chǔ)緩沖器等電路的VHDL程序設(shè)計(jì),其中重點(diǎn)為輸入信息譯碼電路的設(shè)計(jì)。
【例】 根據(jù)如圖和如表設(shè)計(jì)一個(gè)矩陣式鍵盤的譯碼電路的VHDL程序,并使用MAX+p1us Ⅱ進(jìn)行仿真。
仿真結(jié)果如圖所示。
如圖2 矩陣式鍵盤電路譯碼器ZZJPYM仿真圖
來(lái)源:ks990次