当前位置:文档之家› 第5章 智能仪器人机交互接口PPT课件

第5章 智能仪器人机交互接口PPT课件


为了保证键闭合一次,CPU仅做一次处理,在程序中需要等到 待闭合键释放后再执行相应的键处理程序。
返回 上页 下页
识键 译键
向所有行线输出低电平
输入各列线状态
列线状态全为高电平,则无键按下; 列线状态中有低电平,则有键按下。
➢ 行设为输出低电平;列 设为输入,读入列线状态。 ➢ 列设为输出低电平;行 设为输入,读入行线状态。 ➢ 将两次读数合成代码, 即特征码(特征码中隐含 着按键的位置),建立键
系统首先判断有无按 键按下,有键按下, 则延时10ms消除抖动, 再查询按键状态并执 行相应的操作,然后 等待按键释放。
返回 上页 下页
定时扫描方式
利用定时器产生定时 (10ms)中断,CPU响 应中断对键盘进行扫描, 并在有键闭合时转入该键 的功能处理程序。
KM 抖动标志; KP 处理标志;
返回 上页 下页
DB 0BDH,07DH, 0EBH,0DBH,0BBH,07BH
DB 0E7H,0D7H,0B7H,077H, 0FFH ;空键特征码
返回 上页 下页
3.键值分析程序
任务
对键盘的操作做出识别并调用相应的功 能程序模块完成预定的任务。
单义键
一键一义,CPU只需根据键码执行相应的 程序,主要适用于功能比较简单的仪器 系统.
返回 上页 下页
扫描法
4*8矩阵键盘接口电路
返回 上页 下页
扫描法处理步骤
识键 消抖
PC输出00H,读PA状态。若PA口全为1,则无 键闭合;若有口线为0,则有键闭合。
有键闭合时,软件延时10~20ms,重新识键, 有键闭合时,执行下一步,否则退出。
译键 等待释放
从PC口依次使键盘的一根行线为0(该行线所 在行即为行号),输出不同的扫描字,然后读 取PA值,若PA口全为1,则无键闭合,否则, 为0的口线,其所在的列线,即为列号。
中断扫描方式
前两种方式下,CPU 可能空扫描或不能及时响 应键输入。
有键按下时,产生中断 信号给CPU,CPU响应中断, 执行中断扫描并进行按键处 理。
返回 上页 下页
2) 非编码矩阵式键盘
结构特点
➢ 排列成4*4矩阵式结构;
➢ 每条列线接上拉电阻;
➢ 无键按下时,行线与列线 不相连;
➢ 当某个键按下时,该按键 所在的行、列相连;
MOV A,R3
MOVC
A,@A+DPTR
CJNE A,20H,KEY3 ;未找到特征码,继续查找
MOV A,R3 ;顺序码存入A
RET CJNE A,#0FFH,KEY2;特征码表没查完,查下一个值
MOV A,#0FFH ;无键按下处理,赋A值
RET
DB 0EEH,0DEH,0BEH,07EH,0EDH,0DDH,
;取P1口高4位存入A
ORL A,20H;合成特征码
CJNE A,#0FFH,KEY1 ;无键按下则返回
RET
RET
返回 上页 下页
KEY1: KEY2:
KEY3: KEYTAB:
MOV 20H,A ;特征码送到20H
MOV DPTR,#KEYTAB
MOV R3,#0FFH ;顺序码初始化
INC R3
检测到按键按下或松开时,延时再判断按键状态,
确认是否有键按下。
返回 上页 下页
(2)单次键入与连击
(a)按键单击处理 (b)按键连击处理
返回 上页 下页
(3)串键处理
➢两键同时按下 两个键同时按下时产生保护作用。
方法一
最后仍被按下的键是有效的正确按键。
方法二
当第一个按键未松开时,第二个键不 产生键值。
;大于255时,DPH+1
NADD:JMP@A+DPTR ;转至键处理子程序入口地址
TAB:AJMP PROG
;键处理子程序入口地址表
AJMP PROG2
……
AJMP PROGn
DIGIT:……
;数字键处理,送显示缓冲区
返回 上页 下页
2) 多义键的键值分析程序设计
(1)双义键键值分析程序
双义键
为了节省命令键的数量,经常采用双功能键。
码与特征码关系。
线反转法
4*4矩阵键盘接口电路
返回 上页 下页
返回 上页 下页
KEY:
ORG 0200H
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
4.1 键盘与接口
1. 键盘概述
键盘
一组按键集合,最常见输入设备。 断开、闭合两种状态。
键盘接口涉及问题
(1)识键:确定是否有键按下。
(2)译键:识别按键并确定键值。
(3)键值分析:根据键值找出相应处理程
序的入口并执行。
返回
下页
键盘输入需解决问题 (1)按键抖动
按键抖动过程
硬件(RS触发器)消抖
软件(延时消抖)
➢N键同时按下
不理会所有被按下的键,直至只剩下一个键按下 时为止。
➢N键锁定
只处理一个键,任何其他按下又松开的键不产生键 值。通常第一个被按下或最后一个松开的键产生键码。
返回 上页 下页
2. 键盘工作原理与接口电路
独立式键盘、非编 码矩阵式键盘
通常采用软件的方法,逐行 逐列检查键盘状态,当发现 有键按下时,用计算或查表 的方式获得该键的键值
多义键
一键具有两个或两个以上的含义,需做 键语分析,按照规定的键语语法,把由 键序组合成的输入序列的含义译出后 执行相应的键盘处理程序。
返回 上页 下页
1)单义键的键值分析程序设计
单义键
根据当前按键的键值,把控制程序转到相应处 理程序的入口,而无须知道在此之前的按键情 况。
优点
简明直观,程序处理方便。 单义键键值分析流程图
返回 上页 下页
例:累加器A中为按键键值,当按键键值小于0AH 时为数字键,大于或等于0AH时为命令键。
CLR C
SUBB A,#0AH
;判断是数字键还是命令键
JC DIGIT
;是数字键则转数字处理子程序
MOV DPTR,#TAB ;键处理入口地址表首地址
ADD A,A
;键值×2
JNC NADD
INC DPH
编码式键盘
内部设有键盘编码器,被按下键的 键值由编码器直接给出,同时具有 防抖和解决连击的功能,具有速度 快的特点。
返回 上页 下页
1) 独立式键盘 (a) 直接连接 (b)通过扩展口连接
结构特点
一个按键占用一条接口线,各按键电路独立。 结构简单,识别容易,占较多口线。
返回 上页 下页
程序扫描方式
相关主题