聽不懂你說的是啥!你最后說的和你開始說的就不是一回事!
“我目前最多控制在誤差6個US以內 ”,你多長時間允許誤差6個US??
對使用12M晶振的51單片機來說,最小的時間單位就是1US,只要是個程序,最少要一個指令吧?對標準的89c51來說任何一個指令都等于或大于1US。
如果說在一定時間內積累了一個或幾個微秒的+誤差,你想延遲幾個微秒,那是另外一回事。
你想延遲幾個微秒就加進去幾個NOP,這也可以認為就是1US的延時程序。
如果你是數小時積累了1個微秒的誤差,用程序在一定的小時后(計算出來的)或者是每天00:00:00時,一次性的在定時器的初裝值加上幾個數值即可。
積累誤差不超過1微秒是沒法調整的。
到現在我沒有弄明你的真正的意圖,不知道我揣摩的對與否? |