打印

用C51怎样把一字节HEX数转换为BCD码?

[复制链接]
2886|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ningling_21|  楼主 | 2009-4-18 08:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
BCD, C51, rc, TE, NEC
我想把18B20读到的温度,转换成BCD码显示出来,怎么总是00.0  呢?

a=ReadOneChar();
b=ReadOneChar();
c=b;
t=(b&0xf0)>>4;
t1=b&0x0f;
t2=(a&0xf0)>>4;
t3=a&0x0f;

t4=c/100;
temp=c/10;
t5=temp/10;
t6=temp%10;

      cs1=1,cs2=0;
      wrlie(30);
      wrpage(0x01);
      wrchar(t);
      wrchar(t1);

      wrchar(t2);
      wrchar(t3);
      cs1=0,cs2=1;
      wrlie(2);
           wrpage(0x01);
      wrchar(t4); //显示十位数
      wrchar(t5); //显示个位数
      wrchar(0x27);//显示小数点
      wrchar(t6); // 显示小数位 此处总是显示00.0

相关帖子

沙发
smileagain| | 2009-4-18 13:54 | 只看该作者

感觉好乱

c的高4位是符号位,怎么可以直接除100取整呢?还是老老实实提取出整数部分先合并起来,再读一下第一个小数位比较好。
再看一下18b20的温度存储方式吧,程序ms有点乱。

使用特权

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

本版积分规则

5013

主题

17735

帖子

51

粉丝