s键盘管理与程序设计.pptxVIP

  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文档。上传文档
查看更多
s键盘管理与程序设计会计学 按键的分类第1页/共25页按结构和使用方法的不同,可将按键分为两大类:独立按键和矩阵键盘。独立按键 矩阵键盘 直接用I/O控制,每个按键独占一个I/O特点由行线和列线组成,按键位于交叉点上互不影响,配置灵活,结构简单优点组合灵活,按键数量较多时,节省I/O按键多时,I/O口浪费严重缺点区分和判断按键动作的方法比较复杂按键不超过8只时适用场合按键数量较多时 目 录第2页/共25页 独立键盘与消抖 矩阵键盘与扫描方法 逐行逐列扫描法 独立按键的常用接法 第3页/共25页80C51单片机的两种常见的独立按键接法:VccI/O内部自带弱上拉电阻时,可直接相连,如51的P1、P2、P3口I/O口为开漏结构时,需外接上拉电阻,如51的P0口R1 10KP2.3P0.7S2S1(a) (b)窄脉冲干扰 +E“0”“1”0V理想效果实际效果 按键的“抖动”现象第4页/共25页按键的抖动:按键在人手指按压/释放簧片的瞬间,因接触不良而产生的反复跳动现象。按键的结构:和电路图中的符号极为相似,它是靠镀银的铜合金簧片在按键柄的挤压下接触而导通,松开后簧片恢复原状而脱离接触断开。“抖动”的脉冲宽度一般在几十到几百微秒,也可能达到毫秒级,若加在运行速度很快的数字电路中将会产生很大的影响。比如将发生“抖动”现象的按键作为数字电路的时钟输入,则每按一次键都会产生一串极不稳定的脉冲。Vcc刚释放时出现抖动未按下时为高电平R1 10KP0.7S1刚按下时出现抖动刚释放时出现抖动按下稳定后为低电平 按键的“抖动”测试原理第5页/共25页编程思路:用按键模拟计数输入信号,用4位LED数码管显示计数值。实验现象:在理想效果下,每按一次键,I/O口仅检测到1次高/低电平转换,计数加1;在实际效果中,由于“抖动”存在,每按一次键, I/O口检测到多次电平转换,计数好几次。VccR10K理想效果: 实际效果: com1 com1 com2 com2 com3 com3 com4 com4 P3.4Sabcdefghabcdefgh 按键的“抖动”测试程序第6页/共25页0x7C 0x7D 数码管显示:0xC0 高4位转换的字符码地址 数据 0x7E 0x7A 0xC0 0x00低4位转换的字符码存放4位计数值0x7C 0xC0 0x7B 0x000x010x7F 0xC0 0x7D ORG 0000HStart: MOV 0x7A,#0x00 ;计数器高2位寄存器0x7A清0 MOV 0x7B,#0x00 ;计数器低2位寄存器0x7B清0 LD_Data: MOV R0,#0x7C ;取显示缓冲区首地址到指针R0 MOV A,0x7A ;取计数器高2位数据 ACALL Split_Display_Byte ;将数据字符送显示缓冲区前2个单元 MOV A,0x7B ;取计数器低2位数据 ACALL Split_Display_Byte ;将数据字符送显示缓冲区后2个单元Display_Loop: ACALL Scan_Display_Value;调用显示扫描子程序 JB P3.4, Display_Loop 是否为0?键未按下,转Display_Loop MOV A, #0x01 ;A取加数1 ADD A, 0x7B ;计数器+1 DA A ;10进制修正指令 MOV 0x7B,A ;回存低2位的运算结果到0x7B CLR A ;清0累加器A ADDC A,0x7A ;带进位加法加计数器高2位数据 DA A MOV 0x7A,A ;回存高2位的运算结果到0x7A JNB P3.4, $ ;检查按键是否松开,P3.4=1 本地循环 AJMP LD_Data ;按键松开,转LD_Data存放将计数值转换成数码管显示的字符码0x7E 0x7F com4 com3 com2 com1 判断是否有按键按下abcdefgh 按键的“抖动”测试程序流程图 第7页/共25页流程图 计数器清0计数值转换成字符码数码管显示计数N P3.4=1?P3.4=0?Y 计数器+1,调整10进制数N Y +EY:R 110K+Etd0VK 消除“抖动”的方法第8页/共25页思考题:① 如何增加延时消除“抖动”,请尝试修改前面的程序。② 如果认真观察实验,一定会发现前面的程序有一个小小的不足,就是在按键按下的瞬间显示器会熄灭,请分析原因。软件消抖:在按键按下的瞬间启动定时器开始延时,延时td时间后再判断按键是否仍然按

文档评论(0)

kuailelaifenxian + 关注
官方认证
文档贡献者

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

认证主体太仓市沙溪镇牛文库商务信息咨询服务部
IP属地上海
统一社会信用代码/组织机构代码
92320585MA1WRHUU8N

1亿VIP精品文档

相关文档