第三章智能仪器人机接口2ppt课件_第1页
第三章智能仪器人机接口2ppt课件_第2页
第三章智能仪器人机接口2ppt课件_第3页
第三章智能仪器人机接口2ppt课件_第4页
第三章智能仪器人机接口2ppt课件_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3章章 智能仪器人机接口智能仪器人机接口 3.1 键盘与接口键盘与接口 3.2 LED显示及接口显示及接口 3.3 键盘键盘/LED显示器接口设计显示器接口设计 3.4 CRT显示及接口显示及接口 3.5 微型打印机及接口微型打印机及接口第第3 3章章 智能仪器人机接口智能仪器人机接口 人机交互功能即用户与仪器交换信息的功能。人机交互功能即用户与仪器交换信息的功能。 这个功能有两方面的含义:一是用户对智能仪这个功能有两方面的含义:一是用户对智能仪器进行状态干预和数据输入;二是智能仪器向用户报器进行状态干预和数据输入;二是智能仪器向用户报告运行状态与处理结果。告运行状态与处理结果。 实现

2、智能仪器人实现智能仪器人机交互功能的部件有键盘、机交互功能的部件有键盘、显示器和打印机等,这些部件同智能仪器主体电路的显示器和打印机等,这些部件同智能仪器主体电路的连接是由人机接口电路来完成的连接是由人机接口电路来完成的. 人机接口技术是智能仪器设计的关键技术之一。人机接口技术是智能仪器设计的关键技术之一。 3.1 键盘与接口键盘与接口 含硬件与软件两部分。硬件指键盘的组织,即键盘结构及含硬件与软件两部分。硬件指键盘的组织,即键盘结构及其与主机的连接方式;软件是指对按键操作的识别与分析,称其与主机的连接方式;软件是指对按键操作的识别与分析,称为键盘管理程序。为键盘管理程序。 键盘与接口的任务大

3、体可分为下列几项:键盘与接口的任务大体可分为下列几项: (1) 识键:识键: 判断是否有键按下。若有,则进行译码;若无,判断是否有键按下。若有,则进行译码;若无,则等待或转做别的工作。则等待或转做别的工作。 (2) 译键:译键: 识别出哪一个键被按下并求出被按下键的键值。识别出哪一个键被按下并求出被按下键的键值。 (3) 键值分析:键值分析: 根据键值,找出对应处理程序的入口并执根据键值,找出对应处理程序的入口并执行之。行之。 本节侧重讨论本节侧重讨论 (1)和和(2)两项工作,两项工作, 下一节侧重讨论键值分下一节侧重讨论键值分析方法。析方法。 (1)和和(2)两项工作通常合称为扫描。两项工

4、作通常合称为扫描。3.1 键盘与接口键盘与接口3.1.1 键盘输入基础知识键盘输入基础知识 一、一、 键盘的组织键盘的组织 键盘按其工作原理可分为编码式键盘和非编码式键盘。键盘按其工作原理可分为编码式键盘和非编码式键盘。 编码式键盘由按键键盘和专用键盘编码器两部分构成。当键编码式键盘由按键键盘和专用键盘编码器两部分构成。当键盘中某一按键被按下时,键盘编码器会自动产生对应的按键代盘中某一按键被按下时,键盘编码器会自动产生对应的按键代码,码, 并输出选通脉冲信号与并输出选通脉冲信号与CPU 进行信息联络。进行信息联络。 非编码键盘不含编码器,当某键按下时,键盘只送出一个简非编码键盘不含编码器,当某

5、键按下时,键盘只送出一个简单的闭合信号,单的闭合信号, 对应按键代码的确定必须借助于软件来完成。对应按键代码的确定必须借助于软件来完成。 显然,非编码键盘的软件是比较复杂的,并且要占用较多的显然,非编码键盘的软件是比较复杂的,并且要占用较多的CPU时间。但非编码键盘可以任意组合、成本低、使用灵活,时间。但非编码键盘可以任意组合、成本低、使用灵活, 因而智能仪器大多采用非编码式键盘。因而智能仪器大多采用非编码式键盘。 3.1.1 键盘输入基础知识键盘输入基础知识 一、一、 键盘的组织键盘的组织 非编码键盘有独立式键盘、矩阵式键盘和交互式键盘之分。非编码键盘有独立式键盘、矩阵式键盘和交互式键盘之分

6、。 独立式键盘结构的特点是一键一线,即每一个按键单独占用独立式键盘结构的特点是一键一线,即每一个按键单独占用一根检测线与主机相连,一根检测线与主机相连, 矩阵式键盘结构的特点是把检测线分成两组,一组为行线,矩阵式键盘结构的特点是把检测线分成两组,一组为行线,另一组为列线,按键放在行线和列线的交叉点上。另一组为列线,按键放在行线和列线的交叉点上。mn矩阵键矩阵键盘与主机连接只需要盘与主机连接只需要m+n条线,显然,当需要的按键数目大于条线,显然,当需要的按键数目大于8时,一般都采用矩阵式键盘。时,一般都采用矩阵式键盘。 交互式键盘结构的特点是,任意两检测线之间均可以放置一交互式键盘结构的特点是,

7、任意两检测线之间均可以放置一个按键。很显然,交互式键盘结构所占用的检测线比矩阵式还个按键。很显然,交互式键盘结构所占用的检测线比矩阵式还要少,但是这种键盘所使用的检测线必须是具有位控功能的双要少,但是这种键盘所使用的检测线必须是具有位控功能的双向向I/O端口线。端口线。 3.1.1 键盘输入基础知识键盘输入基础知识 一、一、 键盘的组织键盘的组织 编程扫描工作方式、中断工作方式和定时扫描工作方式。编程扫描工作方式、中断工作方式和定时扫描工作方式。 编程扫描工作方式:也称查询方式。编程扫描工作方式:也称查询方式。 中断工作方式:中断工作方式: 定时扫描工作方式:定时扫描工作方式: 二、二、 键盘

