打印

LCD的显示问题,+‘0’什么意思?

[复制链接]
2270|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZYX29|  楼主 | 2010-1-12 16:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
诸位,AD采集的数据是这样处理的:
     ad_data=ad_data*5*1000/256,
     dis[0]=ad_data/1000;
     dis[1]=ad_data%1000/100;
     dis[2]=ad_data%1000%100/10;
     dis[3]=ad_data%1000%100%10;
   送到LCD1602显示乱码,按下面方法处理后显示正常
     dis[0]=ad_data/1000+‘0’;
     dis[1]=ad_data%1000/100+‘0’;
     dis[2]=ad_data%1000%100/10+‘0’;
     dis[3]=ad_data%1000%100%10+‘0’;
  不知道为什么要加个‘0’,请诸位指教

相关帖子

沙发
chunyang| | 2010-1-12 16:05 | 只看该作者
字符也是数值,这里是加了一个固定偏移量。

使用特权

评论回复
板凳
g1234567| | 2010-1-12 16:33 | 只看该作者
楼上正解;
数值转字符

使用特权

评论回复
地板
denike| | 2010-1-12 17:34 | 只看该作者
楼上正解;
数值转字符

使用特权

评论回复
5
HWM| | 2010-1-12 18:30 | 只看该作者
在ASCII吗表中,有

0 的 ASCII 码为 '0' = 48;
1 的 ASCII 码为 '0' + 1 = 49;
......
9 的 ASCII 码为 '0' + 9 = 57;

使用特权

评论回复
6
QuakeGod| | 2010-1-12 19:28 | 只看该作者
用除法进行进制转换是最慢的方法。

使用特权

评论回复
7
gaohq| | 2010-1-12 21:29 | 只看该作者
楼上是用什么方法呢?


TO 楼主
0的ASCII码为'30'
一般是加0X30

使用特权

评论回复
8
QuakeGod| | 2010-1-13 05:01 | 只看该作者
高效率的算法请参考此贴
https://bbs.21ic.com/redirect.php ... 288&ptid=150153

使用特权

评论回复
9
ejack| | 2010-1-13 07:54 | 只看该作者
高效率的算法请参考此贴
https://bbs.21ic.com/redirect.php?goto=findpost&pid=987288&ptid=150153
QuakeGod 发表于 2010-1-13 05:01


受教了。不过此高效算法仅对51平台有效,利用其本身的ADDC+DA组合实现。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

16

帖子

0

粉丝