新聞中心

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

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

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

X1226具有時鐘和日歷的功能,時鐘依賴時、分、秒寄存器來跟蹤,日歷依賴日期、星期、月和年寄存器來跟蹤,日歷可正確顯示至2099年,并具有自動閏年修正功能。擁有強大的雙報警功能,能夠被設(shè)置到任何時鐘/日歷值上,精確度可到1秒。可用軟件設(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ù)。

電路組成及工作原理

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




圖1


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

在硬件通電調(diào)試過程中,不能用手去觸摸X1226的晶體振蕩器,否則可能會導(dǎo)致振蕩器停振,恢復(fù)振蕩器起振的方法是關(guān)閉電源(包括備份電源)后重新上電。另外需要說明的是,測量振蕩器時,不要用示波器的探頭去測量X2的振蕩輸出,應(yīng)該用探頭測量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。





圖2




● 寫操作

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

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

評論


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

關(guān)閉