新闻中心

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

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

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


进程P7用于将数码管数值信号data译码成为7段数码管输出seg7,进程P7的代码在此不再赘述。值得注意的是,本文设计的电路在按键防抖和数据寄存部分设计得更加简洁可靠,实现的功能更加强大,其具有如下特点:
(1)为了实现按键防抖,本文采用对按键状态连续记录的方式,即在按键弹起后连续8个时钟周期均无按键信号才确认1次按键有效,从而避免了按键按下和弹起过程中的数据抖动,相比于使用计数器从按键按下开始计数,直到5~10 ms后才让按键有效的防抖方式,这里设计的按键防抖更加可靠,且可有效避免长时间按下按键产生的重复数据输出,使每次按键无论时间长短均可且只会产生1次数据输出。另外,当电路采用32 768 Hz以上的时钟作为系统时钟时,可以通过增加按键状态连续记录的时钟周期数,实现可靠的防抖。
(2)该设计采用一个32位一维数组temp作为数据寄存器,使用移位寄存方式,实现了对连续8次按键数据的存储和调用,从而可以在8个数码管上连续数据。

3 仿真结果分析
本文设计的及显示电路在QliartusⅡ开发环境下进行了仿真验证。其中,按键防抖功能的仿真波形如图3所示。仿真结果分析如下:
(1)clk为时钟输入信号,作为系统时钟;
(2)start为清零控制端,当其为高电平时,按键有效;
(3)kbrow为列扫输入信号,kbcol为行扫输出信号,图3中对kbrow[1]的输入波形进行设置,模拟了“A”键按下和弹起的过程;
(4)fnq为防抖控制信号,scan为数码管地址扫描输出,seg7为数码管显示输出。由图3可知,只有在按键弹起后,才有数据输出,从而实现防抖功能。

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


该设计的其他功能也可以通过仿真验证,不再赘述。

4 结语
本文设计及显示电路在QuartusⅡ开发环境下进行仿真验证后,下载到湖北众友科技实业股份有限公司的ZYllEDAl3BE实验箱中进行了硬件验证。该实验箱使用ACEXlK系列EPlK30QC208芯片作为核心芯片。实验证明,当电路的系统时钟频率在1 024~32 768 Hz范围内时,电路均可稳定运行,按键防抖可靠、功能完整。当系统时钟频率低于1 024 Hz时,需要减少防抖记录时钟周期的个数,否则容易错过短时按键动作;当系统时钟频率高于32 768 Hz时,需要增加防抖记录时钟周期的个数,以确保可靠的按键防抖。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