- 1
- 0
- 约9.15千字
- 约 13页
- 2017-06-08 发布于陕西
- 举报
基于VHDL的键盘扫描及显示电路
一、工作原理:
可编程器件的KEY_HANG[3..0]行信号输出端不停循环输出“1110”“1101”“1011”“0111”。当没有键按下时可编程器件的KEY_LIE[3..0]列信号输入端检测到的是“1111”。当有按键按下时,如按下1,此时KEY_HANG[3..0]行信号输出为“0111”,即KEY_HANG[3..0]的3管脚为“0”,可由电路看出,此时输入端KEY_LIE[3..0]检测到的将是“0111”。KEY_LIE[3..0]的3管脚为0,可以在编写程序时,将输出信号KEY_HANG[3..0]与输入信号KEY_LIE[3..0]同时判断,比如可以认为当数据“KEY_HANGKEY_LIE”为时,可译码成数据1,。同理可得其他按键的编码。根据不同数据的编码译成不同的数据。
名称 IO属性 描述 备注 clk in 输入时钟,1K和40K频率 KEY_HANG[3..0] out 矩阵键盘的扫描输入端口 KEY_LIE[3:0] in 矩阵键盘的扫描输出端口 START out 数据输出标志 DISP DATA[6..0] out 数码管译码显示译码输出 7bit DASP SEL[1..0] out 数码管扫描输出 2bit
CLK_1K
CLK_40K
二、设计思路:
1.循环输出行信号,检测列信号输入,将行列信号相并。
2.译键值。
去抖动。在译没一个键值后,为了防止抖动,加了一个计算环节,一旦检测到列信号后,译码,紧跟着进入计数环节,此时键抖动不会进入其他环节,这样可以防止抖动。
数码管译码、循环显示。
电路的具体功能罗列如下:
1) 采用4×4矩阵键盘作为操作数和操作符的输入设备。
2) 采用2位8段数码管作为输出显示设备,显示按下的数字及简单的功能。
3) 由于所有键盘在按下或者弹起的时候均有按键抖动,所以应该采用去抖电路,当检测到有按键按下去的时候,应该延时20ms后,再进行检测,如果仍有键盘按键被按下去的话,则进行键盘读值。
矩阵键盘模块key_4_4的RTL电路图如下 所示。
由图中可以看出,最简单的去抖方法就是每隔一段时间读一次键盘,时间间隔大于10ms即可。如果连续两次检测都有按键被按下,则可以肯定有按键被按下,而且也进入闭合稳定期。 三、数码管显示译码模块设计
数码管显示译码电路主要用来对实际的二进制数据装换为8段数码管的实际显示控制码,采用两个2位的8段共阴极数码管,数码管的显示方式有两种:静态显示和动态显示。具体如下:
静态显示方式:所谓静态显示就是指无论是多少位数码管,同时处于显示状态。
静态显示的优点是:数码管显示无闪烁,亮度高,软件控制比较容易;缺点是:需要的硬件电路较多(每一个数码管都需要一个锁存器),将造成很大的不便,同时由于所有数码管都处于被点亮状态,所以需要的电流很大,当数码管的数量增多时,对电源的要求也就随之增高。所以,在大部分的硬件电路设计中,很少采用静态显示方式。
动态显示方式:所谓动态显示,是指无论在任何时刻只有一个数码管处于显示状态,每个数码管轮流显示。
动态显示的优点是:硬件电路简单(数码管越多,这个优势越明显),由于每个时刻只有一个数码管被点亮,所以所有数码管消耗的电流较小;缺点是:数码管亮度不如静态显示时的亮度高,例如有8个数码管,以1秒为单位,每个数码管点亮的时间只有1/8秒,所以亮度较低;如果刷新率较低,会出现闪烁现象;如果数码管直接与单片机连接,软件控制上会比较麻烦等。
显示译码方式如下:
1) 时钟上升沿到来时分别对位选和段选进行译码。
2) 将输入的2bite位选数据译码成4比特数据控制数码管的2位,由于是共阴极数码管要选定相应的数码管则使该位位低电平,其它位为高电平即可,如:0000译码为0111_1111,对应于实验板上的左边第一位数码管。
3) 将输入的4bite段选数据译码为8比特数据控制8个LED的亮灭,最高位接A,最低位接小数点位DP。若要显示0则对应的译码为 8’b1111_1100。
四、仿真
没有键按下时行循环输出“1110”“1101”“1011”“0111”
当随机按下时行保持所按下的状态不变
五、结论
这次EDA课程设计历时十天,学到很多很多的东西。同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,都会很高兴。在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总
您可能关注的文档
- BUCK变换器设计毕业设计.doc
- c语言程序设计:图书信息管理系统毕业设计.doc
- C语言程序设计课程设计毕业设计.doc
- EDA设计基于FPGA的任意波形发生器毕业设计.doc
- IIR数字滤波器设计数字信号处理课程设计毕业设计.doc
- KTV包房管理系统体系结构设计报告毕业设计.doc
- KTV数据库设计报告毕业设计.doc
- LTI系统的建模,设计,仿真毕业设计.doc
- MATLAB仿真与应用通信系统设计毕业设计.doc
- 八路数字定时抢答器设计仿真与制作毕业设计.doc
- 2026年EVA包装产品项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年DC/AC铃流信号发生器项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年广播电视单收站天线项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年丙纶纺丝用降温母料项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年设备管理系统项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年柱状滤芯项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年澳式卷闸机项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年卵磷脂胶囊项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年涤丝纺布项目可行性研究报告(市场数据调查、监测研究).docx
- 2026年成套直线光轴项目可行性研究报告(市场数据调查、监测研究).docx
最近下载
- 厦门市同安区事业单位招聘考试题目及答案2025.docx VIP
- 公示A646-0059宗地光明新区观光站综合体项目pdf - 重庆市环境保护.PDF
- 草坪学 全套课件.ppt VIP
- 物理-河南普通高中青桐鸣大联考2024-2025学年2025届高三年级上学期1月期末考试试题和答案.docx VIP
- 弱电工程入侵报警系统(含紧急求助)设计方案全.docx VIP
- 《化学催化催化剂》课件.ppt VIP
- 金相检验二级试题.pdf VIP
- 未遂事故管理制度.docx VIP
- 安徽医科大学2021年春季学期护理专业《健康评估》期末考试试卷.docx VIP
- NB_T 20436-2017压水堆核电厂水化学控制.pdf
原创力文档

文档评论(0)