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