4515|3

64

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

ADC0832在1602中,该咋显示电压值咧? [复制链接]

这几天模仿着写了个ADC0832模数转换与显示的例子。仿真时发现,显示部分(1602)出了问题。(关于电压显示的部分)。
程序部分:void main(void)
{
uchar i=0;
uint A=0;
      initlcd();
     while(1)
   {
        displaytext(0,0,w1);
       i=readADC();
   A=i;
   displaybyte(1,5,(196*i)/10000+0x30);  //应该是这部分的算法出了问题。但是俺不知道该怎么改。因为这个部分是模仿的,一直未看懂. 敬请高手大力赐教!!!
   displaybyte(1,6,',');
   displaybyte(1,7,(196*i)/1000%10+0x30);
   displaybyte(1,8,(196*i)/100%10+0x30);
   displaybyte(1,9,'V');
   delayms(10);
   }
}

图示: 当1602显示为4.93V,而电压表显示为5v.
此帖出自51单片机论坛

最新回复

加0x30是因为1602显示的不是“数字”,就是说要他显示1、2、3时给它的数据不是数字1、2、3,而是相应数字的ASCII码,即0x31、0x32、0x33,0x30是数字0的ASCII码,其他数字就是在0的基础上加出来的 你去看一下ASCII码表就明白了 另外有条件的话最好是把电路是机搭出来,不要太依赖仿真软件,我就遇到过仿真不行但是实际可以工作的情况 [ 本帖最后由 anqi90 于 2011-10-23 16:17 编辑 ]  详情 回复 发表于 2011-10-23 16:14
点赞 关注
 

回复
举报

64

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

displaybyte(1,8,(196*i)/100%10+0x30); 5/255=0.0196=196/10000 ,这个东西我明白了。 但是,为什么+0x30. 0x30是’0‘。 这个知道。可是为什么加它呢?

 

另: 数据值,1602与电压表显示的不符。这个也是困惑中。。。。。

[ 本帖最后由 yanse51 于 2011-10-23 16:00 编辑 ]
此帖出自51单片机论坛
 
 
 

回复

1469

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 
加0x30是因为1602显示的不是“数字”,就是说要他显示1、2、3时给它的数据不是数字1、2、3,而是相应数字的ASCII码,即0x31、0x32、0x33,0x30是数字0的ASCII码,其他数字就是在0的基础上加出来的
你去看一下ASCII码表就明白了

另外有条件的话最好是把电路是机搭出来,不要太依赖仿真软件,我就遇到过仿真不行但是实际可以工作的情况

[ 本帖最后由 anqi90 于 2011-10-23 16:17 编辑 ]
此帖出自51单片机论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(中级)

4
 
多谢了。谢谢解惑。刚才又运行一下,OK了
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表