8、的工作方式键盘的工作方式 二、二、 键盘的工作方式键盘的工作方式 (1) 编程扫描工作方式:编程扫描工作方式: 该方式也称查询方式,它是利用该方式也称查询方式,它是利用CPU在完成其他工作的空余调用键盘扫描程序,以响应键输入在完成其他工作的空余调用键盘扫描程序,以响应键输入的要求。当的要求。当CPU在运行其他程序时,它就不会再响应键输入要在运行其他程序时,它就不会再响应键输入要求,因而,采用该方式编程时,求,因而,采用该方式编程时, 应考虑程序是否能对用户的每应考虑程序是否能对用户的每次按键都会做出及时的响应。次按键都会做出及时的响应。 (2) 中断工作方式:中断工作方式: 当键盘中有按键按下

9、时,硬件会产生当键盘中有按键按下时,硬件会产生中断申请信号,中断申请信号,CPU响应中断申请后对键盘进行扫描,并转入响应中断申请后对键盘进行扫描,并转入与按下键相应的键功能处理程序。优点:由于在无键按下时不与按下键相应的键功能处理程序。优点:由于在无键按下时不进行键扫描,进行键扫描,CPU工作效率高,并能确保对用户的每次按键操工作效率高,并能确保对用户的每次按键操作做出迅速的响应。作做出迅速的响应。 (3) 定时扫描工作方式:定时扫描工作方式: 利用专门定时器产生定时中断申利用专门定时器产生定时中断申请信号。由于每次按键的持续时间一般不小于请信号。由于每次按键的持续时间一般不小于100ms,为

10、了不,为了不漏检,定时中断的周期一般应小于漏检,定时中断的周期一般应小于100ms 。三、三、 键抖动及消除键抖动及消除 当按键被按下或释放时,按键触点的弹性会产生一种抖动当按键被按下或释放时,按键触点的弹性会产生一种抖动现象。即当按键按下时,触点不会迅速可靠地接通;当按键释现象。即当按键按下时,触点不会迅速可靠地接通;当按键释放时,触点也不会立即断开,而是要经过一段时间的抖动才能放时,触点也不会立即断开,而是要经过一段时间的抖动才能稳定下来。抖动时间视按键材料不同一般为稳定下来。抖动时间视按键材料不同一般为5ms10ms。 键抖动可能导致计算机将一次按键操作识别为多次操作,为键抖动可能导致计

11、算机将一次按键操作识别为多次操作,为克服这种由键抖动所致的误判,常采用如下措施:克服这种由键抖动所致的误判,常采用如下措施: (1) 硬件电路消除法:利用硬件电路消除法:利用RS触发器来吸收按键的抖动如图触发器来吸收按键的抖动如图所示。一旦有按键按下时,触发器就立即翻转,触点的抖动便所示。一旦有按键按下时,触发器就立即翻转,触点的抖动便不会再对输出产生影响,按键释放时亦然。不会再对输出产生影响,按键释放时亦然。 (2) 软件延时法:当判定按键按下时,用软件延时软件延时法:当判定按键按下时,用软件延时10ms20ms,等待按键稳定后重新再判一次,以躲过触点抖动期。,等待按键稳定后重新再判一次,以

12、躲过触点抖动期。四、四、 键连击的处理键连击的处理 当按下某按键时,对应的功能分析程序会得以执行。如果当按下某按键时,对应的功能分析程序会得以执行。如果在操作者释放按键之前,对应的功能得以多次执行,如同操作在操作者释放按键之前,对应的功能得以多次执行,如同操作者在连续不断操作该键一样,这种现象就称为连击。者在连续不断操作该键一样,这种现象就称为连击。 连击现象可用图(a)所示流程图的软件方法来解决, 把连击现象加以合理利用,有时会给操作者带来方便。例如在某些简易仪器没安排09数字按键,而合理利用连击现象,只设置一只调整按键,采用加1或减1 )的方法来调整有关参数。具体实现软件流程图如图(b)所

13、示, 五、五、 无锁键、自锁键及互锁键无锁键、自锁键及互锁键 无锁键即按键。当键按下时,按键的两个触头接通;松开无锁键即按键。当键按下时,按键的两个触头接通;松开时,两个触头断开,恢复开路。无锁键在逻辑上等效于单稳态。时,两个触头断开,恢复开路。无锁键在逻辑上等效于单稳态。 自锁键在逻辑上等效于双稳态。当第一次按下时自锁键在逻辑上等效于双稳态。当第一次按下时(包括松开包括松开后后),其按键两个触头接通;第二次按下及松开后,两个触头又,其按键两个触头接通;第二次按下及松开后,两个触头又断开,不断地按此规律动作。自锁键常用在仪器二选一选择开断开,不断地按此规律动作。自锁键常用在仪器二选一选择开关等

14、场合,例如,交关等场合,例如,交/直流耦合选择等。直流耦合选择等。 互锁键是指一组具有互锁关系的按键开关。当这一组按键互锁键是指一组具有互锁关系的按键开关。当这一组按键开关之一被选择时开关之一被选择时(即对应的开关接通即对应的开关接通),与该键有互锁关系的其,与该键有互锁关系的其他键都将断开。或者说,具有互锁关系的这组按键,某时刻最他键都将断开。或者说,具有互锁关系的这组按键,某时刻最多只能有一个键被选择。互锁键在仪器中的应用场合也较多,多只能有一个键被选择。互锁键在仪器中的应用场合也较多,例如,某仪器具有例如,某仪器具有5挡量程,则对应这挡量程,则对应这5挡量程的按键开关必须挡量程的按键开关

