熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
ADC = SYSclk/2/16/SPEED 帶入公式就可以了 |
你們說(shuō)的是STC-AD的采樣率,有誰(shuí)知道單片機(jī)的數(shù)據(jù)輸出率怎么算的?? |
不一定速度快了就好,選擇比較合適的,也就是在保證允許精度的情況下,盡量調(diào)快速度 |
問(wèn)題解決了嗎 |
F ADC = SYSclk/2/16/SPEED |
其實(shí)速度不影響AD精度,只是一般人不會(huì)用而已,51單片機(jī)實(shí)際只有一路AD硬件,通過(guò)模擬開(kāi)關(guān)選擇不同的通道,切換通道是需要一定的時(shí)間才能夠使電壓穩(wěn)定,所以前面幾次ADC數(shù)值不準(zhǔn)確是正常的,切換通道時(shí)前面幾次ADC丟棄,再取幾次ADC平均才能夠得到準(zhǔn)確的AD數(shù)值,如果不改變通道就不需要丟棄。STC8單片機(jī)最快ADC速度=32/30M=1.0666us,每秒可以進(jìn)行93.7萬(wàn)次,但是ADC不可以自動(dòng)連續(xù)運(yùn)行,啟動(dòng)、讀取數(shù)據(jù)也需要時(shí)間,所以官方給出的數(shù)據(jù)是每秒可以進(jìn)行80萬(wàn)次ADC。 |
不一定速度快了就好,選擇比較合適的,也就是在保證允許精度的情況下,盡量調(diào)快速度 |
同問(wèn),上課聽(tīng)的一知半解 |
數(shù)據(jù)表里說(shuō)的很清楚了,如果越快,那精度不高的。也可能抖動(dòng)的歷害,想穩(wěn)定點(diǎn),要選慢點(diǎn),或多次取平均值。 |
是不是速度越快越好?為什么還要設(shè)置速度?用最快速不是很好嗎 |
輸入ADC模塊的時(shí)鐘頻率=SYSclk/2 完成一次A/D轉(zhuǎn)換需要16個(gè)ADC時(shí)鐘脈沖 SPEED=ADC_CHS[3:0]設(shè)置狀態(tài) 完成一次A/D轉(zhuǎn)換時(shí)間=SYSclk/2/16/SPEED |
Y_G_G 發(fā)表于 2019-4-3 08:38 意思是 stc8a8k64s4a12單片機(jī)ADC轉(zhuǎn)換速度等于:SYSclk/ (設(shè)置的speed系數(shù)) *不要去理會(huì)多少分頻(2分頻。。。。)和16個(gè)ADC時(shí)鐘才能完成一次轉(zhuǎn)換這樣的描述 *直接將Speed設(shè)置為32~512,再用系統(tǒng)時(shí)鐘除這個(gè)系數(shù)就是ADC轉(zhuǎn)換速度 是這樣嗎? |
想繼續(xù)請(qǐng)教一下,這個(gè)轉(zhuǎn)化時(shí)間的選擇是以什么來(lái)評(píng)定的呢?按理來(lái)說(shuō)選擇時(shí)間越短會(huì)更好呀 |
F ADC = SYSclk/2/16/SPEED SYSclk=系統(tǒng)頻率 輸入ADC模塊的時(shí)鐘頻率=SYSclk/2 完成一次A/D轉(zhuǎn)換需要16個(gè)ADC時(shí)鐘脈沖 SPEED=ADC_CHS[3:0]設(shè)置狀態(tài) 完成一次A/D轉(zhuǎn)換時(shí)間=SYSclk/2/16/SPEED,注:SPEED的值1~16 |
不要看這個(gè),底下表格里面已經(jīng)標(biāo)志好了:最快是32個(gè)系統(tǒng)時(shí)鐘完成,最慢是512個(gè)系統(tǒng)時(shí)鐘完成,自行設(shè)定就可以了它說(shuō)的是ADC時(shí)鐘等于多少的分頻,實(shí)際上就是系統(tǒng)時(shí)鐘*多少,然后就是是每16個(gè)ADC時(shí)鐘完成一次ADC 最快的是2分頻算一個(gè),那就是:系統(tǒng)時(shí)鐘*2*16=32個(gè)系統(tǒng)時(shí)鐘 主要是你沒(méi)有嚴(yán)謹(jǐn)?shù)膹念^看數(shù)據(jù)手冊(cè) ![]() |
Powered by 單片機(jī)教程網(wǎng)