一、实验目的
二、实验设备
三、实验步骤
3.1 新建工程
3.2 新建画面
3.3 新建子窗口
3.4 添加控件
3.5模拟工程
3.6硬件验证
51、AVR、PIC、STM 等 8 位或者 32 位单片机的串口与单片机智能显示卡相连驱动 3.5 寸~55 寸的 TFT-LCD/VGA 显示器或者电视机进行多个画和子窗口的控制、切换、显示等。
画面和子窗口的控制有两种方式:
1,用户单片机的串口发送数据给单片机智能显卡进行切换、显示。
2,用户鼠标或触摸屏点击操作按钮控件的时候,画面和子窗口发生切换的同时单片机智能显卡发送将被激活的画面和子窗口的编号给用户单片机。
下载软件一个,HMIMaker 下载链接,http://www.gz-yixian.com/Download.asp,单片机智能显示终端一个;用户 51、AVR、PIC、STM 等单片机(带串口 UART)实验电路板一个;鼠标或者触摸屏。
3.1 新建工程

HMIMaker 软件界面如上图所示,点击菜单[工程]>[新建工程]进入新工程设置界面。下图是新工程设置界面,用户根据实际的硬件填写相应的参数。

下图是新工程的界面。在该画面的左边工程导航栏内有《画面》,《子窗口》,《模拟LCD/VGA 显示器》三个元素。其中,每个工程必须至少包含一个画。

3.2 新建画面

在新工程界面左边的工程导航栏内鼠标右键选中《画面》元素,弹出子菜单如上图所示右键子菜单。鼠标左键单击选中《新建画面》元素,进入新画面设置界面如下图所示。您只能设置画面的名字,而画面的宽度和高度与您的显示硬件的分辨率是相同的,它会填充整个屏幕。点击[确定]便给新工程增加了一个画面。

添加后如下所示:

3.3 新建子窗口

在新工程界面左边的工程导航栏内鼠标右键选中《子窗口》元素,弹出子菜单如上图所示右键子菜单。鼠标左键单击选中《新建子窗口》元素,进入新子窗口设置界面如下图所示。点击[确定]便给新工程增加了一个子窗口。

添加后如下所示:

3.4 添加控件

如上图所示,鼠标移动到新工程界面左边的工程导航栏内,左键点击选中新画面将“win0”画面激活为当前活动文件。

HMIMaker 软件界面上点击菜单[控件]>[操作按钮]如上图所示。将鼠标移到“win0”画面上,此时鼠标变成十字形状,按下鼠标左键并拖动至合适大小后松开左键,这样便给画面添加了一个指定的控件。在画面的同一位置单击鼠标左键(不拖动),鼠标退出十字状态。鼠标左键点击菜单[工程]>[保存工程]。

双击控件,弹出控件属性修改对话框,鼠标选中[外观]标签选项如下图所示,把按钮文字改为“这是 0 号画面,点击跳到 1 号画面”。

鼠标选中[基本控制]标签选项如下图所示,把点击时执行变为“WindowName.drw”。

按确定后,回到界面,调整好按钮的尺寸大小,界面如下。

下面按照相似的方法处理“1 号画面”

如上图所示,鼠标移动到新工程界面左边的工程导航栏内,左键点击选中新画面将“1 号画面”激活为当前活动文件。

HMIMaker 软件界面上点击菜单[控件]>[操作按钮]如上图所示。将鼠标移到“1 号画面”上,此时鼠标变成十字形状,按下鼠标左键并拖动至合适大小后松开左键,这样便给画面添加了一个指定的控件。在画面的同一位置单击鼠标左键(不拖动),鼠标退出十字状态。鼠标左键点击菜单[工程]>[保存工程]。

双击控件,弹出控件属性修改对话框,鼠标选中[外观]标签选项如下图所示,把按钮文字改为“这是 1 号画面,点击跳到 0 号子窗口”。

鼠标选中[基本控制]标签选项如下图所示,把点击时执行变为“0 号子窗口.dlg”。

按确定后,回到界面如下。

下面按照相似的方法处理“0 号子窗口”

如上图所示,鼠标移动到新工程界面左边的工程导航栏内,左键点击选中新画面将“0 号子窗口”激活为当前活动文件。

HMIMaker 软件界面上点击菜单[控件]>[操作按钮]如上图所示。将鼠标移到“0 号子窗口”上,此时鼠标变成十字形状,按下鼠标左键并拖动至合适大小后松开左键,这样便给画面添加了一个指定的控件。在画面的同一位置单击鼠标左键(不拖动),鼠标退出十字状态。鼠标左键点击菜单[工程]>[保存工程]。

双击控件,弹出控件属性修改对话框,鼠标选中[外观]标签选项如下图所示,把按钮文字改为“这是 0 号子窗口,点击回到父画面”。

鼠标选中[基本控制]标签选项如下图所示,把点击时执行变为“win0.drw”。

按确定后,回到界面如下。

