采用DS1302實時時鐘芯片的時鐘,其程序設(shè)計及時間準(zhǔn)確度,與單片機直接產(chǎn)生時間的時鐘,效果不可同日而語。

第一和第三位,使用了綠色的點陣;第二和第四位,使用了紅色的點陣 |
DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、周日、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達2.5~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細(xì)電流充電的能力。
DS1302的引腳及內(nèi)部結(jié)構(gòu)如圖1所示,引腳功能如表1所示 |

DS1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時間寄存器及其控制字見表2。
此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類,一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為COH~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。

DS1302與CPU的連接僅需要三條線,即SCLK(7)、I/O(6)、RST(5)。DS1302與CPU連接的電路原理圖如圖所示。Vcc2在單電源與電池供電的系統(tǒng)中提供低電源并提供低功率的電池備份。Vcc2在雙電源系統(tǒng)中提供主電源,在這種運用方式下Vcc1連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。

備用電源B1,可以用電池或者超級電容(10萬uF以上)。雖然DS1302在主電源掉電后,耗電很小,但如果要長時間保證時鐘正常,最好選用小型充電電池。可以用老式電腦主板上的那種3.6V充電電池。如果斷電時間較短(幾小時或幾天)時,就可以用漏電較小的普通電解電容代替。100uF就可以保證1小時的正常走時。DS1302在第一次加電后,須進行初始化操作。初始化后就可以按正常方法調(diào)整時間了。
|