關(guān)于單片機(jī)測(cè)量信號(hào)頻率的精度問(wèn)題
問(wèn)題:
用C51系列單片機(jī)測(cè)TTL(f<50KHz)的信號(hào),精度達(dá)到0.001Hz,用12MHz的單片機(jī)還是更高?
怎么計(jì)算是否達(dá)到這個(gè)精度?
===============================================
解答:
這個(gè)0.001Hz的測(cè)量精度,在單片機(jī)領(lǐng)域是不能達(dá)到的。
精度為0.001Hz,一般是指最大的絕對(duì)誤差。
當(dāng)測(cè)量50KHz信號(hào)的時(shí)候,顯示數(shù)值不應(yīng)超過(guò):49 999.999Hz ~ 50 000.001Hz。
這才是精度達(dá)到了0.001Hz。
12MHz的單片機(jī),根本別想達(dá)到這個(gè)精度?。?!
測(cè)量頻率,有“測(cè)量頻率”和“測(cè)量周期”兩種方法。
如果采用“測(cè)量頻率”的方法,也就是“定時(shí)計(jì)數(shù)”法。
為了統(tǒng)計(jì)出來(lái) 49 999 999 ~ 50 000 001 的區(qū)別,就要用1000s的時(shí)間(16分鐘多)。
時(shí)間短了,就達(dá)不到0.001Hz的精度要求。
“定時(shí)計(jì)數(shù)”法用時(shí)太長(zhǎng),不實(shí)用,那就再看看“測(cè)量周期”法。
用單片機(jī)的確是可以測(cè)出50KHz信號(hào)的周期是20us,取倒數(shù),確實(shí)能換算出50 000Hz。
但是輸入的頻率,以0.001Hz 分檔,再輸入幾個(gè)看看:
頻率是49 999.999Hz,它的周期是20.0000004us;
頻率是49 999.998Hz,它的周期是20.0000008us;
……
……
呵呵,不用多說(shuō)了,大家一眼就可以看出,這0.0000004us的差別,單片機(jī)是分辨不出來(lái)的。
也就是說(shuō),單片機(jī)分辨不出來(lái)49 999.999Hz和49 999.998Hz的區(qū)別。
所以,0.001Hz的精度,是不可能達(dá)到的。