單片機(jī)控制實(shí)時(shí)時(shí)鐘設(shè)計(jì)
X1226具有連續(xù)寫(xiě)入的功能,每收到1字節(jié)后,響應(yīng)一個(gè)應(yīng)答,其內(nèi)部將地址加一。當(dāng)計(jì)數(shù)器達(dá)到該頁(yè)的末尾時(shí),就自動(dòng)返回到該頁(yè)的首地址。這意味著單片機(jī)可從某一頁(yè)的任何位置開(kāi)始向存儲(chǔ)器陣列連續(xù)寫(xiě)入64字節(jié),或向CCR連續(xù)寫(xiě)入8字節(jié)的數(shù)據(jù)。寫(xiě)入X1226數(shù)據(jù)子程序:
● 讀操作
在上電時(shí),16位地址的默認(rèn)值為0000H。X1226初始化操作之后,單片機(jī)對(duì)X1226進(jìn)行開(kāi)始條件的設(shè)置,在寫(xiě)CCR或EEPROM之前,主機(jī)必須先向狀態(tài)寄存器寫(xiě)02H,確認(rèn)應(yīng)答信號(hào),確認(rèn)后寫(xiě)入06H,再確認(rèn)應(yīng)答信號(hào)。確認(rèn)后啟動(dòng)了寫(xiě)操作,首先發(fā)送高位地址,然后發(fā)送低位地址。X1226每收到一個(gè)地址字節(jié)后,均會(huì)產(chǎn)生一個(gè)應(yīng)答信號(hào)。單片機(jī)發(fā)送另一個(gè)開(kāi)始條件,將R/W位設(shè)置為1,接著接受8位數(shù)據(jù)。單片機(jī)終止讀操作時(shí),無(wú)需等待X1226的應(yīng)答信號(hào),單片機(jī)即可設(shè)置停止條件。讀出X1226數(shù)據(jù)子程序:
● 振蕩器頻率在線補(bǔ)償調(diào)節(jié)
X1226集成了振蕩器補(bǔ)償電路,用戶可通過(guò)軟件在線對(duì)振蕩器頻率進(jìn)行微調(diào),這種微調(diào)通常針對(duì)兩種情況。一種情況是在25℃常溫下,對(duì)振蕩器因器件初始精度帶來(lái)的頻率偏差進(jìn)行補(bǔ)償;第二種情況是對(duì)因溫度引起的頻率漂移進(jìn)行補(bǔ)償。X1226內(nèi)部設(shè)有數(shù)字微調(diào)寄存器(DTR)和模擬微調(diào)寄存器(ATR),兩個(gè)寄存器均為非易失性寄存器。數(shù)字微調(diào)寄存器具有3位數(shù)字微調(diào)位,調(diào)節(jié)范圍為-30~+30×10-6。模擬微調(diào)寄存器具有6個(gè)模擬微調(diào)位,調(diào)節(jié)范圍為-37~+116×10-6。
對(duì)于因外界環(huán)境溫度變化引起的溫漂補(bǔ)償,要依據(jù)晶體的溫度系數(shù),在存儲(chǔ)器中建立補(bǔ)償參數(shù)表,不同廠家晶體的溫度系數(shù)是不一樣的,應(yīng)根據(jù)產(chǎn)品數(shù)據(jù)手冊(cè)進(jìn)行選擇。
為了能夠?qū)仄M(jìn)行補(bǔ)償,要求系統(tǒng)中設(shè)置一個(gè)溫度傳感器,并盡量讓它靠近X1226,這樣可以真實(shí)地反映振蕩器的溫度,原理圖如圖3所示。單片機(jī)首先通過(guò)系統(tǒng)溫度傳感器獲取環(huán)境溫度,并在補(bǔ)償參數(shù)表中獲取對(duì)應(yīng)的補(bǔ)償值,然后將補(bǔ)償數(shù)據(jù)填寫(xiě)到相應(yīng)的微調(diào)寄存器中,就能實(shí)現(xiàn)溫漂補(bǔ)償?shù)哪康摹?br />
圖3
由于X1226具有精密的振蕩器補(bǔ)償功能,因此非常適合于環(huán)境溫度變化較大的應(yīng)用場(chǎng)合,同時(shí)也降低了對(duì)晶體性能參數(shù)的要求。
評(píng)論