智能仪器人机接口.ppt
《智能仪器人机接口.ppt》由会员分享,可在线阅读,更多相关《智能仪器人机接口.ppt(74页珍藏版)》请在三一办公上搜索。
1、第3章 智能仪器人机接口,3.1 键盘与接口 3.2 LED显示及接口 3.3 键盘/LED显示器接口设计 3.4 CRT显示及接口 3.5 微型打印机及接口,第3章 智能仪器人机接口,人机交互功能即用户与仪器交换信息的功能。这个功能有两方面的含义:一是用户对智能仪器进行状态干预和数据输入;二是智能仪器向用户报告运行状态与处理结果。实现智能仪器人机交互功能的部件有键盘、显示器和打印机等,这些部件同智能仪器主体电路的连接是由人机接口电路来完成的.人机接口技术是智能仪器设计的关键技术之一。,3.1 键盘与接口,含硬件与软件两部分。硬件指键盘的组织,即键盘结构及其与主机的连接方式;软件是指对按键操作
2、的识别与分析,称为键盘管理程序。键盘与接口的任务大体可分为下列几项:(1)识键:判断是否有键按下。若有,则进行译码;若无,则等待或转做别的工作。(2)译键:识别出哪一个键被按下并求出被按下键的键值。(3)键值分析:根据键值,找出对应处理程序的入口并执行之。本节侧重讨论(1)和(2)两项工作,下一节侧重讨论键值分析方法。(1)和(2)两项工作通常合称为扫描。,3.1 键盘与接口,3.1.1 键盘输入基础知识,一、键盘的组织,键盘按其工作原理可分为编码式键盘和非编码式键盘。编码式键盘由按键键盘和专用键盘编码器两部分构成。当键盘中某一按键被按下时,键盘编码器会自动产生对应的按键代码,并输出选通脉冲信
3、号与CPU 进行信息联络。非编码键盘不含编码器,当某键按下时,键盘只送出一个简单的闭合信号,对应按键代码的确定必须借助于软件来完成。显然,非编码键盘的软件是比较复杂的,并且要占用较多的CPU时间。但非编码键盘可以任意组合、成本低、使用灵活,因而智能仪器大多采用非编码式键盘。,3.1.1 键盘输入基础知识,一、键盘的组织,非编码键盘有独立式键盘、矩阵式键盘和交互式键盘之分。独立式键盘结构的特点是一键一线,即每一个按键单独占用一根检测线与主机相连,矩阵式键盘结构的特点是把检测线分成两组,一组为行线,另一组为列线,按键放在行线和列线的交叉点上。mn矩阵键盘与主机连接只需要m+n条线,显然,当需要的按
4、键数目大于8时,一般都采用矩阵式键盘。交互式键盘结构的特点是,任意两检测线之间均可以放置一个按键。很显然,交互式键盘结构所占用的检测线比矩阵式还要少,但是这种键盘所使用的检测线必须是具有位控功能的双向I/O端口线。,3.1.1 键盘输入基础知识,一、键盘的组织,编程扫描工作方式、中断工作方式和定时扫描工作方式。编程扫描工作方式:也称查询方式。中断工作方式:定时扫描工作方式:,二、键盘的工作方式,二、键盘的工作方式,(1)编程扫描工作方式:该方式也称查询方式,它是利用CPU在完成其他工作的空余调用键盘扫描程序,以响应键输入的要求。当CPU在运行其他程序时,它就不会再响应键输入要求,因此,采用该方
5、式编程时,应考虑程序是否能对用户的每次按键都会做出及时的响应。(2)中断工作方式:当键盘中有按键按下时,硬件会产生中断申请信号,CPU响应中断申请后对键盘进行扫描,并转入与按下键相应的键功能处理程序。优点:由于在无键按下时不进行键扫描,CPU工作效率高,并能确保对用户的每次按键操作做出迅速的响应。(3)定时扫描工作方式:利用专门定时器产生定时中断申请信号。由于每次按键的持续时间一般不小于100ms,为了不漏检,定时中断的周期一般应小于100ms。,三、键抖动及消除,当按键被按下或释放时,按键触点的弹性会产生一种抖动现象。即当按键按下时,触点不会迅速可靠地接通;当按键释放时,触点也不会立即断开,
6、而是要经过一段时间的抖动才能稳定下来。抖动时间视按键材料不同一般为5ms10ms。,键抖动可能导致计算机将一次按键操作识别为多次操作,为克服这种由键抖动所致的误判,常采用如下措施:(1)硬件电路消除法:利用RS触发器来吸收按键的抖动如图所示。一旦有按键按下时,触发器就立即翻转,触点的抖动便不会再对输出产生影响,按键释放时亦然。(2)软件延时法:当判定按键按下时,用软件延时10ms20ms,等待按键稳定后重新再判一次,以躲过触点抖动期。,四、键连击的处理,当按下某按键时,对应的功能分析程序会得以执行。如果在操作者释放按键之前,对应的功能得以多次执行,如同操作者在连续不断操作该键一样,这种现象就称
7、为连击。,连击现象可用图(a)所示流程图的软件方法来解决,把连击现象加以合理利用,有时会给操作者带来方便。例如在某些简易仪器没安排09数字按键,而合理利用连击现象,只设置一只调整按键,采用加1(或减1)的方法来调整有关参数。具体实现软件流程图如图(b)所示,,五、无锁键、自锁键及互锁键,无锁键即按键。当键按下时,按键的两个触头接通;松开时,两个触头断开,恢复开路。无锁键在逻辑上等效于单稳态。自锁键在逻辑上等效于双稳态。当第一次按下时(包括松开后),其按键两个触头接通;第二次按下及松开后,两个触头又断开,不断地按此规律动作。自锁键常用在仪器二选一选择开关等场合,例如,交/直流耦合选择等。互锁键是
8、指一组具有互锁关系的按键开关。当这一组按键开关之一被选择时(即对应的开关接通),与该键有互锁关系的其他键都将断开。或者说,具有互锁关系的这组按键,某时刻最多只能有一个键被选择。互锁键在仪器中的应用场合也较多,例如,某仪器具有5挡量程,则对应这5挡量程的按键开关必须是互锁键,因为仪器在某一时刻只允许选择一挡量程。,电子仪器需要用到无锁键、自锁键、互锁键等按键类型,五、无锁键、自锁键及互锁键,传统仪器中,无锁、自锁及互锁的功能都是通过采用不同机械结构的无锁键、自锁键及互锁键来实现的。,智能仪器中,仪器面板上的按键开关一般只使用机械结构最简单的无锁键,即通常所说的常态为开路的按键开关。智能仪器自锁及
9、互锁的开关功能需要借助软件设置特定的标志位等办法,使无锁键也具有自锁及互锁的功能。通过软件使无锁键也具有自锁及互锁功能的方法将结合具体仪器讨论。,3.1.2 键盘接口电路及控制程序,一、独立式键盘接口电路及程序设计,非编码键盘按照与主机连接方式的不同,有独立式、矩阵式和交互式之分。本节将对其接口电路及程序设计分别予以讨论。,二、矩阵式键盘接口电路及程序,三、交互式键盘接口电路及编程方法,一、独立式键盘接口电路及程序设计,独立式键盘的每个按键占用一根测试线,它们可以直接与单片机IO 线相接或通过输入口与数据线相接,结构很简单。这些测试线相互独立无编码关系,因而键盘软件不存在译码问题,一旦检测到某
10、测试线上有键闭合,便可直接转入到相应的键功能处理程序进行处理。,一个实际三个按键的独立式键盘接口电路如右图所示:,一、独立式键盘接口电路及程序设计,首先判断有无键按下;若检测到有键按下,延时10ms避开抖动的影响,查询是哪一键被按下并执行相关的操作。然后再用软件查询等待按键的释放,当判明键释放后,用软件延时10ms后再返回。,第二次延时的作用是:一方面避开按键释放时触点抖动的影响;另一方面也具有防连击的功能。该软件对两个以上的键被同时按下(串键)具有判低序号按键有效的功能。,独立式键盘接口软件流程图,上例CPU经常处于空扫描状态。为进一步提高CPU效率,可采用中断工作方式,即只有当键盘中有键被
11、按下时,才执行扫描工作。下图为采用中断方式处理只按键的接口电路图,一、独立式键盘接口电路及程序设计,当无键按下时,条测试线均为高电平,经与非门及反相器后仍为高电平,不会产生中断。当其中任一键按下时,INT0变为低电平,向8031申请中断。8031响应后便进入中断服务程序,然后用扫描方法寻找到申请中断的功能键并执行相应功能处理程序。,一、独立式键盘接口电路及程序设计,ORG 0000H AJMP MAIN;上电后转主程序ORG 0003H;外部中断0入口 AJMP KEYJMP;指向中断服务程序 ORG 0100H MAIN:SETB IT0;选择边沿触发方式 SETB EX0;允许外部中断0
12、SETB EA;允许CPU中断 MOV DPTR,#EF00H;送8155命令口地址 MOV A,#02H MOVX DPTR,A;控制字写入HERE:AJMP HERE;模拟主程序,当其中任一键按下时,INT0变为低电平,向8031申请中断。8031响应后便进入中断服务程序,用扫描的方法寻找到申请中断的功能键并执行相应键功能处理程序。能完成上述工作的程序清单如下:,ORG 0120H;中断服务程序KEYJMP:MOV R3,#08H;设循环次数 MOV DPTR,#0EF01H;送A口地址 MOV R4,#00H;计数器清零 MOVX A,DPTR;读入按键状态KEYAD1:RRC A;状态
13、字右移一位 JNC KEYAD2;C=0,转KEYAD2 INC R4;计数器加1 DJNZ R3,KEYAD1 KEYRET:RETIKEYAD2:MOV DPTR,#JMPTBL MOV A,R4 RL A JMP A+DPTR;转相应功能处理JMPTBL:AJMP SB0;入口地址表 AJMP SB1 AJMP SB2 AJMP SB3 AJMP SB4 AJMP SB5 AJMP SB6 AJMP SB7,SB0:;S0键功能程序 JMP KEYRET;S0键执行完返回SB1:;S1键功能程序 JMP KEYRET SB7:;S7键功能程序 JMP KEYRET,二、矩阵式键盘接口电路
14、及程序,当采用矩阵式键盘时,为了编程方便,应将矩阵键盘中的每一个按键按一定的顺序编号,这种按顺序排列的编号叫顺序码,也称键值。为了求得矩阵式键盘中被按下键的键值,常用的方法有行扫描法和线路反转法。线路反转法识别键值的速度较快,但必须借助于可编程的通用接口芯片。本节介绍两种键盘接口电路及控制软件,一种是采用编程扫描工作方式的行扫描法来识别键值,另一种是采用中断工作方式的线路反转法来识别键值。,二、矩阵式键盘接口电路及程序,1.行扫描法 该图为48矩阵键盘与单片机接口电路。8155的端口C 工作于输出方式,用于行扫描。端口A工作于输入方式,用来读入列值。由图可知,8155的命令/状态寄存器、端口A
15、、端口B和端口C的地址分别为0100H、0101H、0102H和0103H。,采用编程扫描工作方式的行扫描法步骤如下:(1)判是否有键按下。使端口 C所有的行输出均为低电平,然后从端口A读入列值。如果没有键按下,读入值应为FFH,如果有键按下,则不为FFH。(2)若有键按下,则延时10ms,再判断是否确实有键按下。(3)若确实有键按下,则求出按下键的键值。其实现方法是对键盘进行逐行扫描。即先令PC0为0,读入列值,若列值等于FFH,说明该行无键按下,再令PC1为0,对下一行进行扫描;若列值不等于FFH,说明该行有键按下,求出其键值。求键值时要设置行值寄存器和列值寄存器。每扫完一行,若无键按下,
16、则行值寄存器加上08H;若有键按下,行值寄存器保持原值,转而求相应的列值。求列值的方法是,将列值右移,每移位一次列值寄存器加1,直至移出位为低电平为止。最后将行值和列值相加即得键值。若需要十进制键值,可进行DAA修正。(4)为保证按键每闭合一次CPU只做一次处理,程序需等闭合的键释放后再对其做处理,ORG 0200H KEYPR:MOV DPTR,#0100H;8155初始化 MOV A,#0CH MOVX DPTR,A;控制字写入 MOV R3,#00H;列寄存器清零 MOV R4,#00H;行寄存器清零 ACALL KEXAM;检查有无键按下 JZ KEND;无键按下返回 ACALL D1
17、0ms ACALL KEXAM;再次检查有无键按下 JZ KEND MOV R2#0FEH;输出使X0为0KEY1:MOV DPTR,#0103H;送C口地址 MOV A,R2 MOVX DPTR,A;扫描某一行 MOV DPTR,#0101H;送A口地址 MOVX A,DPTR;读列值模型 CPL A ANL A,#0FFH JNZ KEY2;有键按下,求列值,MOV A,R4;无键按下,行+8 ADD A,#08H MOV R4,A MOV A,R2;求下列为低电平模型 RL A MOV R2,A JB ACC.4,KEY1;判是否已全扫描 AJMP KENDKEY2:CPL A;恢复列模
18、型KEY3:INC R3 RRC A JC KEY3KEY4:ACALL D10ms ACALL KEXAM JNZ KEY4;等待键释放 MOV A,R4;计算键值 ADD A,R3 MOV BUFF,A;键值存入BUFFKEDN:RETBUFF:EQU 30H,D10ms:MOV R5,#14H;延时子程序DL:MOV R6,#0FFHDL0:DJNZ R6,DL0 DJNZ R5,DL RET,KEXAM:MOV DPTR,#0103H;检查是否有键按下子程序 MOV A,#00H MOVX DPTR,A MOV DPTR,#0101H MOVX A,DPTR CPL A ANL A,#
19、0FFH RET,二、矩阵式键盘接口电路及程序,2.线路反转法 这种方法需要采用可编程的输入/输出接口8255,8155等,若采用单片机,也可直接与单片机的I/O口相接。下面键盘电路为例来说明线路反转法的原理。,交互式键盘的控制程序一般都采用查询方式。为了编程方便,对键盘中的按键进行了编码,每个按键安排了一个2位数的扫描码,其第一位数代表该键所位于的列线号,第二位数代表该键所位于的行线号。,轮流使某一I/O端口线为输出,输出低电平,并记录其对应的列线号为i;同时让其他I/O端口线为输入,以判别对应列中的按键是否有键按下。,若有键按下就记录对应的行线号j,则可根椐记录的i,j求出按下键的扫描码,
20、其值为KD=i10H+j。,具体实现程序略。,一、直接分析法,直接分析法就是根据当前按键的键值,把控制直接分支到相应处理程序的入口,而无须知道在此之前的按键情况。图3-10 显示出用直接分析法设计的键盘分析程序的典型结构。直接分析法的核心是一张如图3-11所示的一维转移表。转移表内登记各处理程序的入口。根据键值查阅转移表,即可获得相应的处理程序入口。,一、直接分析法,简单多义键的分析程序仍可采用直接分析法,但这时要用多张转移表,在组成一个命令的按键序列中,前几个按键起着引导的作用,把控制引向某张合适的转移表。基于上述思想的分析程序框图可用图3-12来说明。图中,A,B 两键为双义键,MODE
21、键用来把控制方向引向转移表2,以区别A键、B键的两种含义。,二、状态分析法,直接分析法的优点是简明直观,缺点是命令的识别和处理程序的执行交错在一起,相互牵制,层次不清楚,当采用多用键,复用次数较多时,这一矛盾尤其突出。用状态分析法可以克服这些缺点。,状态分析法将键盘分析程序作为时序系统,在一定的条件下系统可以处于某种状态,当条件改变后,它的状态可以发生变迁,即从一个状态变到另一个状态。如果把键盘输入作为分析程序的输入条件,每当一个按键按下时,分析程序将根据它的现行状态和输入条件,决定产生何种相应动作以及变迁到哪一个新状态。在不同的状态下,同一按键又可能会具有不同的含义。引入状态概念后,只需开辟
22、存储单元“记忆”当前状态,不必记住以前按键的情况,就能对当前按键的含义做出正确的解释,简化程序设计。,二、状态分析法,一般来说,状态分析法可分为以下四步进行:(1)用状态图准确表述按键操作序列的定义;(2)由上述状态图导出的状态表。状态表状态表是键盘分析程序的核心。(3)固化状态表:为了让微处理器能使用状态表,应将其转变成可供微处理器查询的形式。(4)设计键盘分析程序的设计,二、状态分析法,为了便于理解,下面以某一种函数发生器为例说明状态分析法具体实施步骤。,某函数发生器面板按键布局示意图,二、状态分析法,(1)用状态图准确表述按键操作序列的定义;,二、状态分析法,(2)由上述状态图导出的状态
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 仪器 人机 接口
链接地址:https://www.31ppt.com/p-5279132.html