15、必须是互锁键,因为仪器在某一时刻只允许选择一挡量程。是互锁键,因为仪器在某一时刻只允许选择一挡量程。电子仪器需要用到无锁键、自锁键、互锁键等按键类型电子仪器需要用到无锁键、自锁键、互锁键等按键类型五、五、 无锁键、自锁键及互锁键无锁键、自锁键及互锁键 传统仪器中,无锁、自锁及互锁的功能都是通过采用不同传统仪器中,无锁、自锁及互锁的功能都是通过采用不同机械结构的无锁键、自锁键及互锁键来实现的。机械结构的无锁键、自锁键及互锁键来实现的。 智能仪器中,仪器面板上的按键开关一般只使用机械结构智能仪器中,仪器面板上的按键开关一般只使用机械结构最简单的无锁键,即通常所说的常态为开路的按键开关。最简单的无锁

16、键,即通常所说的常态为开路的按键开关。 智能仪器自锁及互锁的开关功能需要借助软件设置特定的智能仪器自锁及互锁的开关功能需要借助软件设置特定的标志位等办法,使无锁键也具有自锁及互锁的功能。标志位等办法,使无锁键也具有自锁及互锁的功能。 通过软件使无锁键也具有自锁及互锁功能的方法将结合具通过软件使无锁键也具有自锁及互锁功能的方法将结合具体仪器讨论。体仪器讨论。 3.1.2 键盘接口电路及控制程序 一、一、 独立式键盘接口电路及程序设计独立式键盘接口电路及程序设计 非编码键盘按照与主机连接方式的不同,有非编码键盘按照与主机连接方式的不同,有独立式、矩阵式和交互式之分。本节将对其接口独立式、矩阵式和交

17、互式之分。本节将对其接口电路及程序设计分别予以讨论。电路及程序设计分别予以讨论。 二、二、 矩阵式键盘接口电路及程序矩阵式键盘接口电路及程序三、三、 交互式键盘接口电路及编程方法交互式键盘接口电路及编程方法 一、一、 独立式键盘接口电路及程序设计独立式键盘接口电路及程序设计 独立式键盘的每个按键占用一根测试线,它们可以直接与独立式键盘的每个按键占用一根测试线,它们可以直接与单片机单片机IO 线相接或通过输入口与数据线相接,结构很简单。线相接或通过输入口与数据线相接,结构很简单。这些测试线相互独立无编码关系,因而键盘软件不存在译码问这些测试线相互独立无编码关系,因而键盘软件不存在译码问题,一旦检

18、测到某测试线上有键闭合,便可直接转入到相应的题,一旦检测到某测试线上有键闭合,便可直接转入到相应的键功能处理程序进行处理。键功能处理程序进行处理。 一个实际三个按一个实际三个按键的独立式键盘接口键的独立式键盘接口电路如右图所示:电路如右图所示: 一、一、 独立式键盘接口电路及程序设计独立式键盘接口电路及程序设计 首先判断有无键按下;若检测到有键按下,延时10ms避开抖动的影响,查询是哪一键被按下并执行相关的操作。然后再用软件查询等待按键的释放,当判明键释放后,用软件延时10ms后再返回。第二次延时的作用是:一方面避开按键释放时触点抖动的影响;另一方面也具有防连击的功能。该软件对两个以上的键被同

19、时按下(串键)具有判低序号按键有效的功能。独立式键盘接口独立式键盘接口软件流程图软件流程图 上例CPU经常处于空扫描状态。为进一步提高CPU效率,可采用中断工作方式,即只有当键盘中有键被按下时,才执行扫描工作。下图为采用中断方式处理只按键的接口电路图 一、一、 独立式键盘接口电路及程序设计独立式键盘接口电路及程序设计 当无键按下时,条测试线均为高电平,经与非门及反相器后仍为高电平,不会产生中断。当其中任一键按下时,INT0变为低电平,向8031申请中断。8031响应后便进入中断服务程序, 然后用扫描方法寻找到申请中断的功能键并执行相应功能处理程序。 一、一、 独立式键盘接口电路及程序设计独立式

20、键盘接口电路及程序设计 ORG 0000H AJMP MAIN ; 上电后转主程序上电后转主程序ORG 0003H ; 外部中断外部中断0入口入口 AJMP KEYJMP ; 指向中断服务程序指向中断服务程序 ORG 0100H MAIN: SETB IT0 ; 选择边沿触发方式选择边沿触发方式 SETB EX0 ; 允许外部中断允许外部中断0 SETB EA ; 允许允许CPU中断中断 MOV DPTR,#EF00H ; 送送8155命令口地址命令口地址 MOV A, #02H MOVX DPTR, A ; 控制字写入控制字写入HERE: AJMP HERE ; 模拟主程序模拟主程序 当其中

21、任一键按下时,当其中任一键按下时,INT0变为低电平,向变为低电平,向8031申请中断。申请中断。8031响应后响应后便进入中断服务程序,便进入中断服务程序, 用扫描的方法寻找到申请中断的功能键并执行相应键用扫描的方法寻找到申请中断的功能键并执行相应键功能处理程序。功能处理程序。 能完成上述工作的程序清单如下:能完成上述工作的程序清单如下: ORG 0120H ; 中断服务程序中断服务程序KEYJMP:MOV R3, #08H ; 设循环次数设循环次数 MOV DPTR,#0EF01H ; 送送A口地址口地址 MOV R4, #00H ; 计数器清零计数器清零 MOVX A, DPTR ; 读

