標(biāo)題: 求助 數(shù)據(jù)轉(zhuǎn)換 [打印本頁(yè)]

作者: wangzewu    時(shí)間: 2014-7-14 22:43
標(biāo)題: 求助 數(shù)據(jù)轉(zhuǎn)換
您好。
    我有個(gè)問題想請(qǐng)教。單片機(jī)讀出數(shù)據(jù)(I2C方式)經(jīng)過程序處理后得到個(gè)數(shù)據(jù),如0x12d. 我想用十進(jìn)制通過LED顯示出301.可是我試了好幾天,也沒試出來,請(qǐng)問用什么方式可以把16進(jìn)制轉(zhuǎn)換成十進(jìn)制顯示出來。謝謝!

作者: w627255898    時(shí)間: 2014-7-15 11:27
用變量拆分 把個(gè)位 十位 百位拆出來在顯示

假如數(shù)字字符串是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;          //個(gè)位

a,b,c,d,e,f,g,h是存儲(chǔ)每一位位的數(shù)字
作者: zjjhtony    時(shí)間: 2014-7-15 16:55
                unsigned int  data1
                idata unsigned char BUF[5];              
                data1=0x12d;       //需要轉(zhuǎn)換的數(shù)據(jù)
                sprintf(BUF,"%d",data1);       //結(jié)果301放在BUF數(shù)組內(nèi)。
作者: wangzewu    時(shí)間: 2014-7-16 13:08

用變量拆分 把個(gè)位 十位 百位拆出來在顯示

假如數(shù)字字符串是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;          //個(gè)位

a,b,c,d,e,f,g,h是存儲(chǔ)每一位位的數(shù)字
謝謝,這個(gè)方法我試過 沒成功。
作者: wangzewu    時(shí)間: 2014-7-16 13:11
  unsigned int  data1
                idata unsigned char BUF[5];              
                data1=0x12d;       //需要轉(zhuǎn)換的數(shù)據(jù)
                sprintf(BUF,"%d",data1);       //結(jié)果301放在BUF數(shù)組內(nèi)。
謝謝 我去試下,
                sprintf 這個(gè)命令在單片機(jī)里也可以用?


作者: lijunboxx    時(shí)間: 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';//個(gè)位
                        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);

}

上面就是我現(xiàn)在用的




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1