熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2021-7-4 01:46
正文摘要:四個(gè)電阻串聯(lián),用STC8G1K08A單片機(jī)的P3^0口做模數(shù)轉(zhuǎn)換ADC,用萬(wàn)用表測(cè) 2 3 4 點(diǎn)的電壓,分別為 1.25V,2.50V,3.75V 按照理論,這三個(gè)點(diǎn)的模數(shù)變換數(shù)值應(yīng)該為 256, 512, 768 ,實(shí)際顯示的是25 ... |
謝謝各位大俠的指點(diǎn)。 我想做個(gè)小對(duì)講機(jī),限于體積,選用STC8G1K08A做控制芯片,它的IO口只有六個(gè),去掉兩個(gè)串口,再去掉三個(gè)用于功能選擇按鍵的IO口,就剩一個(gè)IO口,只能用LED的閃爍頻率來(lái)顯示功能選擇項(xiàng),顯得很LOW,后來(lái)發(fā)現(xiàn)了一個(gè)例子,按照他的思路,精簡(jiǎn)了一下,就三個(gè)選擇項(xiàng),裝上后就是這個(gè)樣,電壓和ADC數(shù)值不成比例。我自己總結(jié)的原因是 ADC有內(nèi)阻,接上后相當(dāng)于并聯(lián),可能影響讀數(shù),也有可能是我的十位ADC結(jié)果轉(zhuǎn)換成十進(jìn)制數(shù)的計(jì)算方法有問(wèn)題,也有可能是設(shè)置ADC各個(gè)寄存器的時(shí)候沒有仔細(xì)看說(shuō)明書,直接按照例程搬過(guò)來(lái)的,可能某個(gè)寄存器的高位或低位沒設(shè)置,造成讀數(shù)不準(zhǔn)。 但是,按照這個(gè)電路,每個(gè)按鍵的讀數(shù)都比較穩(wěn)定,目的已經(jīng)達(dá)到了,先不探究具體原因了,節(jié)省下來(lái)的IO口,我弄了個(gè)IIC的OLED顯示屏,用來(lái)顯示頻率,音量,亞音,話筒靈敏度等等,就顯得很高大上了。想想還有一大堆的字模 bmp要自己畫,腦袋都大了。 再次感謝各位大神的指導(dǎo),受益匪淺。希望以后能繼續(xù)得到大家的幫助。 |
這個(gè)問(wèn)題許多人會(huì)遇到,其它很多人不知道原因。 多路AD采樣系統(tǒng)中有一個(gè)采樣電容。系統(tǒng)會(huì)對(duì)電容上的電壓進(jìn)行對(duì)分試探轉(zhuǎn)換,系統(tǒng)希望電容上的電壓不要跳動(dòng),否則影響AD對(duì)分計(jì)算。于是系統(tǒng)在轉(zhuǎn)換時(shí)會(huì)斷開采樣電容與外界的聯(lián)系(本處AD是不是這樣處理就不清楚了),這就需要切換采樣通道后,稍等一下,待采樣電容上的電充、分完全后,再下令開始采樣。! 樓主試試看:切換采樣通道后,等50ms,再下令轉(zhuǎn)換電壓。改變等待時(shí)間,看看AD值有何變化? |
代碼呢? STC8G1K08A這個(gè)IC容易受干擾,特別是電路中有高頻信號(hào)的情況下 在ADC的采樣輸入一定要有一個(gè)104以上的電容,而且得是靠近端口的 單片機(jī)的VCC一定在做好濾波,104電容一定要靠近VCC GND不能到處亂跑 |
給你一個(gè)應(yīng)用實(shí)例參考,因電池供電,P3.2既作ADC輸入,也作中斷喚醒。ADC檢測(cè)壓力傳感器信號(hào),當(dāng)無(wú)壓力達(dá)到一定時(shí)間,進(jìn)入休眠。一旦有壓力MCU喚醒正常工作。你的問(wèn)題可能是ADC轉(zhuǎn)換結(jié)果寄存器設(shè)置不當(dāng)。
|
Powered by 單片機(jī)教程網(wǎng)