22、入按键状态读入按键状态KEYAD1:RRC A ; 状态字右移一位状态字右移一位 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 SB7SB0: ;S0键功能程序键功能程序 JMP KEYRE

23、T ;S0键执行完返回键执行完返回SB1: ;S1键功能程序键功能程序 JMP KEYRET SB7: ;S7键功能程序键功能程序 JMP KEYRET 二、二、 矩阵式键盘接口电路及程序矩阵式键盘接口电路及程序 当采用矩阵式键盘时,为了编程方便,应将矩阵键盘中当采用矩阵式键盘时,为了编程方便,应将矩阵键盘中的每一个按键按一定的顺序编号,这种按顺序排列的编号叫的每一个按键按一定的顺序编号,这种按顺序排列的编号叫顺序码,也称键值。顺序码,也称键值。 为了求得矩阵式键盘中被按下键的键值,常用的方法有为了求得矩阵式键盘中被按下键的键值,常用的方法有行扫描法和线路反转法。线路反转法识别键值的速度较快,

24、行扫描法和线路反转法。线路反转法识别键值的速度较快,但必须借助于可编程的通用接口芯片。但必须借助于可编程的通用接口芯片。 本节介绍两种键盘接口电路及控制软件,本节介绍两种键盘接口电路及控制软件, 一种是采用编程扫描工作方式的行扫描法来识别键值,一种是采用编程扫描工作方式的行扫描法来识别键值, 另一种是采用中断工作方式的线路反转法来识别键值。另一种是采用中断工作方式的线路反转法来识别键值。 二、矩阵式键盘接口电路及程序二、矩阵式键盘接口电路及程序1. 行扫描法行扫描法 该图为该图为48矩阵键盘与单片机接口电路。矩阵键盘与单片机接口电路。8155的端口的端口C 工作于工作于输出方式,用于行扫描。端

25、口输出方式,用于行扫描。端口A工作于输入方式,用来读入列值。工作于输入方式,用来读入列值。由图可知,由图可知,8155的命令的命令/ 状态寄存器、端口状态寄存器、端口A、端口、端口B和端口和端口C的地的地址分别为址分别为0100H、0101H、0102H和和0103H。采用编程扫描工作方式的行扫描法步骤如下:采用编程扫描工作方式的行扫描法步骤如下: (1) 判是否有键按下。使端口判是否有键按下。使端口 C所有的行输出均为低电平,然所有的行输出均为低电平,然后从端口后从端口A读入列值。如果没有键按下,读入值应为读入列值。如果没有键按下,读入值应为FFH,如果,如果有键按下,则不为有键按下,则不为

26、FFH。 (2) 若有键按下,则延时若有键按下,则延时10ms,再判断是否确实有键按下。,再判断是否确实有键按下。 (3) 若确实有键按下,则求出按下键的键值。其实现方法是对若确实有键按下,则求出按下键的键值。其实现方法是对键盘进行逐行扫描。即先令键盘进行逐行扫描。即先令PC0为为0,读入列值,若列值等于,读入列值,若列值等于FFH,说明该行无键按下,再令说明该行无键按下,再令PC1为为0,对下一行进行扫描;若列值,对下一行进行扫描;若列值不等于不等于FFH,说明该行有键按下,求出其键值。,说明该行有键按下,求出其键值。 求键值时要设置行值寄存器和列值寄存器。每扫完一行,若无求键值时要设置行值

27、寄存器和列值寄存器。每扫完一行,若无键按下,则行值寄存器加上键按下,则行值寄存器加上08H;若有键按下,行值寄存器保持;若有键按下,行值寄存器保持原值,转而求相应的列值。求列值的方法是,将列值右移,每移原值,转而求相应的列值。求列值的方法是,将列值右移,每移位一次列值寄存器加位一次列值寄存器加1,直至移出位为低电平为止。最后将行值,直至移出位为低电平为止。最后将行值和列值相加即得键值。若需要十进制键值,可进行和列值相加即得键值。若需要十进制键值,可进行DAA修正。修正。(4) 为保证按键每闭合一次为保证按键每闭合一次CPU只做一次处理,程序需等闭合只做一次处理,程序需等闭合的键释放后再对其做处

28、理的键释放后再对其做处理 ORG 0200H KEYPR:MOV DPTR, #0100H ; 8155初始化初始化 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 ; 输出使输出使X0为为0KEY1: MOV DPTR, #

29、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

30、A ; 恢复列模型恢复列模型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 30HD10ms:MOV R5,#14H ; 延时子程序延时子程序DL: MOV R6,#0FFHDL0: DJNZ R6,DL0 DJNZ R5,DL RETKEXAM:MOV DPTR,#0103H ;检查是否有键按下子程序;检查是否有键按下子程序 MOV A,

31、 #00H MOVX DPTR, A MOV DPTR,#0101H MOVX A, DPTR CPL A ANL A,#0FFH RET 二、矩阵式键盘接口电路及程序二、矩阵式键盘接口电路及程序 2. 线路反转法线路反转法 这种方法需要采用可编程的输入这种方法需要采用可编程的输入/输出接口输出接口8255,8155等,等,若采用单片机,也可直接与单片机的若采用单片机,也可直接与单片机的I/O口相接。下面口相接。下面键键盘电路为例来说明线路反转法的原理。盘电路为例来说明线路反转法的原理。 交互式键盘的控制程序一般都采用查询方式。为了编程方交互式键盘的控制程序一般都采用查询方式。为了编程方便,对

