标题:
求助 数据转换
[打印本页]
作者:
wangzewu
时间:
2014-7-14 22:43
标题:
求助 数据转换
您好。
我有个问题想请教。单片机读出数据(I2C方式)经过程序处理后得到个数据,如0x12d. 我想用十进制通过LED显示出301.可是我试了好几天,也没试出来,请问用什么方式可以把16进制转换成十进制显示出来。谢谢!
作者:
w627255898
时间:
2014-7-15 11:27
用变量拆分 把个位 十位 百位拆出来在显示
假如数字字符串是i,则:
a=i/10000000; //千万为
b=i%10000000/1000000; //百万位
c=i%10000000%1000000/100000; //十万位
d=i%10000000%1000000%100000/10000; //万位
e=i%10000000%1000000%100000%10000/1000; //千位
f=i%10000000%1000000%100000%10000%1000/100; //百位
g=i%10000000%1000000%100000%10000%1000%100/10; //十位
h=i%10000000%1000000%100000%10000%1000%100%10; //个位
a,b,c,d,e,f,g,h是存储每一位位的数字
作者:
zjjhtony
时间:
2014-7-15 16:55
unsigned int data1
idata unsigned char BUF[5];
data1=0x12d; //需要转换的数据
sprintf(BUF,"%d",data1); //结果301放在BUF数组内。
作者:
wangzewu
时间:
2014-7-16 13:08
用变量拆分 把个位 十位 百位拆出来在显示
假如数字字符串是i,则:
a=i/10000000; //千万为
b=i%10000000/1000000; //百万位
c=i%10000000%1000000/100000; //十万位
d=i%10000000%1000000%100000/10000; //万位
e=i%10000000%1000000%100000%10000/1000; //千位
f=i%10000000%1000000%100000%10000%1000/100; //百位
g=i%10000000%1000000%100000%10000%1000%100/10; //十位
h=i%10000000%1000000%100000%10000%1000%100%10; //个位
a,b,c,d,e,f,g,h是存储每一位位的数字
谢谢,这个方法我试过 没成功。
作者:
wangzewu
时间:
2014-7-16 13:11
unsigned int data1
idata unsigned char BUF[5];
data1=0x12d; //需要转换的数据
sprintf(BUF,"%d",data1); //结果301放在BUF数组内。
谢谢 我去试下,
sprintf 这个命令在单片机里也可以用?
作者:
lijunboxx
时间:
2014-7-17 15:27
void time_show(uchar t,uchar x,uchar y,uchar z)
{
uint m=10*t;
num[1]=(m/1000)+'0'; //千位
num[2]=(m%1000/100)+'0';//百位
num[3]=(m%1000%100/10)+'0';//十位
num[4]=(m%1000%100%10)+'0';//个位
GUI_WriteASCII(x, y, &num[1], 0xF800, 0x0000);
GUI_WriteASCII((x+z), y, &num[2], 0xF800, 0x0000);
GUI_WriteASCII((x+2*z), y, &num[3], 0xF800, 0x0000);
GUI_WriteASCII((x+3*z), y, &num[4], 0xF800, 0x0000);
}
上面就是我现在用的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1