- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第03章 人机交互接口技术
3.1 键盘接口技术 键盘的种类:键盘上闭合键的识别是由专用硬件实现的,称为编码键盘,靠软件实现的称为非编码键盘。 键盘的接口必须解决下列的一些问题: (1)决定是否有键按下; (2)如有键按下,决定是哪一个键被按下; (3)确定被按键的读数; (4)反弹跳—按键抖动的消除。 (5)处理同时按键既同时有一个以上的按键。 3.1.1 非编码键盘 1. 独立连接式非编码键盘 2.矩阵式非编码键盘 3.1.2 键盘信号 键盘信号的获取方法有三种: 程序扫描法 中断扫描法 定时中断法 键盘监控程序设计方法有三种: 直接分析法 状态矩阵法 可编程键盘/显示接口 如8279 3.1.3 编码键盘 编码键盘的基本任务是识别按键,提供按键读数,一个高质量的编码键盘还应具有反弹跳、处理同时按键等功能. 静态编码器—普通编码器如74148 可编程键盘/显示接口 如8279 静态式编码器接口 3.1.4 非编码键盘的扫描程序设计 下面以通过8155扩展I/O口组成的4×8非编码键盘为例介绍行列式键盘工作原理及扫描程序设计。 通过8155扩展I/O口组成的4×8非编码键盘如图所示。 1. 键盘工作原理 确定按下的键的键号:为了方便键处理程序的设计,一般采用依次排列键值的方法,以保证键值和键号一致。比如,根据行列式键盘工作原理,图中的32个键的键值如下(X为任意值): 2. 键盘扫描程序设计 较常用的键盘扫描的工作方式有编程扫描方式和中断扫描方式两种。 (1)编程扫描方式 设在主程序中已将8155的PA口为基本输出口,PC口为基本输入口。 键盘扫描程序流程框图如图所示。 键盘扫描子程序清单: KEY1:ACALLKS1 ;有无键按下子程序 JNZ LK1 ;有键按下,转去抖延时 AJMP KEY1 ;无键按下,继续扫描 LK1: ACALL DELA12 ;12ms延时程序调用 ACALL KS1 ;判断键是否真正按下 JNZ LK2 ;有键按下,转逐列扫描 AJMP KEY1 ;无键按下,继续扫描 LK2: MOV R2,#0FEH ;设置首列扫描字 MOV R4,#00H ;保存首列号 LK4: MOV DPTR,#7F01H ;列扫描字送至PA口 MOV A,R2 MOVX @DPTR,A INC DPTR ;指向PC口 INC DPTR MOVX A,@DPTR ;读入行状态 JB ACC.0,LONE ;第0行无键按下,转LONE MOV A,#00H ;有键按下,设置行首键号 AJMP LKP ;转求键号 LONE: JB ACC.1,LTWO ;第1行无键按下,转LTWO MOV A,#08H ;有键按下,设置行首键号 AJMP LKP ;转求键号 LTWO: JB ACC.2,LTHR ;第2行无键按下,转LTHR MOV A,#10H ;有键按下,设置行首键? AJMP LKP ;转求键号 LTHR:JB ACC.3,NEXT ;第3行无键按下,查下一列 MOV A,#18H ;有键按下,设置行首键 LKP: ADD A,R4 ;求键号,键号=行首键号+列号 PUSH ACC ;保护键号 LK3: ACALL KS1 ;等待键释放 JNZ LK3 ;键未释放,继续等待 POP ACC ;键释放,键号送A AJMP OVER ;键扫描结束 NEXT: INC R4 ;列号加1,指向下一列 MOV A,R2 ;判断8列扫描完否 JNB ACC.7,KND ;8列扫描完,继续 RL A ;扫描字左移一位 MOV R2,A ;送扫描字 AJMP LK4 ;转下一列扫描 KND: AJMP KEY1 OVER: RET ;键扫描结束 KS1: MOV DPTR,#7F01H ;指向PA口 MOV A,#00H ;设置扫描字 MOVX @DPTR,A ;扫描字送PA口 INC DPTR ;指向PC口 INC DPTR MOVX A,@DPTR ;读入PC口状态 CPL ;以高电平表示有键按下 ANL A,#0FH ;屏蔽高4位 RET (2)中断扫描工作方式 3.1.5 编码键盘 8276和51系列的单片机的连接非常简单,其接口电路的一般连接方法如图所示。 当有键按下 时,8276内部由硬件自动生成一个与之相应的代码,编码的格式如表所示。 8×8键盘的键值如表所示。 3.2.1 LED显示
文档评论(0)