32、键盘中的按键进行了编码,每个按键安排了一个便,对键盘中的按键进行了编码,每个按键安排了一个2位数位数的扫描码,其第一位数代表该键所位于的列线号,第二位数代的扫描码,其第一位数代表该键所位于的列线号,第二位数代表该键所位于的行线号。表该键所位于的行线号。 轮流使某一轮流使某一I/O端口线为输出,输出低电平,并记录其对应端口线为输出,输出低电平,并记录其对应的列线号为的列线号为i;同时让其他;同时让其他I/O端口线为输入,以判别对应列中端口线为输入,以判别对应列中的按键是否有键按下。的按键是否有键按下。 若有键按下就记录对应的行线号若有键按下就记录对应的行线号j,则可根椐记录的则可根椐记录的i,j

33、求出按下键的扫描求出按下键的扫描码,其值为码,其值为KD =i10H +j。具体实现程序略。具体实现程序略。 一、一、 直接分析法直接分析法 直接分析法就是根据当前按键的键值,把控制直接分支到相应处理程直接分析法就是根据当前按键的键值,把控制直接分支到相应处理程序的入口,而无须知道在此之前的按键情况。序的入口,而无须知道在此之前的按键情况。 图图3-10 显示出用直接分析法设计的键盘分析程序的典型结构。直接分显示出用直接分析法设计的键盘分析程序的典型结构。直接分析法的核心是一张如图析法的核心是一张如图3-11所示的一维转移表。转移表内登记各处理程序所示的一维转移表。转移表内登记各处理程序的入口

34、。根据键值查阅转移表,即可获得相应的处理程序入口。的入口。根据键值查阅转移表,即可获得相应的处理程序入口。一、一、 直接分析法直接分析法 简单多义键的分析程序仍可简单多义键的分析程序仍可采用直接分析法,但这时要用采用直接分析法,但这时要用多张转移表,在组成一个命令多张转移表,在组成一个命令的按键序列中,前几个按键起的按键序列中,前几个按键起着引导的作用,把控制引向某着引导的作用,把控制引向某张合适的转移表。张合适的转移表。 基于上述思想的分析程序框基于上述思想的分析程序框图可用图图可用图3-12来说明。图中,来说明。图中,A,B 两键为双义键,两键为双义键,MODE 键用键用来把控制方向引向转

35、移表来把控制方向引向转移表2,以,以区别区别A键、键、B键的两种含义。键的两种含义。 二、状态分析法二、状态分析法 直接分析法的优点是简明直观,缺点是命令的识别和处理程直接分析法的优点是简明直观,缺点是命令的识别和处理程序的执行交错在一起,相互牵制,层次不清楚,当采用多用键,序的执行交错在一起,相互牵制,层次不清楚,当采用多用键,复用次数较多时,这一矛盾尤其突出。复用次数较多时,这一矛盾尤其突出。 用状态分析法可以克服这些缺点。用状态分析法可以克服这些缺点。 状态分析法将键盘分析程序作为时序系统,在一定的条件下状态分析法将键盘分析程序作为时序系统,在一定的条件下系统可以处于某种状态,当条件改变

36、后,它的状态可以发生变迁,系统可以处于某种状态,当条件改变后,它的状态可以发生变迁,即从一个状态变到另一个状态。即从一个状态变到另一个状态。 如果把键盘输入作为分析程序的输入条件,每当一个按键按如果把键盘输入作为分析程序的输入条件,每当一个按键按下时,分析程序将根据它的现行状态和输入条件,决定产生何种下时,分析程序将根据它的现行状态和输入条件,决定产生何种相应动作以及变迁到哪一个新状态。在不同的状态下,同一按键相应动作以及变迁到哪一个新状态。在不同的状态下,同一按键又可能会具有不同的含义。引入状态概念后,只需开辟存储单元又可能会具有不同的含义。引入状态概念后,只需开辟存储单元“记忆当前状态,不

