新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于VHDL 的矩陣鍵盤及顯示電路設計

        基于VHDL 的矩陣鍵盤及顯示電路設計

        作者: 時間:2010-10-09 來源:網絡 收藏

        摘 要:為了有效防止機械式按鍵抖動帶來的數據錯誤,這里在Quartus Ⅱ開發環境下,采用VHDL 語言設計了一種能夠將機械式4 ×4 矩陣的按鍵值依次顯示到8 個7 段數碼管上的矩陣及顯示。仿真結果表明,所設計的矩陣鍵盤及顯示成功地實現了按鍵防抖和按鍵數據的準確顯示。以ACEX1K系列EP1K30QC208 芯片為硬件環境,驗證了各項設計功能的正確性。

        本文引用地址:http://www.104case.com/article/180426.htm

          在數字系統設計中的廣泛應用,影響到了生產生活的各個方面。在的設計開發中,V HDL 語言作為一種主流的硬件描述語言,具有設計效率高, 可靠性好, 易讀易懂等諸多優點 。作為一種功能強大的數字系統開發環境,Altera 公司推出的Quart us Ⅱ,為設計者提供了一種與結構無關的設計環境,使設計者能方便地進行設計輸入、快速處理和器件編程,為使用V HDL 語言進行FPGA/ CPLD 設計提供了極大的便利 。矩陣鍵盤作為一種常用的數據輸入設備,在各種電子設備上有著廣泛的應用,通過7 段數碼管將按鍵數值進行顯示也是一種常用的數據顯示方式。在設計機械式矩陣鍵盤控制時,按鍵防抖和按鍵數據的譯碼顯示是兩個重要方面。本文在Quart us Ⅱ開發環境下,采用V HDL語言設計了一種按鍵防抖并能連續記錄并顯示8 次按鍵數值的矩陣鍵盤及顯示電路。

          1  矩陣鍵盤及顯示電路設計思路

          矩陣鍵盤及顯示電路能夠將機械式4 ×4矩陣鍵盤的按鍵值依次顯示到8 個7段數碼管上,每次新的按鍵值顯示在最右端的第0 號數碼管上,原有第0~6號數碼管顯示的數值整體左移到第1~7號數碼管上顯示,見圖1 。總體而言,矩陣鍵盤及顯示電路的設計可分為4 個部分:

          (1) 矩陣鍵盤的行及列的掃描控制和譯碼。該設計所使用的鍵盤是通過將列掃描信號作為輸入信號,控制行掃描信號輸出,然后根據行及列的掃描結果進行譯碼。

          (2) 機械式按鍵的防抖設計。由于機械式按鍵在按下和彈起的過程中均有5~10 ms 的信號抖動時間,在信號抖動時間內無法有效判斷按鍵值,因此按鍵的防抖設計是非常關鍵的,也是該設計的一個重點。

          (3) 按鍵數值的移位寄存。由于該設計需要在8 個數碼管上依次顯示前后共8 次按鍵的數值,因此對已有數據的存儲和調用也是該設計的重點所在。

          (4) 數碼管的掃描和譯碼顯示。由于該設計使用了8 個數碼管,因此需要對每個數碼管進行掃描控制,并根據按鍵值對每個數碼管進行7 段數碼管的譯碼顯示。

          2  矩陣鍵盤及顯示電路的實現

          本文所設計的矩陣鍵盤及顯示電圖2 所示。其中, clk 為時鐘信號輸入端(頻率可為1 024~32 768 Hz) ; start 為清零控制端;kbrow 為列掃描信號輸入端; kbcol 為行掃描信號輸出端; scan 為數碼管地址掃描信號輸出端; seg7 為數碼管顯示信號輸出端。


        圖1  矩陣鍵盤及顯示電路原理圖


        圖2  矩陣鍵盤及顯示電路的電路符號

        DIY機械鍵盤相關社區:機械鍵盤DIY



        上一頁 1 2 3 下一頁

        關鍵詞: FPGA/ CPLD 鍵盤 電路

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 汕尾市| 鄄城县| 恩平市| 万安县| 陵川县| 玉林市| 金华市| 台前县| 黄石市| 屏东市| 永靖县| 长治市| 晋州市| 云林县| 左贡县| 卢湾区| 木兰县| 通山县| 洛宁县| 汶上县| 竹北市| 海南省| 公主岭市| 察隅县| 息烽县| 农安县| 尚志市| 和静县| 朝阳县| 吴旗县| 彰武县| 安阳县| 托里县| 贵定县| 富锦市| 琼结县| 定结县| 顺平县| 故城县| 新田县| 柞水县|