音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

數(shù)據(jù)轉換求助

作者:彪哥 欄目:單片機
數(shù)據(jù)轉換求助
AD574轉換后的數(shù)據(jù)是0x0688,怎么樣將他換算成十進制數(shù)呀?我想將其換算后在液晶上顯示出來,想了好長時間也想不出怎么換算。只好到這里求助。

2樓: >>參與討論
彪哥
頂一把
 
3樓: >>參與討論
maychang
除以十,取余數(shù)
商再除以十,取余數(shù)……


4樓: >>參與討論
王紫豪
兩種方法
1、利用sprintf函數(shù);
例如:
int i=0x668;
CHAR buffer[20];

sprintf(buffer,"%d",i);
這時候buffer存的就是字符串"1640"(0x668=1640),在做顯示把每位減去'0'即可,好辦了吧。

2、還有一種方法:
unsigned CHAR ge,shi,bai,qian;
float TEMP;

TEMP=0x0668;
ge=TEMP%10;
TEMP/=10;
shi=TEMP%10;
TEMP/=10;
bai=TEMP%10;
TEMP/=10;
qian=TEMP%10;
...
當然可以用循環(huán)+數(shù)組的方式

5樓: >>參與討論
彪哥
繼續(xù)求助!
非常感謝兩位的解答,現(xiàn)在程序中已經(jīng)將數(shù)轉換成10進制形式,并且?guī)в行?shù)部分,存儲類型為float,我現(xiàn)在要將這個float型數(shù)據(jù)在1602上顯示出來,那關鍵的問題是怎么樣將這個數(shù)據(jù)(比如4.6543)逐位的分解開,存在一個數(shù)組里面。用上面的方法似乎不行,小數(shù)部分怎么解決呀?

6樓: >>參與討論
王紫豪
還是上面的方法
float a=23.45;
CHAR buffer[20];

sprintf(buffer,"%f",a);
這時buffer里面就是 "23.45"了,sprintf還可以指定多少小數(shù)位、整數(shù)位等,請看c51手冊!

7樓: >>參與討論
zoupeng139
收到
受益霏淺


8樓: >>參與討論
彪哥
謝謝王紫豪
float a=23.45;
CHAR buffer[20];

sprintf(buffer,"%f",a);
用這個函數(shù)的確可以了,但我在調試的時候發(fā)現(xiàn)如果將數(shù)組定義成
unsigned CHAR buffer[20]; 數(shù)據(jù)就不是以字符的形式保存在數(shù)組中,這是為什么?對于存儲字符的數(shù)組是不是只能用CHAR型,不能去掉符號位?

* - 本貼最后修改時間:2006-5-5 20:05:46 修改者:彪哥

9樓: >>參與討論
王紫豪
樓上的兄弟
不管你定義成unsigned CHAR或者是CHAR類型的數(shù)組,存在這個內(nèi)存里的數(shù)據(jù)都是一樣的,你調試時候看的不一樣只是因為你看的時候把它類型話了,也就是說都可以的!

10樓: >>參與討論
彪哥
明白了,剛才發(fā)現(xiàn)內(nèi)存中存的是ASCII碼
顯示的時候要加偏移地址。再次感謝!

參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
雙電源用單片機選型
軟件仿真
時鐘芯片 PCF8563 偏差好大
關于51系列的單片機
請教ht1621的問題
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號