EDN China > 设计实例 > 工业电子 > 网络与总线 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) P89C51RD2的可定制人机交互界面设计

中电网/作者:广东工业大学 张海雄 刘建群 罗继合 余孝伟?? 2008年07月16日 ?? 收藏0

  3.1.2 链表网络构成

  同一屏幕的项构成双向循环链表、链接屏幕构成单向循环链表。实现方法:先以屏为单位建立每屏的横向双向循环链表;再遍历各屏的双向链表,为各屏的项建立链接关系,进而构成一个链表网络。如界面系统示意图(图1)所示,功能选择、维护信息、故障记录、用户设定、厂家设定5个屏幕项构成1个屏的横向双向链表,而以维护信息、滤清器使用时间、分离器使用时间3项所在的屏构成链接屏的单向循环链表,最终构成图4所示的系统的程序流程。

系统的程序流程

  下面介绍具体实现步骤。

  (1)屏幕项的横向双向循环链表构建

  因从PC机下载到人机界面的定制界面信息是按如下格式保存在预定Flash中的(其中,各屏之间以SCREEN_END字符常量为分界),故在构建项的横向双向链表时,先从预定的位置逐一读取项的信息并填充到项的结构中,最后插入到双向链表中。

  格式说明:STA代表起始符、END代表结束符、L代表本帧数据的字节长度、x/y/LinkNo/SreenNo/Item_ID/Select/type见data_t结构中的说明。

  ①文本项格式:STA+L+x,y,LinkNo,ScreenNo,Item_ID,Select,type(1),string(文本内容)+END。

  ②整型、浮点项:STA+L+x,y,LinkNo,ScreenNo,Item_ID,Select,type(2/3)+END。

  ③枚举项:STA+L+x,y,LinkNo,ScreenNo,Item_ID,Select,type(4),count(枚举项数),string1(字符串1),string2(字符串2),…,+END。

  相关函数:int add_item_node(link_t pNode,data_te);把项节点插入到横向双向链表中。

  (2)链接屏的单向循环链表构建

  遍历已生成的各屏的双向链表,为各屏的项建立链接关系,进而构成一个链表网络。

  相关函数:int create_net(link_t head);遍历各屏的双向链表,建立链表网络。

  3.2 应用程序设计

  应用程序负责完成按键的扫描及处理、界面的显示、与控制系统的通信。

  由系统的流程框图可知,构建好链表网络后就进入应用程序阶段,即系统进入正常运行状态。通过系统中设定当前屏指针、当前项指针及已构建的链表网络等来实现人机交互界面的操作。

  3.2.1 人机界面与控制系统的通信格式

  格式说明:STA代表起始符,END代表结束符,type代表类型。

  (1)人机界面→控制系统

  ①索取变量信息:STA+type(1)+Item_ID(项的ID)+END

  ②按键:STA+type(2)+按键个数+键值1(,键值2,…)十Item_ID(项的ID)+END

  说明:通信格式②中的Item_ID可以为0。

  当为0时,表示当前无选中项或功能按键。

  (2)控制系统→人机界面

  ①返回变量信息:STA+type(1)+Item_ID(项的ID)+content(内容)+END

  ②按键确认:STA+type(2)+END

  ③按键确认并返回修改后的变量信息:STA+type(3)+content(内容)+END

  3.2.2 界面的显示

  通过遍历当前屏幕的横向双向循环链表来逐一显示屏幕项。其中对各类项的处理如下:

  ①当屏幕项是文本时,直接读取并显示。

  ②当屏幕项为整型、浮点时,通过向控制系统索取其值并显示。

  ③当屏幕项为枚举时,通过向控制系统索取其值,再按值读取对应的字符串并显示。

  3.2.3 按键的处理

  所有的按键都先发送到控制系统,并等待其确认。存在如下按键类型及相应的处理:

  ①当为功能键时,直接发送给控制系统,人机界面不做进一步处理。

  ②当为上、下键时,如果当前屏幕有选中项且是可变项时(如整型、浮点等),则接收处理后的信息并显示。

  ③当为左、右键时,如有可选项,则进行当前屏的屏幕项选择或切换(通过操作横向双向循环链表来实现)。

  ④当为确定键时,如果当前屏幕有选中项,则启用该项的功能(通过发送该键值及项的ID给控制系统)。

  ⑤当为换屏键时,如果当前屏幕有选中项并且此项有链接,则进入该项的链接屏幕;如果没有选中项且屏幕的首项有链接,则进入此链接屏幕(通过操作链接屏的单向循环链表来实现)。

  结 语

  从数据结构的角度出发,综合利用PC机、P89C51RD2的IAP等功能,并结合控制系统,巧妙地设计出一种通用型可定制的人机交互界面。使用这种人机交互界面,无论是新产品的开发还是产品的更新升级,都可以减少开发的工作量,缩短开发的时间,为产品赢得宝贵的上市时间,从而可以增强企业的竞争力,因此该系统具有十分广阔的市场前景。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

P89C51RD? 人机交互界面? Flash?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