为了有效管理窗口显示,给窗口定义了结构体。
菜单分两种,一种是功能菜单,如图4中的频率菜单、调制菜单。这种菜单只要求显示菜单名,则对应Menu结构体中的ParaFlag=0。另一种菜单为参数菜单,见图4中的参数菜单显示区。每个参数菜单有一个参数名和一个参数值,则对应Menu结构体中的ParaFlag=1,Text指向参数名字符串,pData指向参数值字符串。
4.4 键值处理及LCD显示模块
DDS任意波信号发生器的上层控制程序的主体就是键值处理及LCD显示模块,其软件流程图如图5所示。它主要完成三方面的功能。(1)按了不同的波形键。由于各种波形的形状、参数种类和个数不尽相同,当按了波形键且和上一次按的波形键不一样时,LCD要刷屏并显示当前波形窗口。(2)按了设置参数键。这一般用来修改波形参数或系统参数。LCD必须提供编辑框或选择框,动态显示键盘输入的数字和单位。对一些需要保存的参数,则还要将这些数据保存在FLASH中。(3)按了输出键。LCD不需要修改显示画面,HMS30C7202通过串口向DDS信号源发送命令控制字。
另外为了提高LCD的换屏速度,在换屏显示时并不是更新所有内容,而是只有当前操作修改了哪些参数,LCD才更新显示哪一块内容。
5 结论
本文设计的DDS任意波信号发生器人机交互系统已在实际硬件环境中调试通过。LCD显示画面简洁,操作简单直观。同时若要修改菜单内容,调整菜单显示位置,只需修改窗口结构体变量的值,无需修改程序代码,软件系统易于扩展和移植。
本文作者创新点:采用先进的HMS30C7202 ARM处理器和高性能的M-320240LTNQW-00H TFT液晶屏,设计了一个DDS任意波信号发生器的人机交互系统。该系统实现方法简单,操作简便,界面显示直观,且易于移植和扩展。