37、必记住以前按键的情况,就能对当前按键记忆当前状态,不必记住以前按键的情况,就能对当前按键的含义做出正确的解释,简化程序设计。的含义做出正确的解释,简化程序设计。 二、状态分析法二、状态分析法 一般来说,状态分析法可分为以下四步进行:一般来说,状态分析法可分为以下四步进行:(1) 用状态图准确表述按键操作序列的定义;用状态图准确表述按键操作序列的定义;(2由上述状态图导出的状态表。由上述状态图导出的状态表。 状态表状态表是键盘分析状态表状态表是键盘分析程序的核心。程序的核心。(3) 固化状态表:为了让微处理器能使用状态表,应将其转固化状态表:为了让微处理器能使用状态表,应将其转变成可供微处理器查

38、询的形式。变成可供微处理器查询的形式。 (4) 设计键盘分析程序的设计设计键盘分析程序的设计 二、状态分析法二、状态分析法 为了便于理解,下面以某一种函数发生器为例说明为了便于理解,下面以某一种函数发生器为例说明状态分析法具体实施步骤。状态分析法具体实施步骤。某函数发生器面板按键布局示意图某函数发生器面板按键布局示意图 二、状态分析法二、状态分析法(1) 用状态图准确表述按键操作序列的定义;用状态图准确表述按键操作序列的定义; 二、状态分析法二、状态分析法(2由上述状态图导出的状态表。由上述状态图导出的状态表。 状态表状态表是键盘分析状态表状态表是键盘分析程序的核心。(详细内容见表程序的核心。

39、(详细内容见表3.2 ) 二、状态分析法二、状态分析法 表中表中FNKEY一栏中所采用按键的编码是功能键码,而不是顺序码一栏中所采用按键的编码是功能键码,而不是顺序码(键值键值)。这样。这样做是为了缩小程序中状态表的规模。做是为了缩小程序中状态表的规模。 按键的键值与功能键码的关系如表按键的键值与功能键码的关系如表3-3所示。所示。10个数字键属于同一性质,用个数字键属于同一性质,用FNKY为为1代表。为了区别不同的数字键,又定义了数字键码代表。为了区别不同的数字键,又定义了数字键码NUMB。 二、状态分析法二、状态分析法(3) 固化状态表:为了让微处理器能使用状态表,应将其转固化状态表:为了

40、让微处理器能使用状态表,应将其转变成可供微处理器查询的形式详细内容见表变成可供微处理器查询的形式详细内容见表P73-74 ) 为了让微处理器能使用状态表,按一定的格式将表为了让微处理器能使用状态表,按一定的格式将表3-2构构造成三张表:主表仪器操作状态表),状态表入口地址表造成三张表:主表仪器操作状态表),状态表入口地址表和处理子程序入口地址表。和处理子程序入口地址表。 主表:主表:状态表入口地址表状态表入口地址表处理子程序入口地址表。处理子程序入口地址表。 二、状态分析法二、状态分析法(4) 设计键盘分析设计键盘分析程序的设计程序的设计 3.2 LED 显示及接口 3.2.1 LED显示原理

41、显示原理 3.2.2 七段七段LED显示及接口显示及接口 3.2.3 点阵点阵LED显示及接口显示及接口 LED 即发光二极管,它是一种由某些特殊的半导体材料制即发光二极管,它是一种由某些特殊的半导体材料制作成的作成的PN结,由于参杂浓度很高,当正向偏置时,会产生大量结,由于参杂浓度很高,当正向偏置时,会产生大量的电子的电子空穴复合,把多余的能释放变为光能。空穴复合,把多余的能释放变为光能。LED显示器具显示器具有工作电压低、体积小、寿命长约十万小时)、响应速度快有工作电压低、体积小、寿命长约十万小时)、响应速度快小于小于1s),), 颜色丰富红、黄、绿等等特点,是智能仪颜色丰富红、黄、绿等等

42、特点,是智能仪器最常使用的显示器。器最常使用的显示器。 3.2.1 LED显示原理 LED的正向工作压降一般在的正向工作压降一般在1.2V2.6V,发光工作电流在,发光工作电流在5mA20mA,发光强度基本上与正向电流成正比,故电路须,发光强度基本上与正向电流成正比,故电路须串联适当的限流电阻。串联适当的限流电阻。LED很适于脉冲工作状态,在平均电流很适于脉冲工作状态,在平均电流相同的情况下,脉冲工作状态比直流工作状态产生的亮度增强相同的情况下,脉冲工作状态比直流工作状态产生的亮度增强20左右。左右。LED显示器有单个、七段和点阵式等几种类型。显示器有单个、七段和点阵式等几种类型。 一、一、

43、单个单个LED显示器显示器二、二、 七段七段LED显示器显示器三、三、 点阵式点阵式LED显示器显示器 3.2.1 LED显示原理一、一、 单个单个LED显示器显示器单个LED显示器常用于显示仪器的状态。图316为单个LED显示器接口电路。仪器内微处理器经数据总线D0D7输出待显示的代码,送至输出接口。设输出端Q0为低电平,则对应的LED显示器正向导通并发亮,反之则熄灭。74LS374 作为输出口最多驱动八个LED显示器,表示仪器的八个状态信息。 3.2.2 七段 LED 显示及接口 七段七段LED显示器由多个显示器由多个LED组成一个阵列,并封装于一个组成一个阵列,并封装于一个标准的外壳中。

44、为适用于不同的驱动电路,有共阳极和共阴极标准的外壳中。为适用于不同的驱动电路,有共阳极和共阴极两种结构。两种结构。 七段七段LED显示器可组成显示器可组成09数字和多种字母,这种显示中数字和多种字母,这种显示中还提供有一个小数点,所以实际共有八段。还提供有一个小数点,所以实际共有八段。 3.2.2 七段 LED 显示及接口 为了显示某个数或字符,就要点亮对应的段,这就需要译为了显示某个数或字符,就要点亮对应的段,这就需要译码。译码有硬件译码和软件译码之分。码。译码有硬件译码和软件译码之分。 硬件译码显示电路见图硬件译码显示电路见图3-18所示。所示。BCD码转换为对应的七码转换为对应的七段字型

45、码简称段码这项工作由七段译码段字型码简称段码这项工作由七段译码/驱动器驱动器74LS47完完成。硬件译码电路的计算机开销时间较小,但硬件开支大。成。硬件译码电路的计算机开销时间较小,但硬件开支大。 软件译码显示电路见图软件译码显示电路见图3-19所示。与硬件电路相比,软件所示。与硬件电路相比,软件译码显示电路省去硬件译码器,其译码工作由软件来完成。译码显示电路省去硬件译码器,其译码工作由软件来完成。 微处理器有较强的逻辑控制能力,采用软件译码并不复杂。微处理器有较强的逻辑控制能力,采用软件译码并不复杂。采用软件译码不仅可使硬件电路简化,而且其译码逻辑可随编采用软件译码不仅可使硬件电路简化,而且

