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

          新聞中心

          EEPW首頁 > 消費電子 > 設(shè)計應用 > 單片機控制實時時鐘X1226的設(shè)計

          單片機控制實時時鐘X1226的設(shè)計

          ——
          作者:武漢力源信息技術(shù)服務有限公司 水清 時間:2007-01-26 來源:《今日電子》 收藏

          引言

          x1226具有時鐘和日歷的功能,時鐘依賴時、分、秒寄存器來跟蹤,日歷依賴日期、星期、月和年寄存器來跟蹤,日歷可正確顯示至2099年,并具有自動閏年修正功能。擁有強大的雙報警功能,能夠被設(shè)置到任何時鐘/日歷值上,精確度可到1秒??捎密浖O(shè)置1hz、4096hz或32768hz中任意一個頻率輸出。

          x1226提供一個備份電源輸入腳vback,允許器件用電池或大容量電容進行備份供電。采用電容供電時,用一個硅或肖特基二極管連接到vcc和充電電容的兩端,充電電容連接到vback管腳,注意不能使用二極管對電池充電(特別是鋰離子電池)。切換到電池供電的條件是vcc=vback-0.1v,正常操作期間,供電電壓vcc必須高于電池電壓,否則電池電量將逐步耗盡。振蕩器采用外接32.768kh的晶體,產(chǎn)生的振蕩誤差可通過軟件對數(shù)字微調(diào)寄存器、模擬微調(diào)寄存器的數(shù)值進行調(diào)節(jié)加以修正,避免了外接電阻和電容的離散性對精度的影響。4kb的eeprom可用于存儲戶數(shù)據(jù)。

          電路組成及工作原理

          本文引用地址:http://www.ex-cimer.com/article/20803.htm

          x1226可與各種類型的的微控制器或微處理器接口,接口方式為串行的i2c接口。其中數(shù)據(jù)總線sda是一個雙向引腳,用于輸入或輸出數(shù)據(jù)。其漏極開路輸出在使用過程中需要添加4.7~10kω的上拉電阻。本文介紹89c51單片機與x1226的接口方法,由于89c51單片機沒有標準的i2c接口,只能用軟件進行模擬。

          為了更直觀地看到時間的變化,采用8位led數(shù)碼管顯示年、月、日或時、分、秒,用ps7219a驅(qū)動led數(shù)碼管,數(shù)碼管選擇0.5英寸共陰極紅色或綠色led數(shù)碼管。由于ps7219a器件內(nèi)含imp810單片機監(jiān)控器件,復位輸出高電平有效,因此在使用51系統(tǒng)時,無須添加監(jiān)控器件,使用ps7219a的復位輸出給51單片機復位即可,監(jiān)控電壓為4.63v。硬件設(shè)計原理圖如圖1所示。


          在硬件通電調(diào)試過程中,不能用手去觸摸x1226的晶體振蕩器,否則可能會導致振蕩器停振,恢復振蕩器起振的方法是關(guān)閉電源(包括備份電源)后重新上電。另外需要說明的是,測量振蕩器時,不要用示波器的探頭去測量x2的振蕩輸出,應該用探頭測量phz/irq的振蕩輸出,以確定是否起振和振蕩頻率是否準確,測量時建議在該腳加一個5.1kω的上拉電阻。

          軟件設(shè)計

          x1226內(nèi)含實時時鐘寄存器(rtc)、狀態(tài)寄存器(sr)、控制寄存器(control)、報警寄存器(alarm0、alarm1)和客戶存儲數(shù)據(jù)的存儲器。由于實時時鐘寄存器和狀態(tài)寄存器需要進行頻繁的寫操作,因此其存儲結(jié)構(gòu)為易失性sram結(jié)構(gòu)。其他寄存器均為eeprom結(jié)構(gòu),寫操作次數(shù)通常在10萬次以上。x1226初始化程序框圖如圖2所示,子程序ys4的作用是延時4μs。

          啟動條件子程序:setb sda
          lcall ys4
          setb scl
          lcall ys4
          clr sda
          lcall ys4
          clr scl
          lcall ys4
          ret
          停止條件子程序:clr sda
          lcall ys4
          setb scl
          lcall ys4
          setb sda
          ret

          寫操作

          x1226初始化之后,單片機對x1226進行開始條件的設(shè)置,在寫ccr或eeprom之前,主機必須先向狀態(tài)寄存器寫02h,確認應答信號,確認后寫入06h,再確認應答信號。確認后啟動了寫操作,首先發(fā)送高位地址,然后發(fā)送低位地址。x1226每收到一個地址字節(jié)后,均會產(chǎn)生一個應答信號。在兩個地址字節(jié)都收到之后,x1226等待8位數(shù)據(jù)。在收到8位數(shù)據(jù)之后,x1226再產(chǎn)生一個應答,然后單片機產(chǎn)生一個停止條件來終止傳送。

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

          寫入x1226數(shù)據(jù)子程序:mov r5,#8
          send1: mov a,datase
          rlc a
          mov datase,a
          mov sda,c
          setb scl
          lcall ys4
          clr scl
          lcall ys4
          djnz r5,send1
          ret

          讀操作

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

          讀出x1226數(shù)據(jù)子程序: movr5,#8
          movdatare,#0
          setbsda
          clr c
          read1: setb scl
          lcall ys4
          mov c,sda
          clr scl
          mov a,datare
          rlc a
          mov datare,a
          lcall ys4
          djnz r5,read1
          ret

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

          x1226集成了振蕩器補償電路,用戶可通過軟件在線對振蕩器頻率進行微調(diào),這種微調(diào)通常針對兩種情況。一種情況是在25℃常溫下,對振蕩器因器件初始精度帶來的頻率偏差進行補償;第二種情況是對因溫度引起的頻率漂移進行補償。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)境溫度變化引起的溫漂補償,要依據(jù)晶體的溫度系數(shù),在存儲器中建立補償參數(shù)表,不同廠家晶體的溫度系數(shù)是不一樣的,應根據(jù)產(chǎn)品數(shù)據(jù)手冊進行選擇。

          為了能夠?qū)仄M行補償,要求系統(tǒng)中設(shè)置一個溫度傳感器,并盡量讓它靠近x1226,這樣可以真實地反映振蕩器的溫度,原理圖如圖3所示。單片機首先通過系統(tǒng)溫度傳感器獲取環(huán)境溫度,并在補償參數(shù)表中獲取對應的補償值,然后將補償數(shù)據(jù)填寫到相應的微調(diào)寄存器中,就能實現(xiàn)溫漂補償?shù)哪康摹?br> ---由于x1226具有精密的振蕩器補償功能,因此非常適合于環(huán)境溫度變化較大的應用場合,同時也降低了對晶體性能參數(shù)的要求。



          關(guān)鍵詞:

          評論


          相關(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); })();