[矩阵键盘按键的数码管显示矩阵键盘按键的数码管显示.docVIP

[矩阵键盘按键的数码管显示矩阵键盘按键的数码管显示.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[矩阵键盘按键的数码管显示矩阵键盘按键的数码管显示

一、 矩阵键盘按键的数码管显示 1.实验目的 (1)掌握VHDL语言的语法规范,掌握时序电路描述方法 (2)掌握多个数码管动态扫描显示的原理及设计方法 2.实验所用仪器及元器件 计算机一台 实验板一块 电源线一根 扁平线一根 下载线一根 实验任务 要求设计出4*4矩阵键盘对某一按键按下就在数码管显示一个数字。按键从左上角到右下角依次为1,2,…,16。 实验原理 按键模块原理 键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出4行为高电平,然后输出4列为低电平,在读入输出的4行的值,通常高电平会被低电平拉低,如果读入的4行均为高电平,那么肯定没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。 键盘键值的获取:键盘上的每一个按键其实就是一个开关电路,当某键被按下时,该按键的接点会呈现0的状态,反之,未被按下时则呈现逻辑1的状态。扫描信号由row进入键盘,变化的顺序依次为1110-1101-1011-0111-1110。每一次扫描一排,依次地周而复始。例如现在的扫描信号为1011,代表目前正在扫描9,10,11,12这一排的按键,如果这排当中没有按键被按下的话,则由column读出的值为1111;反之当9这个按键被按下的话,则由column读出的值为1110。 根据上面所述原理,我们可得到各按键的位置与数码关系如表所示: row 1110 1110 1110 1110 1101 1101 1101 1101 column 1110 1101 1011 0111 1110 1101 1011 0111 键值 1 2 3 4 5 6 7 8 row 1011 1011 1011 1011 0111 0111 0111 0111 column 1110 1101 1011 0111 1110 1101 1011 0111 键值 9 10 11 12 13 14 15 16 动态显示原理 为使得输入控制电路简单且易于实现,采用动态扫描的方式实现设计要求。动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。 各位数码管的相同段是并联的,段码的输出对各位数码管来说都是相同的。因此在同一时刻如果各位数码管都处于点亮状态,6位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位处于点亮状态,而其它各位处于灭灯状态。同时,段码输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出要显示的字符。 虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。 总之,多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50Hz,将看不到闪烁现象。 设计思路 该程序可分为两个模块:获取并存储键值模块和动态显示模块 获取并存储键值模块:此次实验只要求仿真而不需要接硬件,因而不存在按键这个动作,所以键盘扫描原理在这里并不适用。在程序设计中我们将row和column都设置为输入信号,则低电平出现的行和列所交处即为按键处,以此简单模拟按键。根据上表所列,将对应按键的键值存储在key_code中。这样就完成了键值的存储。 动态显示模块:此次实验只需用到两个显示数码管,因此只要用一个高频时钟信号控制这两个数码管交替亮灭,并在对应位显示正确的键值,就完成动态显示了。 综上就可以实现矩阵案件的数码管显示了。具体流程图如下: 仿真波形 当row=1110,column=1110时,key_code=0000,键值为1,所以第一个数码管不亮,第二个数码管显示1,如下图: 当row=0111,column=0111时,key_code=1111,键值为16,所以第一个数码管显示1,第二个数码管显示6,如下图: 硬件实现 以上步骤都完成后,在硬件上实现就比较简单了。此时要注意两个问题:第一,时钟频率的设置,在仿真时由于没有外在时钟源,所以把row和co

文档评论(0)

lunwen1978 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档