46、其译码逻辑可随编程设定,不受硬件译码逻辑的限制。所以智能仪器使用较多的程设定,不受硬件译码逻辑的限制。所以智能仪器使用较多的是软件译码方式。是软件译码方式。硬件译码显示电路共阳极接法)硬件译码显示电路共阳极接法) 软件译码显示电路共阴极接法)软件译码显示电路共阴极接法) 硬件译码显示电路共阳极接法)硬件译码显示电路共阳极接法) 软件译码显示电路共阴极接法)软件译码显示电路共阴极接法) 01234567abcdefgep+5VD7 DpD6gD5fD4eD3dD2cD1bD0a代码代码01231 1 0 0 0 0 0 0 C0H 1 1 1 1 1 0 0 1 F9H1 0 1 0 0 1 0

47、 0 A4H1 0 1 1 0 0 0 0 B0H软件译码法软件译码法( BCD码码七段显七段显示代码示代码 )abdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdp09 的七段显示代码的七段显示代码 : C0H,F9H,A4H,B0H .D7-D0共阳极接法为例共阳极接法为例字符字符 共阴极段码共阴极段码 共阳极段码共阳极段码 字符字符 共阴极段码共阴极段码 共阳极段码共阳极段码0 3FH C0H A 77H 88H 1 06H F9H B 7CH 83H 2 5BH A4H C 39H C6H 3 4FH B0H D 5EH A1H 4 66H 99H

48、E 79H 86H5 6DH 92H F 71H 8EH6 7DH 82H H 76H 09H 7 07H F8H P 73H 8CH 8 7FH 80H U 3EH C1H9 6FH 90H 灭灭 00H FFH LED LED 显示器字段码表显示器字段码表 3.2.2 七段 LED 显示及接口 3.2.2 七段 LED 显示及接口 七段七段LED显示系统有静态显示和动态显示之分。显示系统有静态显示和动态显示之分。 在静态显示系统中,在静态显示系统中, 每位显示器都应有各自的锁存器、译每位显示器都应有各自的锁存器、译码器采用软件译码时译码器可省去),以锁存各自待显示数码器采用软件译码时译码器

49、可省去),以锁存各自待显示数字的字的BCD码或反码。因而,静态显示系统的每次显示能够保持码或反码。因而,静态显示系统的每次显示能够保持不变,仅在待显数字需要改变时,才更新其锁存的内容。其优不变,仅在待显数字需要改变时,才更新其锁存的内容。其优点是占用机时少,显示稳定可靠。缺点是当显示的位数较多时,点是占用机时少,显示稳定可靠。缺点是当显示的位数较多时,占用占用I/O口较多。口较多。 在动态显示系统中,微处理器或控制器应定时地对各个显在动态显示系统中,微处理器或控制器应定时地对各个显示器进行扫描,显示器件分时轮流工作。其优点是硬件少,占示器进行扫描,显示器件分时轮流工作。其优点是硬件少,占用用I

50、/O口少。缺点是占用机时长,只要不执行显示程序,就立刻口少。缺点是占用机时长,只要不执行显示程序,就立刻停止显示。停止显示。 随着大规模集成电路的发展,目前已有采用硬件对显示器随着大规模集成电路的发展,目前已有采用硬件对显示器进行自动扫描的专用显示芯片,使电路既简单又少占用机时。进行自动扫描的专用显示芯片,使电路既简单又少占用机时。一、一、 静态显示接口电路及显示程序举例静态显示接口电路及显示程序举例ORG 8000H DISP: MOV R1,30H ;R1存小数点信息存小数点信息 MOV R0,#31H ;R0指向显缓单元指向显缓单元 MOV R2,#04H ;R1指示循环次数指示循环次数

51、 MOV DPTR,#4000H ;显示地址送;显示地址送DPTRLOOP: MOV A,R0 ;取数进行译码;取数进行译码 PUSH DPH PUSH DPL MOV DPTR,#SEG MOVC A,A+DPTR ;取对应段码;取对应段码 BIT 3,R1 ;判小数点位;判小数点位 JNZ L1 ANL 7FH ;小数点位处理;小数点位处理L1: POP DPL POP DPH MOVX DPTR,A ;段码送显;段码送显 INC R0 ;调整;调整 INC DPTR ;调整;调整 MOV A, R1 ;R1左移一位左移一位 RL A MOV R1, A DJNZ R2, LOOP ; 显

52、示是否完成显示是否完成 RETSEG: DB 0C0H, 0F9H, 0A4H ; 0,1,2 DB 0B0H, 99H, 92H ; 3,4,5 DB 82H, 0F8H, 80HH ; 6,7,8 DB 90H, 0FFH, 0BFH ; 9,空,空, 二、二、 动态扫描显示接口电路及显示程序举例动态扫描显示接口电路及显示程序举例 DIS: MOV R0,#30H ; R0指向显缓指向显缓 MOV R2,#20H ; R2存位选码存位选码DIS1: MOV A,R0 ; 取数进行译码取数进行译码 MOV DPTR,#SEG MOVC A,A+DPTR ; 取段码取段码MOV DPTR,#0

53、FD01HMOVX DPTR, A ; 段码送段码送A口口MOV A, R2 INC DPTR MOVX DPTR, A ; 位选码送位选码送B口口 ACALL DIMS ; 延时延时35ms MOV A, R2 JB ACC.0, DIS2 ; 是否显示完毕是否显示完毕 INC R0 ; 未完,未完, 取下位取下位 MOV A, R2 RR A ; 下位位选码下位位选码 MOV R2, A AJMP DIS1DIS2: RETDIMS: MOV R3,#70H ; 延时子程序延时子程序DL1: NOPDJNZ R3, DL1RETSEG: DB 3FH,06H,5BH,4FH;0,1,2,3

