新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 基于VHDL的矩阵键盘及显示电路设计

基于VHDL的矩阵键盘及显示电路设计

作者:时间:2010-10-15来源:网络收藏

FPGA/CPLD在数字系统设计中的广泛应用,影响到了生产生活的各个方面。在FPGA/CPLD的设计开发中,语言作为一种主流的硬件描述语言,具有设计效率高,可靠性好,易读易懂等诸多优点。作为一种功能强大的FPGA/CPLD数字系统开发环境,Altera公司推出的Quar-tUSⅡ,为设计者提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程,为使用语言进行FPGA/-CPLD设计提供了极大的便利。作为一种常用的数据输入设备,在各种电子设备上有着广泛的应用,通过7段数码管将按键数值进行也是一种常用的数据方式。在设计机械式控制电路时,按键防抖和按键数据的译码是两个重要方面。本文在QuartusⅡ开发环境下,采用语言设计了一种按键防抖并能连续记录并显示8次按键数值的及显示电路。

1 矩阵键盘及显示思路
矩阵键盘及显示电路能够将机械式4×4矩阵键盘的按键值依次显示到8个7段数码管上,每次新的按键值显示在最右端的第O号数码管上,原有第0~6号数码管显示的数值整体左移到第1~7号数码管上显示,见图1。总体而言,矩阵键盘及显示电路的设计可分为4个部分:
(1)矩阵键盘的行及列的扫描控制和译码。该设计所使用的键盘是通过将列扫描信号作为输入信号,控制行扫描信号输出,然后根据行及列的扫描结果进行译码。
(2)机械式按键的防抖设计。由于机械式按键在按下和弹起的过程中均有5~10 ms的信号抖动时间,在信号抖动时间内无法有效判断按键值,因此按键的防抖设计是非常关键的,也是该设计的一个重点。
(3)按键数值的移位寄存。由于该设计需要在8个数码管上依次显示前后共8次按键的数值,因此对已有数据的存储和调用也是该设计的重点所在。
(4)数码管的扫描和译码显示。由于该设计使用了8个数码管,因此需要对每个数码管进行扫描控制,并根据按键值对每个数码管进行7段数码管的译码显示。

2 矩阵键盘及显示电路的实现
本文所设计的矩阵键盘及显示电路的电路符号如图2所示。其中,clk为时钟信号输入端(频率可为1 024~32 768Hz);start为清零控制端;kbrow为列扫描信号输入端;kbeol为行扫描信号输出端;scan为数码管地址扫描信号输出端;seg7为数码管显示信号输出端。
限于篇幅,在此不详述所设计矩阵键盘及显示电路的全部VHDL代码,只对部分重要代码段落进行详细说明。

本文引用地址:http://www.eepw.com.cn/article/180408.htm


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