基于基于VHDL 的矩阵键盘及显示电路设计的矩阵键盘及显示电路设计
摘 要:为了有效防止机械式键盘按键抖动带来的数据错误,这里在Quartus Ⅱ开发环境下,采用VHDL 语言设计了
一种能够将机械式4 ×4 矩阵键盘的按键值依次显示到8 个7 段数码管上的矩阵键盘及显示电路。仿真结果表明,
所设计的矩阵键盘及显示电路成功地实现了按键防抖和按键数据的准确显示。以ACEX1K系列EP1K30QC208
芯片为硬件环境,验证了各项设计功能的正确性。 FPGA/ CPLD 在数字系统设计中的广泛应用,影响到了生
产生活的各个方面。在FPGA/ CPLD 的设计开发中,V HDL 语言作为一种主流的硬件描述语言,具有设计效率高,
可靠性好, 易读易懂等诸多优点 。作为
摘 要:为了有效防止机械式键盘按键抖动带来的数据错误,这里在Quartus Ⅱ开发环境下,采用VHDL 语言设计了一种能够将
机械式4 ×4 矩阵键盘的按键值依次显示到8 个7 段数码管上的矩阵键盘及显示电路。仿真结果表明,所设计的矩阵键盘及显示
电路成功地实现了按键防抖和按键数据的准确显示。以ACEX1K系列EP1K30QC208 芯片为硬件环境,验证了各项设计功能的
正确性。
FPGA/ CPLD 在数字系统设计中的广泛应用,影响到了生产生活的各个方面。在FPGA/ CPLD 的设计开发中,V HDL 语言
作为一种主流的硬件描述语言,具有设计效率高, 可靠性好, 易读易懂等诸多优点 。作为一种功能强大的FPGA/ CPLD 数字系统
开发环境,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 矩阵键盘及显示电路原理图
- 1
- 2
前往页