LCD1602动态显示时间的时候,为什么要在写数据里面加上0x30呢?????

2019-07-14 20:35发布

各位大神晚上好,

      LCD1602动态显示时间的时候,为什么要在写数据里面加上0x30呢;
      比如:write_data(0x30+hour); 我在main函数外面已经将hour设置为unsigned char变量了,按理hour‘
已经是一个字符变量了,怎么还要用0x30转换一次呢????

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
本人新手
1楼-- · 2019-07-15 04:42
 精彩回答 2  元偷偷看……
本人新手
2楼-- · 2019-07-15 07:35
LCD1602只能识别ASCII码数据,所以需要把数据先转换成其对应的ASCII码,才能正确显示 ...
因为0X30是数字0的ASCII码,当要显示显示数字时,必须要加上这个数,不过还可以这样写:write_data(‘0’+h)
mcqueen
3楼-- · 2019-07-15 08:03
本人新手 发表于 2016-7-24 17:14
LCD1602只能识别ASCII码数据,所以需要把数据先转换成其对应的ASCII码,才能正确显示 ...
因为0X30是数字0的ASCII码,当要显示显示数字时,必须要加上这个数,不过还可以这样写:write_data(‘0’+h)

我已经将变量设置成了字符型啦。
如果是一个数组,然后用写数据输出都没有问题呢?
mcqueen
4楼-- · 2019-07-15 09:01
jianfeii 发表于 2016-7-23 00:20
这要看你赋值时间的时候是怎么赋值了啊,你如果赋值时间用的是hour=1,那实际上这个hour值是1,而不是'1'所代表的0x31.所以你还是要加上0x30.

谢谢你,感觉有点道理!

一周热门 更多>