|
本人單片機(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)各位大神幫幫我,謝謝!
|
|