- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章智能仪器人机交互接口剖析
键盘与接口; 重点:;4.1 键盘与接口;(1)按键抖动;(2)单次键入与连击;(3)串键处理;2. 键盘工作原理与接口电路;(1)独立式键盘; 系统首先判断有无按键按下,有键按下,则延时10ms消除抖动,再查询按键状态并执行相应的操作,然后等待按键释放。; 利用定时器产生定时中断,CPU响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能处理程序。如图4.6所示为一种定时扫描程序流程图,图中,KM为去抖动标志,KP为处理标志。
; 前两种方式下,CPU可能空扫描或不能及时响应键输入。
;(2) 非编码矩阵式键盘;扫描法;扫描法处理步骤;;线反转法;向所有行线输出低电平 ;行设为输出,且输出低电平;列设为输入,读入列线状态。
列设为输出,且输出低电平;行设为输入。读入行线状态。
根据两次读数,合成一个代码,即特征码(特征码中隐含着按键的位置),建立键码与特征码关系。 ; 将第一步中I/O口线的传送方向反过来,即原来作为输出的P1.7~P1.4口线作为输入线,原来作为输出的P1.3~P1.0口线作为输出线。; 由于各特征码离散性很大,不便于编程处理,故可以对按键按顺序编号,得到顺序码。编程时可以通过按下键的特征码查出对应的顺序码,以便于反转处理。; ORG 0200H
KEY: MOV P1,#0FH ;从P1高4位输出0000
MOV A,P1
ANL A,#0FH
MOV 20H,A ;取P1口低4位存入20H
MOV P1,#0F0H ;从P1低4位输出0000
MOV A,P1
ANL A,#0F0H ;取P1口高4位存入A
ORL A,20H ;合成特征码
CJNE A,#0FFH,KEY1 ;无键按下则返回
RET
;KEY1: MOV 20H,A ;特征码送到20H
MOV DPTR,#KEYTAB
MOV R3,#0FFH ;顺序码初始化
KEY2: INC R3
MOV A,R3
MOVC A,@A+DPTR
CJNE A,20H,KEY3 ;未找到特征码,继续查找
MOV A,R3 ;顺序码存入A
RET
KEY3: CJNE A,#0FFH,KEY2;特征码表没查完,查下一个值
MOV A,#0FFH ;无键按下处理,赋A值
RET
KEYTAB: DB 0EEH,0DEH,0BEH,07EH,0EDH,0DDH,
DB 0BDH,07DH, 0EBH,0DBH,0BBH,07BH
DB 0E7H,0D7H,0B7H,077H, 0FFH ;空键特征码;3.键值分析程序;(1)单义键的键值分析程序设计; CLR C
SUBB A,#0AH ;判断是数字键还是命令键
JC DIGIT ;是数字键则转数字处理子程序
MOV DPTR,#TAB ;键处理入口地址表首地址
ADD A,A ;键值×2
JNC NADD
INC DPH ;大于255时,DPH+1
NADD:JMP @A+DPTR ;转至键处理子程序入口地址
TAB: AJMP PROG ;键处理子程序入口地址表
AJMP PROG2
……
AJMP PROGn
DIGIT:…… ;数字键处理,送显示缓冲区;(2) 多义键的键值分析程序设计; 在组成一个命令的按键序列中,除了取决于以前按了什么键,还取决于当前按了什么键,因此对于多义键的键盘管理程序,首先要判断一个按键序列(而不是一次按键)是否已构成一个合法命令,若已构成合法命令,则执行命令,否则等待新的按键键入。 ;例: 以一8回路温控仪为例说明多义键的键盘管理程序设计过程。 ;;;图4.14 多义键键值分析程序流程图; 假设6个按键直接与单片机的P1.0~P1.5连接,键编码分别是FEH(R)、FDH(S)、FBH(△)、F7H(▽)、EFH(C)、DFH(P),内存RAM 20H中高4位为回路号,低4位为参数号. ; RUN: JNB 07H,RUN1 ;若C≠8,则转RUN1
RET
RUN1: …… ;运行子程序
RET
STOP: …… ;停止当前回路运行子程序
RET
INCR: JNB 07H,INC1 ;若C≠8,则转INC1
RET
INC1:MOV R0,#20H
MOV A,@R0
ANL A,#0FH
CJNE A,#01H,INC2 ;若P≠1,则转INC2
RET
INC2: …… ;当前回路的P参数+1
RET
DECR:
您可能关注的文档
最近下载
- 特种设备作业人员监督管理办法课件.pptx VIP
- “十五五”研究系列:“十五五”前瞻初探.docx VIP
- 时间线时间轴流程图大事记商务版PPT模板合集.pptx VIP
- 2024年儿科急救知识竞赛试题库及答案(精华版).pptx VIP
- 银河证券“十五五”规划展望系列:“十五五”时期投资机遇前瞻【25年9月】.pdf VIP
- 2025年政府采购基础知识练习试题含答案.docx VIP
- 2025年儿科急救知识竞赛试题库及答案(一).docx VIP
- 2024年广发银行(郑州分行)校园招聘模拟试题及答案解析.docx VIP
- 9.14小数乘法计算应用题.doc VIP
- 2022年儿科急救知识竞赛试题库及答案(超强) .pdf VIP
文档评论(0)