键盘矩阵计控课设.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 1设计任务及要求 1 1.1初始条件 1 1.2要求完成的主要任务 1 2方案比较及认证 1 3键盘扫描原理 3 4系统硬件设计 4 4.1选用元器件 4 4.1.1 8031单片机 4 4.1.2 8155芯片 7 4.2 硬件电路 10 4.2.1矩阵式键盘电路 10 4.2.2时钟电路和复位电路 11 4.2.3非编码键盘的总电路 12 5系统软件设计 13 5.1软件思想 13 5.2 程序流程图 14 5.3源程序 15 6调试记录及结果分析 18 心得体会 19 参考文献 20 附录 21 附录1 8031单片机资料 21 附录2 8155芯片资料 21 附录3 程序清单 22 非编码键盘的扫描程序设计 1设计任务及要求 1.1初始条件 1.通过8155扩展I/O口组成6×6行列式键盘 2.利用8031微控制器 1.2要求完成的主要任务 1.技术指标:对键盘按键能够正确识别,去抖动 2.工作原理:键盘扫描 3.课程设计说明书应包括 设计任务及要求 方案比较及认证 键盘扫描原理 硬件原理,电路图,采用器件的功能说明 软件思想,流程,源程序 调试记录及结果分析 参考资料 附录:芯片资料,程序清单 总结 2方案比较及认证 (1)键盘去抖动方案的选择 键盘采用机械弹性开关来反映一个电压信号的开、断。由于机械触点的弹性作用,在闭合和断开的瞬间会有抖动发生。抖动时间的长短由按键的机械特性决定,一般在5~10ms之间。抖动会造成被查询的开关状态无法准确读到。例如开关刚刚断开,只是因为抖动误认为开关又发生第二次闭合,这显然是不允许的。为此必须采取一些去抖动的措施,以免误读。 去抖动措施有硬件和软件两种方法。硬件去抖动的办法,就是不把开关直接接到接口,而是如图2-1那样,加接一个RS触发器,只有开关脱离a而接到b时,触发器才能翻转,才能输出一个稳定的电平。软件去抖动是在检测到有按键按下时,执行一个10~20ms的延时程序,避开抖动信号,然后再次检测该键是否确实闭合,如果再次检测时,查不到有键按下,说明并非有效按键信号,应放弃初测结果,以免误动作。 硬件去抖动方式一般用在对按键操作过程比较严格的场合。采用硬件去抖动电路将导致系统硬件电路设计复杂化,会增加设计成本。软件去抖动方式可以简单地通过编程实现,降低了设计成本。 通过以上分析,决定采用软件去抖动方式。 (2)扫描方式的选择 通常,键盘扫描方式有三种,及编程扫描、定时扫描和中断扫描。 编程扫描就是CPU对键盘的扫描采取程序控制方式,一旦进入键扫描状态,则反复的扫描键盘,等待用户从键盘上输入命令或数据。而在执行键入命令或处理键入数据过程中,CPU将不再响应键入要求,直到CPU返回重新扫描键盘为止。 定时扫描就是CPU每隔一定的时间(如10ms)对键盘扫描一遍。当发现有键按下时,便进行读入键盘操作,以求出键值,并分别经行处理。定时时间间隔由单片机内部定时器/计数器来完成,这样可以减少计算机扫描键盘的时间,以减少CPU的开销。具体做法是,当定时时间一到,定时器便自动输出一脉冲信号,使CPU转去执行扫描程序。但有一点需要指出,即采用定时扫描法时,必须在其初始化程序中,对定时器写入相应的命令,使之能定时产生中断,以完成定时扫描的任务。 中断扫描的工作过程如下:当无键按下时,CPU不对键盘进行扫描以节省出大量的时间对系统经行监控和数据处理,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。无论是编程扫描还是定时扫描,均占用CPU大量的时间。无论有没有输入操作,CPU总要在一定的时间内进行扫描,这对于单片机控制系统是很不利的。中断扫描更进一步的节省了CPU的时间, 由于本次课程设计只是设计一个行列式键盘,所以不用去考虑节省CPU的时间,而且编程扫描比定时扫描的控制程序简单,所以选用编程扫描方式。 图2-1 RS触发器去抖动电路 3键盘扫描原理 行列式键盘又称为矩阵式键盘,适用于按键数量较多的场合,它由行线和列线组成。按键位于行线和列线的交叉点上,行线、列线分别接到按键开关的两端。行线通过上拉电阻接到+5V上。平时无按键动作时,行线处于高电平状态,而当有按键按下时,行线电平状态由与此行线相连的列线电平决定。列线电平如果为低,则行线电平为低;列线电平如果为高,则行线电平亦为高。这一点是识别矩阵键盘按键是否被按下的关键所在。由于矩阵键盘中行线、列线为多键共用,各按键均影响该键所在的行和列的电平。因此各按键彼此将相互发生影响,所以必须将行线、列线信号配合起来并作适当的处理,才能确定闭合键的位置。 扫描法是非编码键盘常用的方法。 用扫描法来识别矩阵键盘按键分两步经行。 (1)识别有无按键被按下:让所有列线均置为零电平,检查各行线电平是否有变化。如果有变化,则说明有按键被按下

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档