找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2685|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

求助 數(shù)據(jù)轉(zhuǎn)換

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:60655 發(fā)表于 2014-7-14 22:43 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
您好。
    我有個(gè)問(wèn)題想請(qǐng)教。單片機(jī)讀出數(shù)據(jù)(I2C方式)經(jīng)過(guò)程序處理后得到個(gè)數(shù)據(jù),如0x12d. 我想用十進(jìn)制通過(guò)LED顯示出301.可是我試了好幾天,也沒(méi)試出來(lái),請(qǐng)問(wèn)用什么方式可以把16進(jìn)制轉(zhuǎn)換成十進(jìn)制顯示出來(lái)。謝謝!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:61174 發(fā)表于 2014-7-15 11:27 | 只看該作者
用變量拆分 把個(gè)位 十位 百位拆出來(lái)在顯示

假如數(shù)字字符串是i,則:
a=i/10000000;                                          //千萬(wàn)為
b=i%10000000/1000000;                                  //百萬(wàn)位
c=i%10000000%1000000/100000;                          //十萬(wàn)位
d=i%10000000%1000000%100000/10000;                  //萬(wàn)位
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ù)字
回復(fù)

使用道具 舉報(bào)

板凳
ID:18297 發(fā)表于 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)。
回復(fù)

使用道具 舉報(bào)

地板
ID:60655 發(fā)表于 2014-7-16 13:08 | 只看該作者

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

假如數(shù)字字符串是i,則:
a=i/10000000;                                          //千萬(wàn)為
b=i%10000000/1000000;                                  //百萬(wàn)位
c=i%10000000%1000000/100000;                          //十萬(wàn)位
d=i%10000000%1000000%100000/10000;                  //萬(wàn)位
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è)方法我試過(guò) 沒(méi)成功。
回復(fù)

使用道具 舉報(bào)

5#
ID:60655 發(fā)表于 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ī)里也可以用?

回復(fù)

使用道具 舉報(bào)

6#
ID:64084 發(fā)表于 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)在用的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表