- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 2025重庆长江师范学院科研助理招聘13人笔试参考题库附答案解析.docx VIP
- 国际医学研究报告清单及规范:5-CARE Checklist 案例报告.docx
- 软件概要设计说明书.doc VIP
- 武汉理工大学855信号与系统2022考研真题试卷.pdf VIP
- 爆破行业风险评价方法、爆破作业风险分级管控指南、风险分级管控清单、隐患排查清单、台账.pdf VIP
- 2025年财政部高层次财会人才选拔考试综合试题及答案.docx VIP
- 国际贸易学_金泽虎主编_电子教案.ppt
- 2025年财政部高层次财会人才选拔考试测试题及答案.docx VIP
- 医学三基考试试题及答案.doc VIP
- 2025年职场 性格25PF测试题 .pdf VIP
文档评论(0)