第五章 MCS-51系列单片机的接口.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文档。上传文档
查看更多
第五章 MCS-51系列单片机的接口与应用;第一节 扳键开关、拨盘开关、按钮、键盘和单片机的接口;5.1.1 键盘与单片机的接口 ;二、 键盘的工作原理;硬件去抖动 软件去抖动 ;键盘的形式有以下两种: 独立式键盘 编码式键盘 1. 独立式键盘 每一个按键的电路是独立的,占用一条数据线 。这种键盘占用硬件资源多,适合少量按键的情况。;独立式键盘模型;独立式键盘与单片机接口;独立式键盘与单片机接口;KB01:CJNE A,#02H,KB02 DEC 20H ;K2键闭合,20单元减1 SJMP KB KB02:CJNE A,#04H,KB03 MOV 21H,#00H ;K3键闭合,21H单元清0 SJMP KB KB03:CJNE A,#08H,KB MOV 21H,#0FFH ;K4键闭合,21H单元置FF SJMP KB ;若有两键以上闭合则返回;矩阵式键盘结构;扫描原理: 首先确定是否有键闭合 然后逐一扫描以进一步确定是哪一键闭合 ;矩阵式键盘与单片机接口;一、程序扫描方式 三个步骤: 判断有无键按下; 软件延时10ms去抖动; 求键的位置(行、列)。 ;程序清单: KSCAN:ACALL KEYS1   ;调用判键闭合子程序 JNZ KEY1   ;有键闭合则转至去抖动 AJMP RETURN  ;无键闭合则返回 KEY1: ACALL D10MS   ;调用10ms延时程序 ACALL KEYS1   ;再次调用判键闭合子程序 JNZ KEY2   ;确认有键闭合,开始扫描 AJMP RETURN  ;无键闭合则返回 KEY2: MOV R2,#0FEH ;送首列扫描字 MOV R4,#00H ;送首列号 KEY0: MOV A,R2 MOV P1,A MOV A,P1 ;扫描字从P1口送出 JB ACC.4,LINE1 ;第1行无键闭合,转第2行 MOV A,#00H ;第1行首键号送A AJMP KPV ;转键值计算程序;LINE1: JB ACC.5,LINE2 ;第2行无键闭合,转第3行 MOV A,#04H ;第2行首键号送A AJMP KPV ;转键值计算程序 LINE2: JB ACC.6,LINE3 ;第3行无键闭合,转第4行 MOV A,#08H ;第3行首键号送A AJMP KPV ;转键值计算程序 LINE3: JB ACC.7,NEXT ;第4行无键闭合,转下1列 MOV A,#0CH ;第4行首键号送A KPV: ADD A,R4 ;计算键值 PUSH ACC KEY3: ACALL KEYS1 ;等待键释放 JNZ KEYS1 POP ACC SETB FLAG ;置有键按下标志 SJMP KEY4 RETURN:CLR FLAG ;清有键按下标志 KEY4: RET NEXT: INC R4 ;列号加1; MOV A,R2 CJNE A,#0F7H,RETURN ;判断4行是否都已扫描完, ;完则返回 RL A ;为扫描下1行做准备 MOV R2,A AJMP KEY0 ;开始扫描下1列 KEYS1:MOV P1,#0F0H ;判键闭合子程序 MOV A,P1 CPL A ANL A,#0F0H RET D10MS:MOV R7,#14H ;10ms延时子程序 DLY: MOV R6,#0F8H DLY1: DJNZ R6,DLY1 DJNZ R7,DLY RET;中断扫描方式 该方式利用定时器10ms产生一次中断,设置两个标志(FLAG1、FLAG2),FLAG1用于去抖动标志,FLAG2用于键处理标志;INTT0: MOV TL0,#0F0H ;中断服务,重新给定时器赋初值 MOV TH0,#0D8H ACALL KEYS1 ;判断键是否按下 JNZ KB1 ;有键按下则转至KB1 CLR FLAG1 ;清除抖动标志 CLR FLAG2 ;清除处理标志 AJMP KB2 ;中断返回 KB1: JB FLAG1,KB3 ;判抖动标志是否有效 SETB FLAG1 ;无效则设置成有效 AJMP KB2 ;返回 KB3: JB FLAG2,KB2 MOV R2,#0FEH ;送首列扫描字 MOV R4,#00H ;送首列号 KEY0: MOV A,R2 MOV P1,A MO

文档评论(0)

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

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

1亿VIP精品文档

相关文档