鼠标左键点击菜单[工程]>[保存工程]。 通过两种方法可以控制上面的画面切换:
第一种方法是,用户单片机串口设置画面和子窗口变量大小。那么如何知道当前的画面或者子窗口的变量呢?如下: HMIMaker 软件界面上点击菜单[HMI 变量],进入[HMI 变量管理]对话框,如下图所示。

如上图所示,m_HuaMian 表示画面编号,当等于 1 的时候表示显示 1 号画面; m_ChildWindow 表示子窗口,当等于 0 时候表示弹出 0 号子窗口,当等于 255 时候表示当前无子窗口显示。 第二种方法是,硬件运行的时候,鼠标点击按钮或者触摸屏点击按钮的时候,显示终端会发将被激活的画面和子窗口的编号给用户单片机。
3.5模拟工程
用户 51、AVR、PIC、STM 等单片机的串口连接电脑的串口并向工程发送数据便可以改变控件对应的变量值,从而达到改变控件的显示。
在本实验中我们使用电脑的串口 COM3 和用户单片机串口进行连接。HMIMaker 软件界面上点击菜单[工程]>[工程属性]进入新工程属性设置对话框。如下图所示。

在上图的命令接收串口号选中 COM3,点击右边的连接。如下图所示表示串口 COM3可以接收发送命令数据了。 点击[确定]按钮,回到主界面。在主界面下端的状态栏中可以看到,COM3 已经连接成功,如下图所示。

设置好串口后,那么用户单片机发什么样的数据可以把切换画面和子窗口呢?
首先,您要让工程进入模拟仿真状态,有两种方法可以进入仿真状态:
1:点击菜单[查看]>[全屏仿真]进入全屏方式的仿真状态。

2:在工程界面左边的工程导航栏内鼠标左键选中《模拟 LCD/VGA 显示器》元素。

其次,在激活仿真功能之后,用户通过单片机串口向电脑 COM3 发送下面的数据(注意:十六进制)就可以显示 1 号画面。
81 00 02 00 00 00 00 01 00 01 XX XX
解释如下:

同理,用户通过单片机串口向电脑 COM3 发送下面的数据(注意:十六进制)就可以弹出 0 号子窗口。
81 00 02 01 00 00 00 01 00 01 XX XX
第二种实现画面和子窗口切换的方法是,用户鼠标或触摸屏点击“操作按钮”的时候,显示卡就会发数据给用户告知当前的画面和子窗口号。
假如当前的画面是 0 号画面,点击 “这是 0 号画面,点击跳到 1 号画面” 按钮就会激活 1 号画面,同时用户单片机将收到显示卡发来的下面数据:
81 00 02 00 00 00 00 01 00 01 XX XX
同理,点击 “这是 1 号画面,点击跳到 0 号子窗口” 按钮就会弹出 0 号子窗口,同时用户单片机将收到显示卡发来的下面数据:
81 00 02 01 00 00 00 01 00 00 XX XX
继续,点击 “这是 0 号子窗口,点击回到父画面” 按钮就会关闭 0 号子窗口,同时用户单片机将收到显示卡发来的下面数据:
81 00 02 01 00 00 00 01 00 255 XX XX
3.6硬件验证
上面已经完成了工程的仿真,现在我们把工程下载到目标硬件上,脱离电脑进行实际的显示。 首先,我们编译工程并生成目标硬件所需要的 FLASH 文件,移动鼠标执行如下图所示操作。

其次,我们通过 USB 串口把刚才编译后的工程下载到目标硬件上。注意,如果是第一次使用需要安装 USB 驱动,具体见“快速入门”的介绍。移动鼠标执行如下图所示操作。

最后,下载完之后要给目标硬件重新断电和上电。 用户 51、AVR、PIC、STM 等单片机的串口连接目标硬件的串口并发送数据便可以改变 m_HuaMian 和 m_ChildWindow 变量大小,从而达到切换画面和子窗口的显示。 用户通过单片机串口向目标硬件发送下面的数据(注意:十六进制)就可以就可以显示1 号画面。
81 00 02 00 00 00 00 01 00 01 XX XX 解释如下:

同理,用户通过单片机串口向电脑 COM3 发送下面的数据(注意:十六进制)就可以弹出 0 号子窗口。
81 00 02 01 00 00 00 01 00 01 XX XX
第二种实现画面和子窗口切换的方法是,用户鼠标或触摸屏点击“操作按钮”的时候,显示卡就会发数据给用户告知当前的画面和子窗口号。
假如当前的画面是 0 号画面,点击 “这是 0 号画面,点击跳到 1 号画面” 按钮就会激活 1 号画面,同时用户单片机将收到显示卡发来的下面数据:
81 00 02 00 00 00 00 01 00 01 XX XX
同理,点击 “这是 1 号画面,点击跳到 0 号子窗口” 按钮就会弹出 0 号子窗口,同时用户单片机将收到显示卡发来的下面数据:
81 00 02 01 00 00 00 01 00 00 XX XX
继续,点击 “这是 0 号子窗口,点击回到父画面” 按钮就会关闭 0 号子窗口,同时用户单片机将收到显示卡发来的下面数据:
81 00 02 01 00 00 00 01 00 255 XX XX
全部0条评论
快来发表一下你的评论吧 !