智能仪器仪表第三章智能仪器人机接口的简单介绍及实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
独立式键盘接口 软件流程图
上例CPU经常处于空扫描状态。为进一步提高CPU效率,可 采用中断工作方式,即只有当键盘中有键被按下时,才执行扫描 工作。下图为采用中断方式处理8只按键的接口电路图
一、 独立式键盘接口电路及程序设计
当无键按下时,8条测试线均为高电平,经8与非门及反相器 后仍为高电平,不会产生中断。当其中任一键按下时,INT0变为低 电平,向8031申请中断。8031响应后便进入中断服务程序, 然后 用扫描方法寻找到申请中断的功能键并执行相应功能处理程序。
(1) 判是否有键按下。使端口 C所有的行输出均为低电平,然 后从端口A读入列值。如果没有键按下,读入值应为FFH,如果 有键按下,则不为FFH。
(2) 若有键按下,则延时10ms,再判断是否确实有键按下。
(3) 若确实有键按下,则求出按下键的键值。其实现方法是对 键盘进行逐行扫描。即先令PC0为0,读入列值,若列值等于FFH, 说明该行无键按下,再令PC1为0,对下一行进行扫描;若列值不 等于FFH,说明该行有键按下,求出其键值。 求键值时要设置行值寄存器和列值寄存器。每扫完一行,若无 键按下,则行值寄存器加上08H;若有键按下,行值寄存器保持 原值,转而求相应的列值。求列值的方法是,将列值右移,每移 位一次列值寄存器加1,直至移出位为低电平为止。最后将行值 和列值相加即得键值。若需要十进制键值,可进行DAA修正。
二、矩阵式键盘接口电路及程序
1. 行扫描法 该图为4×8矩阵键盘与单片机接口电路。8155的端口C 工作 于输出方式,用于行扫描。端口A工作于输入方式,用来读入列值。 由图可知,8155的命令/ 状态寄存器、端口A、端口B和端口C的地 址分别为0100H、0101H、0102H和0103H。
采用编程扫描工作方式的行扫描法步骤如下:
ORG 0100H MAIN: SETB IT0 SETB EX0 SETB EA MOV DPTR,#EF00H MOV A, #02H MOVX @DPTR, A HERE: AJMP HERE
; 选择边沿触发方式 ; 允许外部中断0 ; 允许CPU中断 ; 送8155命令口地址 ; 控制字写入 ; 模拟主程序
二、 矩阵式键盘接口电路及程序
当采用矩阵式键盘时,为了编程方便,应将矩阵键盘中 的每一个按键按一定的顺序编号,这种按顺序排列的编号叫 顺序码,也称键值。 为了求得矩阵式键盘中被按下键的键值,常用的方法有 行扫描法和线路反转法。线路反转法识别键值的速度较快, 但必须借助于可编程的通用接口芯片。 本节介绍两种键盘接口电路及控制软件, 一种是采用编程扫描工作方式的行扫描法来识别键值, 另一种是采用中断工作方式的线路反转法来识别键值。
3.1.1 键盘输入基础知识
一、 键盘的组织
非编码键盘有独立式键盘、矩阵式键盘和交互式键盘之分。
独立式键盘结构的特点是一键一线,即每一个按键单独占用 一根检测线与主机相连, 矩阵式键盘结构的特点是把检测线分成两组,一组为行线, 另一组为列线,按键放在行线和列线的交叉点上。m×n矩阵键 盘与主机连接只需要m+n条线,显然,当需要的按键数目大于8 时,一般都采用矩阵式键盘。 交互式键盘结构的特点是,任意两检测线之间均可以放置一 个按键。很显然,交互式键盘结构所占用的检测线比矩阵式还 要少,但是这种键盘所使用的检测线必须是具有位控功能的双 向I/O端口线。
3.1 键盘与接口
3.1.1 键盘输入基础知识
一、 键盘的组织
键盘按其工作原理可分为编码式键盘和非编码式键盘。 编码式键盘由按键键盘和专用键盘编码器两部分构成。当键 盘中某一按键被按下时,键盘编码器会自动产生对应的按键代 码, 并输出选通脉冲信号与CPU 进行信息联络。 非编码键盘不含编码器,当某键按下时,键盘只送出一个简 单的闭合信号, 对应按键代码的确定必须借助于软件来完成。 显然,非编码键盘的软件是比较复杂的,并且要占用较多的 CPU时间。但非编码键盘可以任意组合、成本低、使用灵活, 因而智能仪器大多采用非编码式键盘。
互锁键是指一组具有互锁关系的按键开关。当这一组按键 开关之一被选择时(即对应的开关接通),与该键有互锁关系的其 他键都将断开。或者说,具有互锁关系的这组按键,某时刻最 多只能有一个键被选择。互锁键在仪器中的应用场合也较多, 例如,某仪器具有5挡量程,则对应这5挡量程的按键开关必须 是互锁键,因为仪器在某一时刻只允许选择一挡量程。
第3章 智能仪器人机接口
3.1 键盘与接口 3.2 LED显示及接口 3.3 键盘/LED显示器接口设计 3.4 CRT显示及接口 3.5 微型打印机及接口
第3章 智能仪器人机接口
人机交互功能即用户与仪器交换信息的功能。 这个功能有两方面的含义:一是用户对智能仪 器进行状态干预和数据输入;二是智能仪器向用户报 告运行状态与处理结果。
ORG 0120H ; 中断服务程序 KEYJMP:MOV R3, #08H ; 设循环次数 MOV DPTR,#0EF01H ; 送A口地址 MOV R4, #00H ; 计数器清零 MOVX A, @DPTR ; 读入按键状态 KEYAD1:RRC A ; 状态字右移一位 JNC KEYAD2 ; C=0,转KEYAD2 INC R4 ; 计数器加1 DJNZ R3, KEYAD1 KEYRET:RETI KEYAD2:MOV DPTR, #JMPTBL MOV A, R4 SB0: … … ;S0键功能程序 RL A ; 转相应功能处理 … … JMP @A+DPTR JMP KEYRET ;S0键执行完返回 JMPTBL:AJMP SB0 ; 入口地址表 SB1: … … ;S1键功能程序 AJMP SB1 … … AJMP SB2 JMP KEYRET AJMP SB3 … … AJMP SB4 … … AJMP SB5 SB7: … … ;S7键功能程序 … … AJMP SB6 JMP KEYRET AJMP SB7
一、 独立式键盘接口电路及程序设计
当其中任一键按下时,INT0变为低电平,向8031申请中断。8031响应后 便进入中断服务程序, 用扫描的方法寻找到申请中断的功能键并执行相应键 功能处理程序。 能完成上述工作的程序清单如下:
ORG 0000H AJMP MAIN ORG 0003H AJMP KEYJMP ; 上电后转主程序 ; 外部中断0入口 ; 指向中断服务程序
3.1.2 键盘接口电路及控制程序
非编码键盘按照与主机连接方式的不同,有 独立式、矩阵式和交互式之分。本节将对其接口 电路及程序设计分别予以讨论。 一、 独立式键盘接口电路及程序设计 二、 矩阵式键盘接口电路及程序 三、 交互式键盘接口电路及编程方法
一、 独立式键盘接口电路及程序设计
独立式键盘的每个按键占用一根测试线,它们可以直接与 单片机I/O 线相接或通过输入口与数据线相接,结构很简单。 这些测试线相互独立无编码关系,因而键盘软件不存在译码问 题,一旦检测到某测试线上有键闭合,便可直接转入到相应的 键功能处理程序进行处理。
(2) 中断工作方式: 当键盘中有按键按下时,硬件会产生 中断申请信号,CPU响应中断申请后对键盘进行扫描,并转入 与按下键相应的键功能处理程序。优点:由于在无键按下时不 进行键扫描,CPU工作效率高,并能确保对用户的每次按键操 作做出迅速的响应。 (3) 定时扫描工作方式: 利用专门定时器产生定时中断申 请信号。由于每次按键的持续时间一般不小于100ms,为了不 漏检,定时中断的周期一般应小于100ms 。
把连击现象加以合理利用, 有时会给操作者带来方便。例 如在某些简易仪器没安排0~9 数字按键,而合理利用连击现 象,只设置一只调整按键,采 用加1(或减1 )的方法来调整 有关参数。具体实现软件流程 图如图(b)所示,
五、 无锁键、自锁键及互锁键 电子仪器需要用到无锁键、自锁键、互锁键等按键类型
(2) 软件延时法:当判定按键按下时,用软件延时10ms~ 20ms,等待按键稳定后重新再判一次,以躲过触点抖动期。
四、 键连击的处理
当按下某按键时,对应的功能分析程序会得以执行。如果 在操作者释放按键之前,对应的功能得以多次执行,如同操作 者在连续不断操作该键一样,这种现象就称为连击。 连击现象可用图(a)所示流 程图的软件方法来解决,
一个实际三个按 键的独立式键盘接口 电路如右图所示:
一、 独立式键盘接口电路及程序设计
首先判断有无键按下; 若检测到有键按下,延时10ms避开抖动的影响,查询是哪 一键被按下并执行相关的操作。 然后再用软件查询等待按键的释放,当判明键释放后,用 软件延时10ms后再返回。
第二次延时的作用是: 一方面避开按键释放时触点 抖动的影响;另一方面也具 有防连击的功能。 该软件对两个以上的键 被同时按下(串键)具有判低 序号按键有效的功能。
(4) 为保证按键每闭合一次CPU只做一次处理,程序需等闭合 的键释放后再对其做处理
ORG 0200H KEYPR:MOV DPTR, #0100H MOV A,#0CH MOVX @DPTR, A MOV R3, #00H MOV R4, #00H ACALL KEXAM JZ KEND ACALL D10ms ACALL KEXAM JZ KEND MOV R2 #0FEH KEY1: MOV DPTR, #0103H MOV A, R2 MOVX @DPTR, A MOV DPTR, #0101H MOVX A, @DPTR CPL A ANL A, #0FFH JNZ KEY2
五、 无锁键、自锁键及互锁键
传统仪器中,无锁、自锁及互锁的功能都是通过采用不同 机械结构的无锁键、自锁键及互锁键来实现的。
智能仪器中,仪器面板上的按键开关一般只使用机械结构 最简单的无锁键,即通常所说的常态为开路的按键开关。
智能仪器自锁及互锁的开关功能需要借助软件设置特定的 标志位等办法,使无锁键也具有自锁及互锁的功能。 通过软件使无锁键也具有自锁及互锁功能的方法将结合具 体仪器讨论。
3.1.1 键盘输入基础知识
一、 键盘的组织 二、 键盘的工作方式
编程扫描工作方式、中断工作方式和定时扫描工作方式。
(1) 编程扫描工作方式:也称查询方式。 (2) 中断工作方式:
(3) 定时扫描工作方式:
二、 键盘的工作方式
(1) 编程扫描工作方式: 该方式也称查询方式,它是利用 CPU在完成其他工作的空余调用键盘扫描程序,以响应键输入 的要求。当CPU在运行其他程序时,它就不会再响应键输入要 求,因此,采用该方式编程时, 应考虑程序是否能对用户的每 次按键都会做出及时的响应。
无锁键即按键。当键按下时,按键的两个触头接通;松开 时,两个触头断开,恢复开路。无锁键在逻辑上等效于单稳态。
自锁键在逻辑上等效于双稳态。当第一次按下时(包括松开 后),其按键两个触头接通;第二次按下及松开后,两个触头又 断开,不断地按此规律动作。自锁键常用在仪器二选一选择开 关等场合,例如,交/直流耦合选择等。
实现智能仪器人机交互功能的部件有键盘、 显示器和打印机等,这些部件同智能仪器主体电路的 连接是由人机接口电路来完成的.
人机接口技术是智能仪器设计的关键技术之一。
源自文库
3.1 键盘与接口
含硬件与软件两部分。硬件指键盘的组织,即键盘结构及 其与主机的连接方式;软件是指对按键操作的识别与分析,称 为键盘管理程序。
键盘与接口的任务大体可分为下列几项:
(1) 识键: 判断是否有键按下。若有,则进行译码;若无, 则等待或转做别的工作。 (2) 译键: 识别出哪一个键被按下并求出被按下键的键值。 (3) 键值分析: 根据键值,找出对应处理程序的入口并执 行之。 本节侧重讨论 (1)和(2)两项工作, 下一节侧重讨论键值分 析方法。 (1)和(2)两项工作通常合称为扫描。
三、 键抖动及消除
当按键被按下或释放时,按键触点的弹性会产生一种抖动 现象。即当按键按下时,触点不会迅速可靠地接通;当按键释 放时,触点也不会立即断开,而是要经过一段时间的抖动才能 稳定下来。抖动时间视按键材料不同一般为5ms~10ms。
键抖动可能导致计算机将一次按键操作识别为多次操作,为 克服这种由键抖动所致的误判,常采用如下措施: (1) 硬件电路消除法:利用RS触发器来吸收按键的抖动如图 所示。一旦有按键按下时,触发器就立即翻转,触点的抖动便 不会再对输出产生影响,按键释放时亦然。