單片機(jī)時(shí)鐘誤差解決方法
1、采用高精度晶振方案雖然采用高精度的晶振可以稍微提高電子鐘計(jì)時(shí)的精確度,但是晶振并不是導(dǎo)致電子鐘計(jì)時(shí)不準(zhǔn)的主要因素,而且高精度的晶振價(jià)格較高,所以不必采用此方案。
2、動(dòng)態(tài)同步修正方案
從程序人手,采用動(dòng)態(tài)同步修正方法給定時(shí),計(jì)數(shù)器賦初值。動(dòng)態(tài)同步修正方法如下:由于定時(shí),計(jì)數(shù)器溢出后,又會(huì)從O開始自動(dòng)加數(shù),故在給定時(shí)/計(jì)數(shù)器再次賦值前,先將定時(shí),計(jì)數(shù)器低位(TLO)中的值和初始值相加,然后送人定時(shí),計(jì)數(shù)器中,此時(shí)定時(shí),計(jì)數(shù)器中的值即為動(dòng)態(tài)同步修正后的準(zhǔn)確值。具體程序如下:
采用此種方法后,相信制作的電子時(shí)鐘的精度已有提高了。
3.自動(dòng)調(diào)整方案
采用同步修正方案后,電子時(shí)鐘的精度雖然提高了很多,但是由于晶振頻率的偏差和一些其他未知因素的影響(同一塊電路板、同樣的程序換了一片單片機(jī)后,走時(shí)誤差不一樣,不知是何原因),時(shí)間長了仍然會(huì)有積累誤差。為此,可采用自動(dòng)調(diào)整方案。實(shí)際上是一種容錯(cuò)技術(shù)。其自動(dòng)調(diào)整原理為:實(shí)測出誤差I(lǐng)s所需的時(shí)間,然后每隔這樣一段時(shí)間后就對(duì)秒進(jìn)行加“1”或減“1”調(diào)整。例如:電子鐘每過50小時(shí)就慢1秒,其自動(dòng)調(diào)整程序如下:
以下是一個(gè)完整實(shí)例:
使用此方法調(diào)整較費(fèi)時(shí)間,但效果非常好。經(jīng)實(shí)驗(yàn),一次調(diào)整可/以將月誤差控制在Is左右,如按此方法再次測出誤差I(lǐng)s所需的天數(shù)并進(jìn)行二次調(diào)整,其精度會(huì)更高。
編輯:admin 最后修改時(shí)間:2018-05-08