![]() |
wulin 發表于 2019-8-29 21:34 謝謝你的指導,結果出來了 |
csmyldl 發表于 2019-8-29 18:46 非常感謝 我弄出來了 |
本帖最后由 wulin 于 2019-8-30 04:30 編輯 #define VCC_V 5 //宏定義電源電壓5V unsigned int ADC_RESX; //10位ADC轉換結果 unsigned int ADC_V; //ADC mV unsigned char data dis_buf[4]; //顯示緩存 ADC_RESX=512; //模擬ADC轉換結果512 ADC_V=(VCC_V*(long)ADC_RESX*10000/1024+5)/10; //強制轉換數據類型(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()函數所得到的值需放在一個變量中,主程序的ADC_Read();應改為 AD_zhi=ADC_Read();然后對AD_zhi處理. 程序中雖然用到全程變量temp可傳遞轉換值,這樣不顯示的原因主要是掃描顯示程序不正確,m++未判斷加的上限,可以把m++改成n++;m=n%2;后面加一定的延時,使之顯示能看得到,另外段碼輸出和位碼輸出均直接IO口有些不妥 |