- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.2.1 键盘接口概述 按键开关去抖动问题 键盘未按下时,A点电位为高电平5V;按键按下时,A点电位为低电平。 键盘的抖动时间一般为5~10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。 消除抖动不良后果的方法: (1)硬件去抖动 (2)软件去抖动:在第一次检测到按键按下后,执行延时10ms子程序后再确认该键是否确实按下,从而消除抖动的影响。 按键连接方式 ⑴ 独立式按键 各按键相互独立,每个按键占用一根I/O端线。 特点:①各按键相互独立,电路配置灵活;②按键数量较多时,I/O端线耗费较多,电路结构繁杂;③软件结构简单。 适用于按键数量较少的场合。 ⑵ 矩阵式键盘(行列式键盘) I/O端线分为行线和列线,按键跨接在行线和列线上,按键按下时,行线与列线连通。特点: ①占用I/O端线较少; ②软件结构教复杂。 适用于按键较多的场合。 键盘扫描控制方式 ⑴ 程序控制扫描方式 在CPU工作之余,调用键盘扫描子程序,响应键输入信号要求,键处理程序固定在主程序的某个程序段。当主程序运行到该程序段时,依次扫描键盘,判断有否键输入。若有,则计算按键编号,执行相应键功能子程序。 特点:对CPU工作影响小,但应考虑键盘处理程序的运行间隔周期不能太长,否则会影响对键输入响应的及时性。 ⑵ 定时控制扫描方式 利用定时/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能子程序。 特点:与程序控制扫描方式的区别是,在扫描间隔时间内,前者用CPU工作程序填充,后者用定时/计数器定时控制。定时控制扫描方式也应考虑定时时间不能太长,否则会影响对键输入响应的及时性。 ⑶ 中断控制方式 利用外部中断源,响应键输入信号。当无键按下时,CPU执行正常工作程序。当有键按下时,CPU立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该键的功能子程序。 特点:克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但要占用一个宝贵的中断资源。 9.2.2 独立式按键及其接口电路 独立式按键电路比较简单,判断有无键按下只需根据相应端口电平高低。 按键直接与I/O口连接 (a)为键按下输入低电平,(b)为键按下输入高电平。 例9-8 按图9-13(a)、(b),试分别编制按键扫描子程序。 解:按图9-13(a)编程如下: KEYA:ORL P1, ;置P1.0~P1.2为输入态 MOV A,P1 ;读键值,键闭合相应位为0 CPL A ;取反,键闭合相应位为1 ANL A,;屏蔽高5位,保留有键值信息的低3位 JZ GRET ;全0,无键闭合,返回 LCALL DY10ms ;非全0,有键闭合,延时10ms,软件去抖动 MOV A,P1 ;重读键值,键闭合相应位为0 CPL A ;取反,键闭合相应位为1 ANL A,;屏蔽高5位,保留有键值信息的低3位 JZ GRET ;全0,无键闭合,返回;非全0,确认有键闭合 JB Acc.0,KA0 ;转0#键功能程序 JB Acc.1,KA1 ;转1#键功能程序 JB Acc.2,KA2 ;转2#键功能程序 GRET:RET KA0: LCALL WORK0 ;执行0#键功能子程序 RET KA1: LCALL WORK1 ;执行1#键功能子程序 RET KA2: LCALL WORK2 ;执行2#键功能子程序 RET 按键与扩展I/O口连接 ⑴ 按键与并行扩展I/O口连接 例9-9 按图9-14,试编制按键扫描子程序,将键信号存入内RAM 30H。 解:编程如下: KEY99: MOV DPTR,#7FFFH ;置74373口地址 MOVX A,@DPTR ;输入键信号(“0”有效) MOV 30H,A ;存键信号数据 RET
原创力文档


文档评论(0)