基于VHDL 的矩陣鍵盤(pán)及顯示電路設計
摘 要:為了有效防止機械式鍵盤(pán)按鍵抖動(dòng)帶來(lái)的數據錯誤,這里在Quartus Ⅱ開(kāi)發(fā)環(huán)境下,采用VHDL 語(yǔ)言設計了一種能夠將機械式4 ×4 矩陣鍵盤(pán)的按鍵值依次顯示到8 個(gè)7 段數碼管上的矩陣鍵盤(pán)及顯示電路。仿真結果表明,所設計的矩陣鍵盤(pán)及顯示電路成功地實(shí)現了按鍵防抖和按鍵數據的準確顯示。以ACEX1K系列EP1K30QC208 芯片為硬件環(huán)境,驗證了各項設計功能的正確性。
本文引用地址:http://dyxdggzs.com/article/180426.htmFPGA/ CPLD 在數字系統設計中的廣泛應用,影響到了生產(chǎn)生活的各個(gè)方面。在FPGA/ CPLD 的設計開(kāi)發(fā)中,V HDL 語(yǔ)言作為一種主流的硬件描述語(yǔ)言,具有設計效率高, 可靠性好, 易讀易懂等諸多優(yōu)點(diǎn) 。作為一種功能強大的FPGA/ CPLD 數字系統開(kāi)發(fā)環(huán)境,Altera 公司推出的Quart us Ⅱ,為設計者提供了一種與結構無(wú)關(guān)的設計環(huán)境,使設計者能方便地進(jìn)行設計輸入、快速處理和器件編程,為使用V HDL 語(yǔ)言進(jìn)行FPGA/ CPLD 設計提供了極大的便利 。矩陣鍵盤(pán)作為一種常用的數據輸入設備,在各種電子設備上有著(zhù)廣泛的應用,通過(guò)7 段數碼管將按鍵數值進(jìn)行顯示也是一種常用的數據顯示方式。在設計機械式矩陣鍵盤(pán)控制電路時(shí),按鍵防抖和按鍵數據的譯碼顯示是兩個(gè)重要方面。本文在Quart us Ⅱ開(kāi)發(fā)環(huán)境下,采用V HDL語(yǔ)言設計了一種按鍵防抖并能連續記錄并顯示8 次按鍵數值的矩陣鍵盤(pán)及顯示電路。
1 矩陣鍵盤(pán)及顯示電路設計思路
矩陣鍵盤(pán)及顯示電路能夠將機械式4 ×4矩陣鍵盤(pán)的按鍵值依次顯示到8 個(gè)7段數碼管上,每次新的按鍵值顯示在最右端的第0 號數碼管上,原有第0~6號數碼管顯示的數值整體左移到第1~7號數碼管上顯示,見(jiàn)圖1 ??傮w而言,矩陣鍵盤(pán)及顯示電路的設計可分為4 個(gè)部分:
(1) 矩陣鍵盤(pán)的行及列的掃描控制和譯碼。該設計所使用的鍵盤(pán)是通過(guò)將列掃描信號作為輸入信號,控制行掃描信號輸出,然后根據行及列的掃描結果進(jìn)行譯碼。
(2) 機械式按鍵的防抖設計。由于機械式按鍵在按下和彈起的過(guò)程中均有5~10 ms 的信號抖動(dòng)時(shí)間,在信號抖動(dòng)時(shí)間內無(wú)法有效判斷按鍵值,因此按鍵的防抖設計是非常關(guān)鍵的,也是該設計的一個(gè)重點(diǎn)。
(3) 按鍵數值的移位寄存。由于該設計需要在8 個(gè)數碼管上依次顯示前后共8 次按鍵的數值,因此對已有數據的存儲和調用也是該設計的重點(diǎn)所在。
(4) 數碼管的掃描和譯碼顯示。由于該設計使用了8 個(gè)數碼管,因此需要對每個(gè)數碼管進(jìn)行掃描控制,并根據按鍵值對每個(gè)數碼管進(jìn)行7 段數碼管的譯碼顯示。
2 矩陣鍵盤(pán)及顯示電路的實(shí)現
本文所設計的矩陣鍵盤(pán)及顯示電圖2 所示。其中, clk 為時(shí)鐘信號輸入端(頻率可為1 024~32 768 Hz) ; start 為清零控制端;kbrow 為列掃描信號輸入端; kbcol 為行掃描信號輸出端; scan 為數碼管地址掃描信號輸出端; seg7 為數碼管顯示信號輸出端。
圖1 矩陣鍵盤(pán)及顯示電路原理圖
圖2 矩陣鍵盤(pán)及顯示電路的電路符號
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論