<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)控制實時時鐘設(shè)計

          單片機(jī)控制實時時鐘設(shè)計

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏


          X1226具有連續(xù)寫入的功能,每收到1字節(jié)后,響應(yīng)一個應(yīng)答,其內(nèi)部將地址加一。當(dāng)計數(shù)器達(dá)到該頁的末尾時,就自動返回到該頁的首地址。這意味著單片機(jī)可從某一頁的任何位置開始向存儲器陣列連續(xù)寫入64字節(jié),或向CCR連續(xù)寫入8字節(jié)的數(shù)據(jù)。寫入X1226數(shù)據(jù)子程序:



          ● 讀操作

          在上電時,16位地址的默認(rèn)值為0000H。X1226初始化操作之后,單片機(jī)對X1226進(jìn)行開始條件的設(shè)置,在寫CCR或EEPROM之前,主機(jī)必須先向狀態(tài)寄存器寫02H,確認(rèn)應(yīng)答信號,確認(rèn)后寫入06H,再確認(rèn)應(yīng)答信號。確認(rèn)后啟動了寫操作,首先發(fā)送高位地址,然后發(fā)送低位地址。X1226每收到一個地址字節(jié)后,均會產(chǎn)生一個應(yīng)答信號。單片機(jī)發(fā)送另一個開始條件,將R/W位設(shè)置為1,接著接受8位數(shù)據(jù)。單片機(jī)終止讀操作時,無需等待X1226的應(yīng)答信號,單片機(jī)即可設(shè)置停止條件。讀出X1226數(shù)據(jù)子程序:



          ● 振蕩器頻率在線補(bǔ)償調(diào)節(jié)

          X1226集成了振蕩器補(bǔ)償電路,用戶可通過軟件在線對振蕩器頻率進(jìn)行微調(diào),這種微調(diào)通常針對兩種情況。一種情況是在25℃常溫下,對振蕩器因器件初始精度帶來的頻率偏差進(jìn)行補(bǔ)償;第二種情況是對因溫度引起的頻率漂移進(jìn)行補(bǔ)償。X1226內(nèi)部設(shè)有數(shù)字微調(diào)寄存器(DTR)和模擬微調(diào)寄存器(ATR),兩個寄存器均為非易失性寄存器。數(shù)字微調(diào)寄存器具有3位數(shù)字微調(diào)位,調(diào)節(jié)范圍為-30~+30×10-6。模擬微調(diào)寄存器具有6個模擬微調(diào)位,調(diào)節(jié)范圍為-37~+116×10-6。

          對于因外界環(huán)境溫度變化引起的溫漂補(bǔ)償,要依據(jù)晶體的溫度系數(shù),在存儲器中建立補(bǔ)償參數(shù)表,不同廠家晶體的溫度系數(shù)是不一樣的,應(yīng)根據(jù)產(chǎn)品數(shù)據(jù)手冊進(jìn)行選擇。

          為了能夠?qū)仄M(jìn)行補(bǔ)償,要求系統(tǒng)中設(shè)置一個溫度傳感器,并盡量讓它靠近X1226,這樣可以真實地反映振蕩器的溫度,原理圖如圖3所示。單片機(jī)首先通過系統(tǒng)溫度傳感器獲取環(huán)境溫度,并在補(bǔ)償參數(shù)表中獲取對應(yīng)的補(bǔ)償值,然后將補(bǔ)償數(shù)據(jù)填寫到相應(yīng)的微調(diào)寄存器中,就能實現(xiàn)溫漂補(bǔ)償?shù)哪康摹?br />


          圖3

          由于X1226具有精密的振蕩器補(bǔ)償功能,因此非常適合于環(huán)境溫度變化較大的應(yīng)用場合,同時也降低了對晶體性能參數(shù)的要求。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 單片機(jī)實時時鐘X122

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();