- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VHDL键盘.doc
一、设计目的
巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对FPGA几个简单的模块设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。
二、设计内容
(1)设计一个4×4的键盘扫描模块,要求有防抖动功能。
(2)用键盘控制16×16点阵LED显示各种字符。
(3)用键盘控制蜂鸣器发声,能有各种音调。
三、实现方法
本系统的系统组成及连接原理如图3.1所示,主系统由四个功能模块组成:分频模块(为键盘扫描模块和提供时钟)、键盘扫描模块、LED点阵模块、发声模块。
时钟输入
接蜂鸣器
接LED点阵
接键盘
图3.1整体模块划分
1、分频模块
分频模块的作用是把2MHZ的时钟分成1kHZ和500HZ,为键盘扫描模块和LED点阵模块提供时钟。主要方法是通过计数器实现分频。分频模块如图3.2,clk是输入时钟,clkout_kb是输入给键盘扫描模块使用,clkout_LED是输入给LED点阵模块使用。
图3.2 分频模块视图
其仿真结果如图3.3
图 3.3分频模块仿真
2、键盘扫描模块
2.1行列式键盘原理
行列式键盘又叫做矩阵式键盘。用带有I/O口的线组成行列结构,按键设置在行列的交点上。本次试验用到的是4×4的行列结构键盘,可以构成16个按键。这样,当按键数量平方增长是,I/O口只是线性增长,这样就可以节省I/O口。
行列式键盘的原理如图3.4所示。
keyin 上拉电阻
keydrv
图 3.4 行列式键盘的原理
按键设置在行列线交叉点,行、列线分别连接到按键开关的两端。列线通过上拉电阻接+5V的电压,即列线的输出被嵌位在高电平状态。
判断按键中有无键按下时通过行线输入扫描信号,然后从列线读取到状态实现的。其方法是依次给行线送低电平,检查列线的输入。如果列线信号全为高电平,则代表低电平所在的行中无按键按下;如果列线有输入为低电平,则低电平信号所在的行和出现低电平的列的交点处有按键按下。
设行扫描信号为keydrv3~keydrv0,列线按键输入信号keyin3~keyin0与按键位置的关系如表3.1所示
表3.1行扫描信号、列线按键输入信号与按键位置的关系
keydrv3~keydrv0 keyin3~keyin0 对应的按键 1110 1110 0 1101 1 1011 2 0111 3 1101 1110 4 1101 5 1011 6 0111 7 1011 1110 8 1101 9 1011 A 0111 B 0111 1110 C 1101 D 1011 E 0111 F
2.2键盘扫描系统模块划分
图3.5 键盘扫描系统模块划分
键盘扫描电路时用于产生keydrv3-keydrv0信号,其变化顺序为1110→1101→1011→0111……周而复始的扫描。其停留在每个状态的时间大约有10ms。扫描电路的模型如下:
图3.6 扫描电路外观接口
扫描电路的仿真如图3.7所示:
图3.7 扫描电路仿真
键盘译码电路是从keydrv3~keydrv0和keyin3~keyin0译出按键值的电路,它的真值表如表1所示。键盘译码电路的模型如图3.8所示:
图3.8 键盘译码电路外观
其中键值keycode用5位编码,keycode为00000~01111表示键值0~F,keycode为11111时表示无按键按下。
译码电路的仿真如图3.9所示:
图3.9译码电路仿真
图3.9仿真的是扫描信号在keydrv=1011时有按键按下,并且keyin=0111时的键值,由表1可知这时的键值因该是B,而由图中可以看出仿真结果是5’h0B,即预测结果与仿真结果一致。
2.3 按键去抖动电路实现
由于机械触点的弹性作用,触点在闭合和断开瞬间的电接触情况不稳定,造成了电压信号的抖动现象,如图所示键的抖动时间一般为 510ms。这种现象会引起对于一次键操作进行多次处理因此须设法消除键接通或断时的抖动现象去抖动的方法有硬件和软件两种硬件去抖动和软件去抖动
图3.10按键抖动现象
去抖动模块采用多次连续检测输入键值的原理防抖。当检测到有键值输入时并不马上输出,而是当16次输入的键值都一样时才输出,其中只要有一次键值不同的话计数器都会置零,重新记数。这样就能消除按键的抖动影响。其模块外观如图3.11所示。
图3.11去抖动模块外观
按键去抖动仿真:
图3.12按键去抖动仿真
由仿真图形可以看出,输入keyvaluein开始和结束时都产生抖动,但经
您可能关注的文档
最近下载
- 人口信息查询申请表(表格).docx VIP
- 糖尿病患者相关认知功能障碍诊治专家共识(2025版).pptx VIP
- 2024-2025学年厦门一检初三数学试卷及答案.pdf VIP
- ISO15614-1 2017 金属材料焊接工艺规程及评定(中文版).docx VIP
- 四川省广元市2024-2025学年高二上学期期末质量监测 化学试题.docx VIP
- ELENESSAVFGL三菱无机房轿顶站调试资料.doc VIP
- 数字化素养的培养.pptx VIP
- 步进式加热炉设计计算.pdf VIP
- 丰润达8+1百兆非网管poe交换机ps5081说明书.docx VIP
- 屋面防水保护层专项施工方案.docx VIP
原创力文档


文档评论(0)