图2中的左部只包含了一个简单的确认按钮,它无需工作人员做出是与否的决定,可用于一些简单的提示消息;而右半部分则包含了两个按钮,当消息框显示消息时,它需要工作人员按下键盘上的确认键以确认消息或者按下取消键否认消息,该模型常用于键盘输入完成后,在保存时提示工作人员的消息,以确认工作人员输入的内容正确与否。针对系统中所使用的LCD,图2所示的消息框上的坐标设置界面中的标注分别还给出了提示消息、按钮以及框线的坐标位置。图3所示是模拟消息框运行的程序流程图。
程序中应首先判断消息框的类型是显示确认按钮还是同时显示两个按钮,然后按照图2所示的坐标显示提示消息并绘制消息框的轮廓。因为消息框属模态对话框,必须按下确认或者取消键方能继续运行,所以程序紧接着将等待邮箱传递键值消息,如果工作人员按下确认键或者取消键,程序则返回键值消息给调用函数,以便调用函数能依据不同的按键分别处理,直到消息提示框运行结束。
将面向对象的思维方式运用在LCD显示设计中,可极大地提高程序编写的简洁性和系统运行的可靠性,其非常符合人们日常生活中经常接触到的界面,而且非常美观和亲近。
2.3 显示任务的设计
系统中的LCD不仅要实时显示采集到的现场数据,而且在系统发现所采集的数据越限时,也能及时地显示出具体的故障信息,同时当工作人员通过键盘对系统参数进行设置时,LCD还能及时地切换显示画面并转向显示系统设置界面。因此。应设计一个显示任务来处理LCD的屏幕切换过程,其流程图如图4所示。
显示任务执行时,首先等待键盘或其它任务发送过来的邮箱消息,并将邮箱等待超时时间设置为系统显示采集数据的时间。当任务没有收到邮箱消息而超时时,任务将转去执行显示数据功能;否则,当收到邮箱消息时,任务将会根据邮箱的内容判断是否有键按下以更改系统设置。如是,则清屏LCD,并转去执行显示键盘操作功能。如果收到的邮箱不是用来更改系统设置的消息,则将判断邮箱是否要求显示器显示其它信息,如是,则清屏并转去显示其它信息(如系统故障信息等)。否则结束一次运行,并继续等待邮箱消息,重复上述过程。其所对应的程序伪代码如下:
通过上述方法设置显示任务,能够很好地实现LCD在显示数据、系统信息设置及其它故障信息之间的屏幕切换等功能,而且,该方法具有很好的通用性。
3 结束语
本文介绍了在蓄电池化成控制系统设计中将嵌入式实时操作系统μC/OS-II用于系统软件设计,并在此基础上采用面向对象的思维方式来处理LCD显示屏幕的具体方法。该方法可有效的处理LCD显示任务,提高系统运行的可靠性和稳定性,同时也可美化系统的操作界面。
|