智能仪器中一种菜单式人机界面的软硬件设计
摘 要: 由点阵式液晶显示器和旋转式光电编码开关构成的智能仪器的人机交互界面,使仪器的操作向菜单式、傻瓜型迈进。在阐述光电编码开关基本原理和使用方法的基础上,介绍了I2C 接口芯片电路形成的硬件输入结构,该结构体现了简洁的风格。在软件方面,则以当前的液晶屏显示窗口作为界面状态,以状态跟踪为主线形成基于界面状态的模块式程序结构,这种程序结构的作业链清晰,便于调试,而且适合于仪器改进和升级时功能软件的增加或变换。在由上位机与之组成自动测试系统时,操作命令下传后的任务执行程序也是及其简单的。
本文引用地址://m.amcfsurvey.com/article/167446.htm带有微处理器的仪器的操作曾经是通过仪器面板上众多的功能键和数字键来实现人机交互的,程序用查询的方法扫描键盘或响应键盘中断的方法读回键值,然后散转各分支程序去执行相应的功能子程序,完成相应的作业。使用者往往不得不借助厚厚的使用说明书来熟悉、来指南仪器面板上各种按键的定义和操作的方法。随着微电子技术的发展及大屏幕点阵式液晶显示器的出现,使得智能化仪器的操作也向菜单式、傻瓜型迈进。通过液晶屏上的菜单选项,用面板上三四个按键或旋转式光电编码开关,就能完成仪器操作所必需的参数设置、命令执行等必要的人机交互。该类仪器的程序结构也适应了其菜单式傻瓜界面的特点,用后台大量的编程工作换取了前台仪器操作的极其简单和方便。本文从软硬件设计的角度,讨论智能仪器中菜单式交互界面形成的原理和实现的方法。
1 交互界面的输入结构
在菜单式界面的智能仪器中,人机交互的指令输入部件可用按键或旋转式光电编码开关。按键由增键、减键和确认键构成(图1) .使用这3 种操作可以用来在液晶显示屏上移动光标、数据输入和操作选定等。增键和减键用于选择菜单中选项时的光标移动,以及在设定数值时对数值大小的增减;确认键用于对选中的选项和设定的数值大小的确定。
![图1 按键示意图](http://m.amcfsurvey.com/editerupload/fetch/20130906/167446_1_0.jpg)
图1 按键示意图
按键的功能可以用旋转式光电编码开关来替代。旋转式光电编码开关的功能类似计算机上使用的鼠标,它有3 种操作:左旋右旋和按下选定, 可对应着按键输入时的增键、减键和确认键。
图2 是光电编码开关的外形图、电原理图、输出信号真值表和波形图。该开关压下时②和③短路输出,旋转时,由把柄带动穿孔圆盘一起转动。开关内有2 个发光二极管、2 个光敏三极管和1 个穿孔圆盘,圆盘上的穿孔按特定规律分布。光敏二极管接收发光二极管发出的光,形成二路旋转输出信号输出A和输出B.旋转时,当穿孔圆盘上的某个圆孔正对着发光二极管时,发光二极管发出的光通过该圆孔照射到光敏三极管上,三极管导通,输出低电平信号;当圆盘上的所有圆孔都错开发光二极管时,光敏三极管因收不到光信号而截止,输出高电平信号。
![图2 光电编码开关](http://m.amcfsurvey.com/editerupload/fetch/20130906/167446_1_1.jpg)
图2 光电编码开关
由图2 (c) 真值表可见,其实输出B和输出A的编码对应着2 位循环码(格雷码) ,循环码的特点是由一个计数状态变到下一个计数状态的过程中,只有一位数码变化,因此在循环码的译码器中,不会产生竞争冒险现象。在智能仪器中微处理器引脚状态变化的中断输入中也不会产生中断事件的竞争。但循环码不能用二进制计算来判别大小和顺序,所以要判别光电编码开关是左旋还是右旋时,要引入输出B和输出A电平的现状态和前状态进行分支逻辑判断,软件编程稍稍复杂一点。
现在很多单片微控制器的I/ O 口线都带有键盘中断功能,图1 所示的按键和图2 所示的旋转式光电编码开关,可通过上拉电阻的形式直接接到这些I/ O 口线上。有操作信号时,口线的电平改变会引起键盘中断的发生,CPU 响应中断后可去处理相应的操作。在微处理器I/ O 口线或外中断口线紧张的情况下,可以如图3 所示,通过I2 C 总线外扩一片串行变并行的PCF8574 芯片,芯片P0~ P7 的8根口线可用作输入或输出;用作输入时,口线电平的变化会引起芯片13 脚电平变低向微处理器申请中断。图3 中RL K 是旋转式光电编码开关,它的输出A输出B和按下开关接到了PCF8574 的P4、P5 和P6 ,在笔者研制的电流互感器伏安特性试验仪中,PCF8574 的P0~P3 被用作输出,经接插件J9 ,通过光耦去驱动试验电压量程切换的继电器。
![图3 节省I/ O 口线的按键输入接口电路](http://m.amcfsurvey.com/editerupload/fetch/20130906/167446_1_2.jpg)
图3 节省I/ O 口线的按键输入接口电路
2 交互界面的输出结构
菜单式交互界面的输出部件可采用能显示字符、汉字及图形和曲线的大屏幕点阵式液晶显示器。
带有驱动控制器的点阵式LCD 液晶屏与微处理器的接口信号线除了8 位数据线外,一般还带有读有效线
![](http://m.amcfsurvey.com/editerupload/fetch/20130906/167446_1_3.jpg)
、写有效线
![](http://m.amcfsurvey.com/editerupload/fetch/20130906/167446_1_4.jpg)
及地址译码的片选线
![](http://m.amcfsurvey.com/editerupload/fetch/20130906/167446_1_5.jpg)
,所以对它的连接和读写操作,可看作是对微处理器片外的RAM 单元的连接和读写操作。读写操作中,不同的驱动控制器具有不同的指令格式,如常用于驱动320 ×240 点阵式液晶显示屏的SED1335 液晶驱动芯片就带有13 条指令,能方便地完成各种显示功能。多任务下的选择菜单可由多屏菜单形成多级链式结构,为便于叙述,以三级任务菜单为例,将作业分为主任务(用大写字母A 、B、C 等表示) 、子任务(用小写字母a 、b 、c 等表示) 和支任务(用数字1 、2 、3 等表示) ,图4 是显示界面的部分屏显的汇总。每屏界面都有自己的编号:win1 、win2 、win3 ??.图中win1 为主屏菜单,提供了主任务A、B 和C 3 个选项;win2 、win3 、win4 为第一级子菜单,为每项主任务提供了各自的子任务的选择(如win2 屏是主任务A 的子任务A2a 、A2b 和A2c 的选项) ;win5 、win6和win7 是第二级子菜单,为第一级子菜单中的子任务提供下一级支任务(如win5 屏为win2 中的子任务选项A2a 提供A2a21 、A2a22 和A2a23 的支任务选项) ;各级子菜单中均有返回的选项,选择执行后返回上一级菜单。图4 中的选项标志用■和□来指示, ■表示该项选中,选项的变动由增键和减键(或旋转式光电编码开关的左旋和右旋) 来完成,选项的执行由确认键(或旋转式光电编码开关的按下选定) 来完成,根据■所在的位置,选项号opt =0 ,1 ,2 …….图中举例win14~win18 是具体任务的执行情况界面,可以是测量值显示,也可以是某参数的动态曲线显示,可以是历史数据查询,等等。这些界面的返回功能在作业完成后自动进行,或默认按确认键返回。
电能表相关文章:电能表原理
评论