“测量程序”子菜单共有5个选项,分别是程序号以及通道1和通道2的压力上、下限值(即最小值和最大值),用户选定的设定值也同时给出。同样,按键可以移动光标;按“ESC”键返回到上级菜单(即主菜单);按“ENTER”键进入光标所在位置下级子菜单。例如,当光标位于通道l的“最小值”选项上时,若按下“ENTER”键,则进入图6所示的“最小值”设定界面。
图6中,“30.00”表示通道l的压力最小值是30.00,“_”为光标提示符。如果用户要修改设定值,则可按、键将光标移动到相应的位上,然后再按键修改设定值。例如,当光标在当前位置上时,若按“▲”键,则设定值由30.00变成31.00;若按键,则设定值30.00由变成29.00。这样,只用4个按键,就可以方便地输入设定值。
主菜单下的“传感器配置”、“数据”和“其它”选项下也嵌套了不同数量的一级、二级甚至多级子菜单,供用户查询、修改数据和配置参数。
由此可见,尽管仪有6个操作按键和1个LCD显示器,但TOX智能压力监控仪仍给操作者提供了友好的操作环境,实现了人机交互。
3人机交互菜单的设计
本设计中,主菜单和子菜单多达20余页,且有中、英文2种文字供用户选择,从而增大了应用层程序设计的难度。程序采用模块化结构,主要包括以下几个模块:
界面切换控制模块:为按用户要求切换操作界面,定义了一个Page_Point映像寄存器,其值在O~P-l之间变化,P为操作界面的个数。如果Page_Point=O,则LCD显示器上显示第0页窗体(为图3所示的测量界面);如果Page_Point=l,则LCD显示器上显示第1页窗体(为图4所示的主菜单界面)。当用户按下“ENTER”或“ESC”键后,根据选项光标所在的位置修改Page_Point的值,然后更新显示窗体,实现人机交互。
按键描模块:对6个操作按键进行扫描,将结果存在Key_Status映像寄存器中。该寄存器有6个有效位,分别是Key_Up、Key_Down、Key_Left、Key_Right、Key_Esc及Key_Enter,依次对应操作面板上的6个按键“ESC”及“ENTER”。如果标志位为l,则意味着对应的按键按下;反之,则松开。
选项管理控制模块:若当前的操作界面属于“选项界面”(图4所示的主菜单界面和图5所示的测量程序子界面均属于选项界面),则按下键,光标“>”所在的位置向上或向下移动l项。为此,定义了一个Option_Point映像寄存器,其值为0~N-1(N为选项个数)。若主菜单有4个选项,则N=4,此时Option_Point为O~3;若测量程序子菜单有5个选项,则N=5,此时Option_Point为0~4。图7为选项管理控制模块的程序流程图。
数据输入模块:若当前的操作界面属于“置数界面”(图6所示的最小值设定界面就属于置数界面),则按下和键,光标“_”所在的位置向左或向右移动1位。为此,定义了一个Bit_Point映像寄存器,用于记录可以修改的数据位所在的位置。按下键,可将当前光标所在数据位上的数值加“l”或减“l”,例如,在图6所示的最小值设定界面中,若按“▲”键,则设定值由30.00变成31.00;若按“v”键,则设定值由30.OO变成29.00。用4个键,即可方便地输入满足用户要求的任何数值。图8为数据输入模块的程序流程图。
利用上述模块,只需少量的程序代码就可以灵活地实现选项、修改数据及切换操作界面等功能。
本设计采用汇编语言编程,所片j单片机为性能较低的PICl6F877A,尽管其程序存储器只有8KB,但却实现了20多页操作界面的显示和切换,以及数十个数据的设定和杳询等人机交互功能,同时还实现了测量、监控和通信功能。
4结论
嵌入式系统的人机交互技术日趋完善。通过LCD显示器和少量的几个按键,利用软件在嵌入式系统设计中实现参数设定和数据管理等人机交互功能,增强了操作的趣味性和功能性,有助于提高系统的附加值。