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

QQ登錄

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

搜索
查看: 2257|回復(fù): 7
收起左側(cè)

關(guān)于STC單片機(jī)ADC參考電壓的請(qǐng)教

[復(fù)制鏈接]
ID:61140 發(fā)表于 2022-11-16 08:37 | 顯示全部樓層 |閱讀模式
本人單片機(jī)菜鳥(niǎo),剛學(xué)單片機(jī)不久,現(xiàn)在弄到ADC這塊(使用STC32G12K128單片機(jī)),很多東東不清楚,具體如下:我的ADC程序部分如下:
void  ADCQUERY(void)
{
          ADC_RES   = 0;
          ADC_RESL  = 0;
          ADC_POWER = 1;
          ADC_START = 1;
    DelayMs(5);        
    while(!ADC_FLAG);                        //等待ADC轉(zhuǎn)換完成
    ADC_FLAG  = 0;                           //清除ADC結(jié)束標(biāo)志
          DelayMs(5);
          adcjg=(((u16)ADC_RES << 8) | ADC_RESL);
}                                                   //ADC結(jié)果保存在adcjg

//******************************************************************************
//【正常顯示界面】
//******************************************************************************
void  xsjm(void)
{
u16 i;
u8 a,b,c,d;                                 //定義千/百/十/個(gè)位變量
i=(0x0f4c/4096*adcjg);
        //i=adcjg;
a=i/1000%10;
b=i/100%10;
c=i/10%10;
d=i/1%10;
LCDTestWord(0,0x80);                        //第一行第一個(gè)位置開(kāi)始顯示
LCDSendWord("電壓");                        //顯示兩個(gè)漢字:電壓
LCDTestWord(1,0x3a);                        //顯示分號(hào)
LCDTestWord(1,(u8)(a+0x30));
LCDSendWord(".");
LCDTestWord(1,(u8)(b+0x30));
LCDTestWord(1,(u8)(c+0x30));
LCDTestWord(1,(u8)(d+0x30));        


現(xiàn)在i=adcjg的話倒是可以正常顯示,調(diào)電位器會(huì)顯示0-4095,但是按單片機(jī)說(shuō)明書(shū)上的計(jì)算方法反而全顯示00000
   請(qǐng)各位大神幫幫我,謝謝!




回復(fù)

使用道具 舉報(bào)

ID:752974 發(fā)表于 2022-11-16 14:57 | 顯示全部樓層
1. ADC的結(jié)果是二進(jìn)制數(shù),不是ADC的輸入電壓,要知道電壓值需要換算,也就是常說(shuō)的定標(biāo)。
   Vi=D*Vref/((2^12)-1)。
2. 顯示一個(gè)數(shù)值,首先要分離出這個(gè)數(shù)值的 個(gè)位,十位,百位。。。然后送顯。
3. 。。。。。。。。。還是自己練習(xí)寫(xiě)吧。
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2022-11-16 14:59 | 顯示全部樓層
ADC直讀出來(lái)的數(shù)據(jù)是輸入電壓與參考電壓的比值。
回復(fù)

使用道具 舉報(bào)

ID:1039438 發(fā)表于 2022-11-16 19:46 | 顯示全部樓層
在stc32g12k128的數(shù)據(jù)手冊(cè)上有公式,可以直接去參考,直接讀出的不是電壓值吧,12位精度的測(cè)量值合到一個(gè)變量里以后,在mcu里是二進(jìn)制形式,對(duì)外輸出時(shí)就是十進(jìn)制形式,不需要轉(zhuǎn)換和計(jì)算。
回復(fù)

使用道具 舉報(bào)

ID:1052323 發(fā)表于 2022-11-16 19:51 | 顯示全部樓層
那要看你用哪個(gè)AD芯片了
回復(fù)

使用道具 舉報(bào)

ID:624769 發(fā)表于 2022-11-16 20:27 | 顯示全部樓層
12位ADC, 滿值為4095, 你想直接讀出電壓,并且又打算折騰參考電壓,那么建議,給Vref 提供一個(gè) 精準(zhǔn)的4.095V 電壓,這樣,你ADC讀指就是電壓值,單位(mV)。
回復(fù)

使用道具 舉報(bào)

ID:101869 發(fā)表于 2022-11-16 21:33 來(lái)自觸屏版 | 顯示全部樓層
如果5V基準(zhǔn)  測(cè)量值換算=AD值*5000/4096  
回復(fù)

使用道具 舉報(bào)

ID:1034262 發(fā)表于 2022-11-16 23:21 | 顯示全部樓層
樓主去STC官網(wǎng)下載例程吧,什么例程都有。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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