智能仪器中一种菜单式人机界面的软硬件设计
这种结构还很适合仪器在改进和升级时功能程序模块的增加和变换。比如系统要增加子任务B2d,只要在如图4 所示的win3 屏显中插入这个选项为opt = 3 ,使该屏为5 选项,则当标志■选中该项时程序即调用执行子任务B2d的子程序。要增加主任务D的方法是类似的,只要在win1 屏显中加入这个选项,然后程序根据菜单的选择来分支就行了。
![图4 显示界面的部分屏显汇总](http://m.amcfsurvey.com/editerupload/fetch/20130906/167446_2_0.jpg)
图4 显示界面的部分屏显汇总
3 基于界面状态的程序结构
仪器仪表的系统程序结构,由按键和作业的对应关系可分为一键一义型和一键多义型两种结构。
对于一键多义型系统程序,作业的调度条件是多因数的,不仅与外因(键盘操作) 有关,也与内因(系统当前所处的状态) 有关。为此,引入系统状态的概念,即将系统运行情况分成若干状态(如图4 所示的界面状态和选项状态,选项状态属于界面状态的子状态) ,使得在任何一个状态下每一个按键只有唯一的定义。这样一来,系统运行去向就可以由当前状态和当前键码来共同决定了。智能化仪器仪表正由一键一义型向一键多义型进化。如用图4 所示的显示界面来表征系统当前所处的状态,其程序结构称之为基于界面状态的程序结构。
为提高系统效率,对键盘(或旋转式光电编码开关) 的操作响应可采用中断的方式进行。进入键中断服务程序后,先判别是增建、减键、确认键(或旋转式光电编码开关的左旋右旋按下选定) 的哪一个键码触发中断;接着判别当前系统所处的状态(当前的显示屏号win 及选项号opt ) ; 再由键码key ,系统状态win 和opt 决定执行什么作业。程序框图如图5 所示。值得一提的是,对那些不适合在中断服务程序中执行或执行时间过长的作业(如打印等) ,可在中断服务程序中置位该作业的启动标志,待中断返回后在主程序中再执行选中的作业,完成后清除该作业的启动标志。
![图5 基于界面的交互过程](http://m.amcfsurvey.com/editerupload/fetch/20130906/167446_2_1.jpg)
图5 基于界面的交互过程
4 操作界面的上位机介入
电子技术的飞速发展,使嵌入式系统中的存储器体积越来越小、容量越来越大。但是,如果要在一台试验用的仪器上进行日积月累的试验数据的查询和管理,如果要使仪器的实时试验曲线具有较高的分辨率和对局部曲线进行分析,如果要使仪器的操作能远程控制,那么,仪器单机的资源就略显不足。
满足上述要求的通常做法是用PC 机(或笔记本电脑) 作为仪器的上位机,通过RS232 串口(或USB口) 与仪器通信构成自动测试系统,使仪器共享上位计算机的资源,进一步增强智能仪器的性能。
基于界面状态的程序结构为上位计算机介入后对仪器的控制提供了很好的软件平台。微处理器在响应串口中断的中断服务程序中,首先从接收到的上位机传来的信息判断是何种作业,然后用调用子程序的方法,调用图4 所示的基于界面状态的opt 作业程序。这样,原来基于界面状态的程序结构几乎不用改动,只要在串口中断服务程序中根据上位机的命令来分支调用子程序就行了。当然,在上位机控制下执行相应作业时,仪器上的液晶显示界面仍然将同步显示当前作业,为远程操作仪器和实地监视仪器提供了方便。
5 结 语
大屏幕点阵式液晶显示器和内置大容量程序存储器的微处理器的出现,给仪器仪表的智能化进程推波助澜。上述人机交互界面的软硬件设计,仅是笔者在工程项目中的初步尝试,基本达到了结构简单、操作方便、编程高效和界面友好的效果。用后台大量的工作换取前台操作的极其简单和方便,应是仪器仪表业内同行始终追求的境界。
电能表相关文章:电能表原理
评论