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

QQ登錄

只需一步,快速開始

搜索

為什么STC12C5A60S2單片機(jī)的AD值不能轉(zhuǎn)換成電壓值?

查看數(shù): 3347 | 評(píng)論數(shù): 14 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2020-11-5 22:44

正文摘要:

弄了好久都解決不了,AD值都正常,但是轉(zhuǎn)換成電壓值就不正常了,會(huì)不會(huì)是軟件的原因(使用KEIL3)? #include<reg52.h> #include<intrins.h> #define uint unsigned int   #define ...

回復(fù)

ID:93341 發(fā)表于 2021-7-15 16:16
標(biāo)定不對(duì)。
ID:852655 發(fā)表于 2020-12-10 13:55
分立元件 發(fā)表于 2020-11-10 15:53
問題已解決,是數(shù)據(jù)類型設(shè)置不對(duì)造成的!

應(yīng)該怎么設(shè)置呢?
ID:382699 發(fā)表于 2020-11-10 15:53
問題已解決,是數(shù)據(jù)類型設(shè)置不對(duì)造成的!
ID:382699 發(fā)表于 2020-11-7 22:20
FJ2018 發(fā)表于 2020-11-6 16:46
gjkl你定義為浮點(diǎn)型,計(jì)算電壓公式   g=l*5.00/1024*1000; 然后看看

改成unsigned long
改成 g=l*50/1023*100;
輸出0——50,只有2位,不知道什么原因,正常應(yīng)該有四位吧?
ID:382699 發(fā)表于 2020-11-7 22:18
梁廷明 發(fā)表于 2020-11-6 15:34
轉(zhuǎn)換成浮點(diǎn)型看看,除的數(shù)沒有小數(shù)點(diǎn)的

改成 g=l*50/1023*100;
輸出0——50,只有2位,不知道什么原因?
ID:394367 發(fā)表于 2020-11-6 16:46
gjkl你定義為浮點(diǎn)型,計(jì)算電壓公式   g=l*5.00/1024*1000; 然后看看
ID:235954 發(fā)表于 2020-11-6 15:34
轉(zhuǎn)換成浮點(diǎn)型看看,除的數(shù)沒有小數(shù)點(diǎn)的
ID:213173 發(fā)表于 2020-11-6 11:17

+5/10是為了4舍5入
ID:382699 發(fā)表于 2020-11-6 10:09
wulin 發(fā)表于 2020-11-6 07:44
是樓主計(jì)算方法不當(dāng)

#define VCC_V  5//宏定義電源電壓5V

為什么要加5呢?
ID:382699 發(fā)表于 2020-11-6 10:07
TTQ001 發(fā)表于 2020-11-6 09:22
模數(shù)轉(zhuǎn)換的參考電壓為VREF,在任何電壓V下,ADC結(jié)果為n,滿量程ADC結(jié)果為1023,則V = VREF x(n / 1023), ...

這個(gè)方法不行的,出現(xiàn)錯(cuò)誤
ID:382699 發(fā)表于 2020-11-6 10:06
aking991 發(fā)表于 2020-11-6 09:27
首先要根據(jù)你的分壓電阻比例關(guān)系,其次是要知道你單片機(jī)工作電源電壓,即為基準(zhǔn)源,這兩個(gè)參數(shù)很關(guān)鍵,接下 ...

就是按照這個(gè)方法,計(jì)算出結(jié)果不正常!
ID:65956 發(fā)表于 2020-11-6 09:27
首先要根據(jù)你的分壓電阻比例關(guān)系,其次是要知道你單片機(jī)工作電源電壓,即為基準(zhǔn)源,這兩個(gè)參數(shù)很關(guān)鍵,接下來就是:基準(zhǔn)源乘以采集到的ADC值,再除以10位AD即1024,這樣計(jì)算結(jié)果就是你的ADC實(shí)際電壓值了
ID:420836 發(fā)表于 2020-11-6 09:22
模數(shù)轉(zhuǎn)換的參考電壓為VREF,在任何電壓V下,ADC結(jié)果為n,滿量程ADC結(jié)果為1023,則V = VREF x(n / 1023),將V轉(zhuǎn)換為mV:VmV = V
ID:213173 發(fā)表于 2020-11-6 07:44
是樓主計(jì)算方法不當(dāng)

#define VCC_V  5//宏定義電源電壓5V
unsigned int ADC_RESX;//10位ADC轉(zhuǎn)換結(jié)果
unsigned int ADC_V;        //ADC mV
//強(qiáng)制轉(zhuǎn)換數(shù)據(jù)類型(32位)運(yùn)算,得到(4舍5入)mV
ADC_V=(VCC_V*(long)ADC_RESX*10000/1024+5)/10;

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

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

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