|
發(fā)布時間: 2019-8-29 16:34
正文摘要:給單片機引腳一個2.5v電壓,通過內(nèi)部AD裝換和公式計算出一個數(shù)值,用數(shù)碼管顯示出來,但是沒有反應,能不能幫我看看 |
wulin 發(fā)表于 2019-8-29 21:34 謝謝你的指導,結(jié)果出來了 |
csmyldl 發(fā)表于 2019-8-29 18:46 非常感謝 我弄出來了 |
|
本帖最后由 wulin 于 2019-8-30 04:30 編輯 #define VCC_V 5 //宏定義電源電壓5V unsigned int ADC_RESX; //10位ADC轉(zhuǎn)換結(jié)果 unsigned int ADC_V; //ADC mV unsigned char data dis_buf[4]; //顯示緩存 ADC_RESX=512; //模擬ADC轉(zhuǎn)換結(jié)果512 ADC_V=(VCC_V*(long)ADC_RESX*10000/1024+5)/10; //強制轉(zhuǎn)換數(shù)據(jù)類型(32位)運算,得到(4舍5入)mV dis_buf[0] = ADC_V/1000%10;//千 dis_buf[1] = ADC_V/100%10; //百 dis_buf[2] = ADC_V/10%10; //十 dis_buf[3] = ADC_V%10; //個 |
| ADC_Read()函數(shù)所得到的值需放在一個變量中,主程序的ADC_Read();應改為 AD_zhi=ADC_Read();然后對AD_zhi處理. 程序中雖然用到全程變量temp可傳遞轉(zhuǎn)換值,這樣不顯示的原因主要是掃描顯示程序不正確,m++未判斷加的上限,可以把m++改成n++;m=n%2;后面加一定的延時,使之顯示能看得到,另外段碼輸出和位碼輸出均直接IO口有些不妥 |
Powered by 單片機教程網(wǎng)