基于FPGA的矩阵键盘控制器的设计.doc
《基于FPGA的矩阵键盘控制器的设计.doc》由会员分享,可在线阅读,更多相关《基于FPGA的矩阵键盘控制器的设计.doc(4页珍藏版)》请在三一文库上搜索。
1、基于FPGA的矩阵键盘控制器的设计摘要: 为改变采用CPU 控制矩阵键盘导致CPU 资源利用下降及引脚不足的现状,介绍了一种基于FPGA 的矩阵键盘控制器的开发。在ISE13.4 开发环境下,采用VHDL 硬件语言开发了一种能有效防止机械式矩阵键盘按键抖动带来的数据错误; 实现矩阵键盘的自动扫描、编码、存储、输出等功能; 并将输入的数据依次在8 个7 段数码管上进行显示的矩阵键盘控制器。将所设计的VHDL 控制器配置到开发的硬件电路系统上,验证了各项功能设计的正确性。在便携式电子设备中有着广泛应用的矩阵键盘,一般利用单片机对其进行扫描控制,大大降低了单片机处理其它信息的能力,造成资源的浪费。利
2、用FPGA 强大的逻辑处理能力及丰富的引脚,本文设计了基于FPGA 的矩阵键盘控制器,主要包括矩阵键盘抗抖动模块、扫描模块、译码模块、存储模块以及数码管显示模块,同时将矩阵键盘输入的数据通过7 段数码管进行显示。1 矩阵键盘控制器及显示电路设计思路为完成便携式设备的人机交互,利用4 4 矩阵键盘设计了基于FPGA 的矩阵键盘控制器及显示电路,如图1 所示。系统主要由FPGA、矩阵键盘、138 译码芯片以及数码管等组成,主要完成一个8 位数的输入,对所输入的8 位数进行存储供后续使用,利用数码管的显示功能来确认所输入的数据是否准确,降低输入误差。由图1 可看出,本系统软件部分主要实现矩阵键盘行列
3、扫描控制、输入抗抖动、按键译码、按键存储以及数码管显示等功能。( 1) 矩阵键盘行列扫描控制模块: 产生周期性的扫描信号,根据扫描输入信号进行判断是否有按键被按下,若有按键被按下则立刻进行按键判断和编码,并将按键存储到内部寄存器。( 2) 弹跳消除电路: 机械开关结构的矩阵键盘,按键被按下时,接触点会出现来回弹跳的信号。信号弹跳时间内程序无法有效的判断按键值,从而影响到输入的正确性,降低设备的性能。( 3) 按键译码电路: 扫描回复信号( 按键输入给FPGA 的信号) 在FPGA 内部无法直接作为后续使用信号,必须定义中间信号,用以区分不同按键的功能,对按键进行译码。( 4) 按键存储电路:
4、前一次按键的输入数据将被下一次扫描产生的新按键数据覆盖,因此需要一个移位寄存器来保存整个按键的输入。( 5) 数码管显示电路: 为完成8 位数据的输入显示,需要对每个数码管进行扫描控制,并根据按键值对数码管进行译码显示。2 矩阵键盘控制器及显示的VHDL 设计2 1 矩阵键盘防抖设计矩阵键盘抗抖动电路主要有计数器、移位寄存器、D 型触发器延时和采样型防抖微分电路四种方法2。本文采用的去抖方法是: 将键盘输入信号作为电路输入信号,在时钟信号作用下,输入信号经过两级D 触发器延时后再使用RS 触发器进行处理。抖动消除电路所使用的脉冲信号频率必须比其它电路使用的脉冲信号频率更高,通常将扫描电路的工作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 矩阵 键盘 控制器 设计
链接地址:https://www.31doc.com/p-3410506.html