-键盘接口技术应用 .pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机组成的控制系统通常需要配置键盘,用户可以通过键盘向单片机输入数据或命令,以便实现控制系统的人机对话。键盘可以直接利用口线连接按键开关、开关型传感器或电子线路来实现,内部程序仅通过判断口线的电平就能够确定输入的键值。采用这种识别方式的键盘称为非编码键盘。非编码键盘设计简单,使用方便,且因为具有共用端,容易直接同开关电路或开关型传感器连接。但是这种方式的口线利用率较低,受单片机口线数量的限制,其键盘规模无法做大。 按键的特点及工作原理 按键的分类: 触点式:机械;无触点式:电气 键输入原理: 通过按键的接通与断开,产生两种相反的逻辑状态 低电平“0”与高电平“1”。 键功能的实现: 对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器ACC,然后判断是数字键还是功能键,若是数字键,则将键号对应的数字送入相关输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。 键盘接口需要解决的问题 键盘在使用中还应考虑到人员操作或机械特性在接触时产生的抖动问题,即按键开关在接通或断开瞬间并非完全可靠接触,而是存在一个抖动期,在此期间的电平变化波形如图所示。图中tH为开关断开时口线上高电平存在的时间,tL为开关闭合时口线上低电平稳定存在的时间,tW1、tW2为键按下和松开时的抖动期存在时间。抖动期一般不超过10 ms。在口线电平抖动期间,单片机无法准确检测出口线电平的正确值,必须采取一定的措施进行鉴别。 独立式按键 ORG 0000H 如果不送高电平 ,原来是低电平 KB: MOV P1,#0FFH; 状态的管脚读进来会出错 MOV A,P1;有键按下为0,无键按下为1 CPL A ANL A,#07H;屏蔽其它位状态 JZ KB LCALL D10MS;去抖动 MOV A,P1 CPL A ANL A,#07H JZ KB 矩阵式按键 键值产生的原理 1) 扫描法产生键值   具体方法是,以行线作为扫描输出,以列线作为接收输入,依次将行线置为低电平,并在列线上逐次接收数据。扫描完成后,如果发现接收到的某一列线有低电平,则表示该列线与行线连接的按键已经闭合。在接收到低电平的那次扫描中,行线数据与列线数据的组合便是所期望的键值,由该键值可确定闭合键在矩阵连接中的连接位置。 2) 线反转识别法产生键值   具体方法是,先将行线全部置为低电平,列线全部置为高电平,从列线对应的I/O口线接收数据,如果发现有口线变低,则证明该列线与闭合的按键连接。反之,将列线全部置为低电平,行线全部置为高电平,从行线对应的I/O口线接收数据,如果发现有口线变低,则证明该行线与闭合的按键连接。对上述两次操作的结果所获得的两个8位数据进行综合分析,便可确定闭合的按键所在位置。 键按下/释放判断 按键识别——扫描法 流程: 当第0列处于低电平时,逐行查找是否有行线变低,若有,则第0列与该行的交叉点按键按下;若无,则表示第0列无键按下,再让下一列处在低电平,依此循环,这种方式称为键盘扫描。 键号=行首键号(0、4、8、12)+列号(0、1、2、3) 例2:键盘扫描程序 SERCH: MOV R2,#0EFH ;让某一列为0 MOV R3,#00H ; R3作为列号的寄存器 LINE0: MOV A,R2 MOV P1,A ; 对应的列为低电平了 MOV A,P1 JB ACC.3,LINE1;为1,没有键按下,查下一行 MOV A,#00H ;为0,有键按下,存行首号 AJMP TRYK LINE1: JB ACC.2,LINE2 MOV A,#04H AJMP TRYK LINE2: JB ACC.1,LINE3 MOV A,

文档评论(0)

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

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

1亿VIP精品文档

相关文档