![]() |
發布時間: 2022-10-30 09:30
正文摘要:打算做個stc32g12k128的頻率相關東西,有朋友建議用proteus仿真一下。結果發現proteus里沒有stc32g,與其相近的只有一個stc15w4k32s4.用了一下,結果無法運行,用盡全身解術也沒玩轉這個芯片(相信prot ... |
fsj5098 發表于 2022-11-2 19:58 我對這點也有深刻的教訓,在一個測量中發現測量結果沒有誤差,而從測量機制上,預期該有很大誤差才對,具體實例在我的貼子《基于stc32g12k128單片機和jlx12864的簡易脈沖測量器 附程序》中對11059200HZ的頻率測量有圖片顯示,正是這種沒誤差測量結果使我意識到測量方法的合理性存在問題,并在后面做了提示說明。之后發的幾種有關頻率測量的例程都在從不同的側面去規避這種漏洞的影響。我的觀點是,整數測量的準確性本身體現的是一種測量方法的不合理性。但對非整數的測量,還會受限于單片機數字處理能力。特別是對寬頻率范圍進行測量的程序,小數部分的處理會受字節長度的影響而變得很麻煩。 |
基準頻率一定要穩和準,否則跳動厲害,頻率計對于整數測量是比較容易的,非整數難點比較大,比如31.592Hz |
yzwzfyz 發表于 2022-11-2 10:00 我認為程序方面現在存在的誤差主要表現在正負一的計數誤差,而解決這個問題并不難,在我發的其它帖子里的程序可以容易的解決,但主要是面向測量頻率的任務,對時鐘的需要還真沒認真研究過。有空時會去分析一下對策。 |
yzwzfyz 發表于 2022-11-2 10:00 很專業的說明,希望有更多人能看到 |
yzwzfyz 發表于 2022-11-1 16:34 有道理,我是想用這個程序測量脈沖頻率,如果做電子鐘的話要考慮系統時鐘的精度和穩定性了。不是程序問題,當然程序本身也存在計數誤差的限制。 |
你實際做一下就會發現問題了。 做個電子鐘,看看一個月誤差幾秒,就知道你的方法靈不靈了。(不用時鐘專用芯片) |
補充:該例程在proteus8.12和8.13版本運行通過,使用的庫函數是8.13版的。 |