字符控件的使用

字符控件的使用

关键词:字符控件

作者:赵石林     手机:13640736857      QQ1241896329

字符控件主要用来显示字符串。以下讲解字符控件的使用。

第一步:新建工程,并添加一个字符控件,如图1所示。

 

图1

    第二步:鼠标双击字符控件,弹出如图2所示窗口,在【允许汉字】那里打上勾。然后点【基本控制】,弹出如图3所示对话框。

 

图2

    在这里,我们可以得知字符控件关联的HMI变量是m_String

图3

    接下来就是让字符控件显示字符串,这里有两种方法,一种是通过MC8051来实现,另一种是使用易显协议向串口发送数据。下面先讲MC8051的方法。

    第一步:打开工程文件MC8051里面的MC8051.Uv2(电脑必须要装有Keil软件,才能打开MC8051.Uv2),如下图所示。

 

    第二步:我们就编写程序显示字符串,显示字符串,这里有两种方法,第一种是直接调用系统函数DispStr(unsigned intmCellAdr,char * pStr),比如,我们要显示字符串“中国108”(字符串一定要用双引号括起来),编写程序如下所示。

 

图4

    第二种方法是直接赋值法,即把要显示的字符的ASCII码值赋给字符控件所关联的HMI变量,比如要显示大写字母AAASCII码是65,那么直接在主函数编写程序“XBYTE[m_String]=65;”就可以显示A了。如果要显示汉字,那就要查编码表,汉字是两个字节。比如要显示“中”字,“中”字的内码是D6D0,直接在主函数编写程序“XBYTE[m_String]=0xD6XBYTE[m_String+1]=0xD0;”就可以显示汉字“中”了。如果要显示“中国108”,“国”字的内码是B9FA108ASCII码分别是313038(十六进制),所以编写程序如下图所示,特别注意,字符串以0为结束标志。

 

图5

    第三步:编写好程序后,我们就点编译按钮,产生hex文件,如图6所示。

图6

    第四步:打开HMIMaker软件,点仿真按钮,HMIMaker软件就会自动执行hex文件,如图7所示。

 

图7

    下面讲一下使用易显协议向串口发送数据的方法。

    第一步:HMIMaker软件界面上点击菜单【工程】>【工程属性】进入工程属性对话框,如图8所示,因为我们用的是485通信,所以在串口2中设置参数,波特率设置为9600,解码协议选择【易显单片机协议】,设备地址设置为2

 

图8

    第二步:编译工程并生成目标硬件所需要的FLASH文件,如下图所示,点菜单【硬件】中的【编译工程】。

 

图9

    第三步:我们通过USB把刚才编译后的工程下载到触摸屏上。注意,如果是第一次使用需要安装USB驱动,具体见文档《单片机HMIMaker用户使用手册》中的“快速入门”的介绍。如下图所示,点菜单【硬件】中的【下载工程到系统区】。

 

图10

    第四步:工程下载完毕后,通过USB485把电脑和触摸屏连接起来。在此之前,我们先查看HMI变量m_String的地址,HMI软件界面上点击菜单【HMI变量】,弹出如图11所示对话框,由此我们可以得知,HMI变量m_String的地址是49

 

图11

    打开串口调试助手,通过串口调试助手发送下面的数据(十六进制),就可以显示字符串“中国108”。

         81 00  02 31 00  00  00  08 00  D6D0 B9FA  3130  38 00 A6 04

    解释如下:

 

常见问题

1、字符控件显示不了汉字。

答:这是因为在字符控件属性中【允许汉字】那里没有打上勾,如图12所示,所以要显示汉字,在【允许汉字】那里一定要打上勾。

2、字符串显示不完整。

答:这是因为你要显示的字符串的字节数已经超出了字符控件的最大字符数,比如你要显示字符串,字符串的字节数是16,而字符控件的最大字符数是16,那这样是不是可以完整的显示字符串“欢迎光临广州易显”呢?不能,因为字符串的末尾还包含了一个0,字符串以0为结束标志,所以要完整显示字符串,字符控件的最大字符数必须大于或等于17,那么怎么修改字符控件的最大字符数呢?在控件属性的【最大字符数】那里可以修改,如图12所示。

 

图12

3、在用MC8051显示字符串时,显示的字符串一闪一闪的。

答:这是因为在编时没有加上RefreshLCD(),如图13所示,使用在编写程序时,要在前后分别加上RefreshLCD0)和RefreshLCD1),如图14所示。

 

图13

图14

注意事项

1、通过串口发送的数据必须是十六进制格式,其中,变量地址、数据个数、变量大小以及校验和的格式都是从左到右从低字节到高字节。

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值