54、 DB 66H,6DH,7DH,07H ; 4,5,6,7 DB 7FH,6FH,77H,7CH ; 8,9,A,B DB 39H,5EH,79H,71H ; C,D,E,F 在静态显示方式下,在静态显示方式下,LED 显示器各显示段的工作电流是恒显示器各显示段的工作电流是恒定的,在动态显示方式下,定的,在动态显示方式下,LED显示器各显示段的工作电流是显示器各显示段的工作电流是脉动的。因而,后者脉动工作电流的幅值应远大于前者恒定工脉动的。因而,后者脉动工作电流的幅值应远大于前者恒定工作电流的幅值。作电流的幅值。 设前者的恒定电流为设前者的恒定电流为8mA,考虑脉动工作电流情况下发光,考虑脉动

55、工作电流情况下发光效率优于恒定电流的情况,则六位动态显示方式下的段驱动工效率优于恒定电流的情况,则六位动态显示方式下的段驱动工作电流应为作电流应为38mA80.86)。对于位驱动电路来说,它必)。对于位驱动电路来说,它必须能负载一个数字显示器各个显示段工作电流的总和。须能负载一个数字显示器各个显示段工作电流的总和。 所以它所以它的最大位驱动脉动负载电流应约为的最大位驱动脉动负载电流应约为300mA。但由于位驱动是分。但由于位驱动是分时多路工作,所以它的最大平均负载电流为时多路工作,所以它的最大平均负载电流为50mA。 在动态显示系统中,一位数字的显示持久时间不允许超过在动态显示系统中,一位数字

56、的显示持久时间不允许超过其额定值,更不允许系统长久地停止扫描刷新,否则,某一个其额定值,更不允许系统长久地停止扫描刷新,否则,某一个数字显示器和位驱动电路将因长时间流过较大的恒定电流而被数字显示器和位驱动电路将因长时间流过较大的恒定电流而被损坏。同时,动态显示方式所能容许的显示数字的个数是有限损坏。同时,动态显示方式所能容许的显示数字的个数是有限的一般的一般N16),这是由于显示系统所能容许最大脉动工作电),这是由于显示系统所能容许最大脉动工作电流是有限的。而静态显示方式无上述限制。流是有限的。而静态显示方式无上述限制。 3.2.3 点阵点阵 LED 显示及接口显示及接口 点阵式点阵式LED显

57、示器是以点阵格式进行显示,因而显示的符号比较逼真。这是其优显示器是以点阵格式进行显示,因而显示的符号比较逼真。这是其优越之处。之处是接口电路及控制程序较复杂。越之处。之处是接口电路及控制程序较复杂。 57点阵字符显示器由点阵字符显示器由35只只LED显示单元排成显示单元排成5列列7行矩阵格式,结构如图示。行矩阵格式,结构如图示。 每一行上的五个每一行上的五个LED是按共阳极连接的,每一是按共阳极连接的,每一列上的七个列上的七个 LED按共阴极按共阴极连接。连接。 例若显示字母例若显示字母“A”, 可将图示的字形代码或可将图示的字形代码或称列码并行依次送入,称列码并行依次送入,同时分时依次选通对

58、应列,同时分时依次选通对应列,只要不断地重复进行,便只要不断地重复进行,便可在显示器上得到稳定的可在显示器上得到稳定的显示字符显示字符“A”。 图中字符ROM 中存放着所有被显示字符的字形代码,是一个很关键的部件。其地址线分别接系统的数据线和五分频计数器的输出端,其数据线接到点阵显示器的7条行线上。五分频计数器的输出端同时接到字符ROM的低位地址线上和显示器的译码器上,用做两者的同步信号。 为方便编程,字符ROM中存放的字符的字形码是按ASCII码表的顺序存放的,并且每组字形码首地址的高七位(A3A9)与该字符的ASCII码一致。这样,只要向显示ROM进行一次某字符的ASCII码的写入操作,便

59、可启动该字符的显示。 3.3 键盘键盘/LED显示器接口设计显示器接口设计 基于软件扫描的键盘和基于软件扫描的键盘和LED显示器的接口方法需要占用显示器的接口方法需要占用CPU很多时间,并且接口电路也较烦杂,为了减少这些开销,很多时间,并且接口电路也较烦杂,为了减少这些开销,一些公司设计开发了许多通用型的可编程键盘和一些公司设计开发了许多通用型的可编程键盘和LED显示器专显示器专用控制芯片,例用控制芯片,例Intel 8279、HD7279A、BC 7280/81等。这等。这些芯片内部一般都含有接口、数据保持、译码和扫描电路等,些芯片内部一般都含有接口、数据保持、译码和扫描电路等,单个芯片就能

60、完成键盘和显示器接口的全部功能。单个芯片就能完成键盘和显示器接口的全部功能。 本节以本节以HD 7279A为例介绍这类专用控制芯片的应用技术。为例介绍这类专用控制芯片的应用技术。 HD 7279A是一种能是一种能同时管理同时管理8位共阴极位共阴极LED显示器显示器(或或64个单个个单个LED发光管发光管)和多达和多达64键键盘键键盘的专用智能控制芯片。的专用智能控制芯片。 基于基于HD 7279A的键盘的键盘/LED显示器接口电路显示器接口电路 3.4 CRT 显示及接口显示及接口 CRT显示器图文并茂,显示功能强,是一种完善的显示器。显示器图文并茂,显示功能强,是一种完善的显示器。 CRT显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论