eda课程设计-基于vhdl的键盘扫描及显示电路

eda课程设计-基于vhdl的键盘扫描及显示电路

ID:6331484

大小:157.50 KB

页数:14页

时间:2018-01-10

eda课程设计-基于vhdl的键盘扫描及显示电路_第1页
eda课程设计-基于vhdl的键盘扫描及显示电路_第2页
eda课程设计-基于vhdl的键盘扫描及显示电路_第3页
eda课程设计-基于vhdl的键盘扫描及显示电路_第4页
eda课程设计-基于vhdl的键盘扫描及显示电路_第5页
资源描述:

《eda课程设计-基于vhdl的键盘扫描及显示电路》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于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,可以在编写

2、程序时,将输出信号KEY_HANG[3..0]与输入信号KEY_LIE[3..0]同时判断,比如可以认为当数据“KEY_HANG&KEY_LIE”为“01110111”时,可译码成数据1,。同理可得其他按键的编码。根据不同数据的编码译成不同的数据。名称IO属性描述备注clkin输入时钟,1K和40K频率KEY_HANG[3..0]out矩阵键盘的扫描输入端口KEY_LIE[3:0]in矩阵键盘的扫描输出端口STARTout数据输出标志 DISPDATA[6..0]out数码管译码显示译码输出7bitD

3、ASPSEL[1..0]out数码管扫描输出2bitCLK_1KCLK_1KSTARTKEY_HANG[3..0]CLE_40KDATA_P[7..0]DISPDATA[6..0]KEY_LIEDASPSEL[1..0]CLK_40K二、设计思路:1.循环输出行信号,检测列信号输入,将行列信号相并。2.译键值。3.去抖动。在译没一个键值后,为了防止抖动,加了一个计算环节,一旦检测到列信号后,译码,紧跟着进入计数环节,此时键抖动不会进入其他环节,这样可以防止抖动。4.数码管译码、循环显示。电路的具体功能

4、罗列如下:1)采用4×4矩阵键盘作为操作数和操作符的输入设备。2)采用2位8段数码管作为输出显示设备,显示按下的数字及简单的功能。3)由于所有键盘在按下或者弹起的时候均有按键抖动,所以应该采用去抖电路,当检测到有按键按下去的时候,应该延时20ms后,再进行检测,如果仍有键盘按键被按下去的话,则进行键盘读值。矩阵键盘模块key_4_4的RTL电路图如下所示。当CLK_1K上升沿到来时状态转为state0,然后判断列与非后的值,看是否有按键按下,如果有输入数据,则自动启动20ms的计数器,当计满数后,产生

5、一个指示信号,此信号为1bit,高电平有效。当读到此指示信号后,便再次将row信号锁存至寄存器,便得到键盘的一个返回值。如果row没有变化,则state转换为state2,对第二行进行按键扫描。依此类推,扫描第三行与第四行。因为普通的按键都是接触式的,当按键闭合或释放时,上下接触面都会产生一个很短暂的抖动,如图2.2所示,这个抖动时间一般都会持续5-10ms,虽然这个抖动时间很短,但对于FPGA工作在50M的高频率上的器件来说,还是可以捕捉的到的。为了使CPU对于一次按键操作只处理一次,在软件中必须加

6、入去除抖动处理。图2.2按键闭合时产生的抖动由图中可以看出,最简单的去抖方法就是每隔一段时间读一次键盘,时间间隔大于10ms即可。如果连续两次检测都有按键被按下,则可以肯定有按键被按下,而且也进入闭合稳定期。三、数码管显示译码模块设计数码管显示译码电路主要用来对实际的二进制数据装换为8段数码管的实际显示控制码,采用两个2位的8段共阴极数码管,数码管的显示方式有两种:静态显示和动态显示。具体如下:静态显示方式:所谓静态显示就是指无论是多少位数码管,同时处于显示状态。静态显示的优点是:数码管显示无闪烁,亮

7、度高,软件控制比较容易;缺点是:需要的硬件电路较多(每一个数码管都需要一个锁存器),将造成很大的不便,同时由于所有数码管都处于被点亮状态,所以需要的电流很大,当数码管的数量增多时,对电源的要求也就随之增高。所以,在大部分的硬件电路设计中,很少采用静态显示方式。动态显示方式:所谓动态显示,是指无论在任何时刻只有一个数码管处于显示状态,每个数码管轮流显示。动态显示的优点是:硬件电路简单(数码管越多,这个优势越明显),由于每个时刻只有一个数码管被点亮,所以所有数码管消耗的电流较小;缺点是:数码管亮度不如静态

8、显示时的亮度高,例如有8个数码管,以1秒为单位,每个数码管点亮的时间只有1/8秒,所以亮度较低;如果刷新率较低,会出现闪烁现象;如果数码管直接与单片机连接,软件控制上会比较麻烦等。显示译码方式如下:1)时钟上升沿到来时分别对位选和段选进行译码。2)将输入的2bite位选数据译码成4比特数据控制数码管的2位,由于是共阴极数码管要选定相应的数码管则使该位位低电平,其它位为高电平即可,如:0000译码为0111_1111,对应于实验板上的左边第一位数码管。3)

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

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

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