VHDL键盘扫描.doc

VHDL键盘扫描.doc

ID:49438391

大小:1.01 MB

页数:33页

时间:2020-03-01

VHDL键盘扫描.doc_第1页
VHDL键盘扫描.doc_第2页
VHDL键盘扫描.doc_第3页
VHDL键盘扫描.doc_第4页
VHDL键盘扫描.doc_第5页
资源描述:

《VHDL键盘扫描.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、设计目的巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对FPGA几个简单的模块设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。二、设计内容(1)设计一个4×4的键盘扫描模块,要求有防抖动功能。(2)用键盘控制16×16点阵LED显示各种字符。(3)用键盘控制蜂鸣器发声,能有各种音调。三、实现方法本系统的系统组成及连接原理如图3.1所示,主系统由四个功能模块组成:分频模块(为键盘扫描模块和提供时钟)、键盘扫描模块、LED点阵模块、发声模块。LED点阵发声模块键盘扫描

2、模块分频模块时钟输入接蜂鸣器接LED点阵接键盘图3.1整体模块划分1、分频模块分频模块的作用是把2MHZ的时钟分成1kHZ和500HZ,为键盘扫描模块和LED点阵模块提供时钟。主要方法是通过计数器实现分频。分频模块如图3.2,clk是输入时钟,clkout_kb是输入给键盘扫描模块使用,clkout_LED是输入给LED点阵模块使用。图3.2分频模块视图33其仿真结果如图3.3图3.3分频模块仿真2、键盘扫描模块2.1行列式键盘原理行列式键盘又叫做矩阵式键盘。用带有I/O口的线组成行列结构,按键设置在行列的交点上。本次试验用到的是4×4的行列结构键盘,可以构成16个按键。这样

3、,当按键数量平方增长是,I/O口只是线性增长,这样就可以节省I/O口。行列式键盘的原理如图3.4所示。CDEF89AB45670123keyin上拉电阻keydrv图3.4行列式键盘的原理按键设置在行列线交叉点,行、列线分别连接到按键开关的两端。列线通过上拉电阻接+5V的电压,即列线的输出被嵌位在高电平状态。判断按键中有无键按下时通过行线输入扫描信号,然后从列线读取到状态实现的。其方法是依次给行线送低电平,检查列线的输入。如果列线信号全为高电平,则代表低电平所在的行中无按键按下;如果列线有输入为低电平,则低电平信号所在的行和出现低电平的列的交点处有按键按下。设行扫描信号为ke

4、ydrv3~keydrv0,列线按键输入信号keyin3~keyin0与按键位置的关系如表3.1所示表3.1行扫描信号、列线按键输入信号与按键位置的关系keydrv3~keydrv0keyin3~keyin0对应的按键11101110011011101120111333110111104110151011601117101111108110191011A0111B01111110C1101D1011E0111F2.2键盘扫描系统模块划分4×4键盘键盘译码电路扫描电路按键去抖动电路时钟输入输入键盘值图3.5键盘扫描系统模块划分键盘扫描电路时用于产生keydrv3-keydrv0

5、信号,其变化顺序为1110→1101→1011→0111……周而复始的扫描。其停留在每个状态的时间大约有10ms。扫描电路的模型如下:图3.6扫描电路外观接口扫描电路的仿真如图3.7所示:33图3.7扫描电路仿真键盘译码电路是从keydrv3~keydrv0和keyin3~keyin0译出按键值的电路,它的真值表如表1所示。键盘译码电路的模型如图3.8所示:图3.8键盘译码电路外观其中键值keycode用5位编码,keycode为00000~01111表示键值0~F,keycode为11111时表示无按键按下。译码电路的仿真如图3.9所示:图3.9译码电路仿真33图3.9仿真

6、的是扫描信号在keydrv=1011时有按键按下,并且keyin=0111时的键值,由表1可知这时的键值因该是B,而由图中可以看出仿真结果是5’h0B,即预测结果与仿真结果一致。2.3按键去抖动电路实现由于机械触点的弹性作用,触点在闭合和断开瞬间的电接触情况不稳定,造成了电压信号的抖动现象,如图3.10所示。键的抖动时间一般为5~10ms。这种现象会引起FPGA对于一次键操作进行多次处理,因此须设法消除键接通或断时的抖动现象。去抖动的方法有硬件和软件两种:硬件去抖动和软件去抖动。图3.10按键抖动现象去抖动模块采用多次连续检测输入键值的原理防抖。当检测到有键值输入时并不马上输

7、出,而是当16次输入的键值都一样时才输出,其中只要有一次键值不同的话计数器都会置零,重新记数。这样就能消除按键的抖动影响。其模块外观如图3.11所示。图3.11去抖动模块外观按键去抖动仿真:33图3.12按键去抖动仿真由仿真图形可以看出,输入keyvaluein开始和结束时都产生抖动,但经过去抖模块后抖动消失了。起到了去抖动的功能。3、16×16LED点阵显示屏的设计3.116x16LED点阵的工作原理及连接组成方式:16x16LED点阵的工作原理同8x8LED点阵的工作原理,图3.13是8x8的LED

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。