新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 時(shí)鐘芯片DS1302及其在數(shù)據(jù)記錄中的應(yīng)用

時(shí)鐘芯片DS1302及其在數(shù)據(jù)記錄中的應(yīng)用

作者: 時(shí)間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

摘 要: 介紹了美國(guó)DALLAS公司推出的低功耗時(shí)鐘芯片DS1302的結(jié)構(gòu)和工作原理及其在測(cè)量系統(tǒng)中的應(yīng)用。它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。DS1302用于數(shù)據(jù)記錄,特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄。這種記錄對(duì)長(zhǎng)時(shí)間的連續(xù)測(cè)控系統(tǒng)結(jié)果的分析以及對(duì)異常數(shù)據(jù)出現(xiàn)的原因的查找有重要意義。

本文引用地址:http://butianyuan.cn/article/226459.htm

關(guān)鍵詞: 數(shù)據(jù)記錄 時(shí)鐘芯片DS1302 硬件電路 軟件設(shè)計(jì)

在測(cè)量控制系統(tǒng)中,特別是長(zhǎng)時(shí)間無人職守的測(cè)控系統(tǒng)中,經(jīng)常需要記錄某些具有特殊意義的數(shù)據(jù)及其出現(xiàn)的時(shí)間。記錄及分析這些特殊意義的數(shù)據(jù),對(duì)測(cè)控系統(tǒng)的性能分析及正常運(yùn)行具有重要的意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時(shí)采樣或定時(shí)采樣,沒有具體的時(shí)間記錄,因此只能記錄數(shù)據(jù)而無法準(zhǔn)確記錄其出現(xiàn)的時(shí)間;若采用單片機(jī)計(jì)時(shí),一方面需要采用計(jì)數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且某些測(cè)控系統(tǒng)可能不允許。而在系統(tǒng)中采用DS1302則能很好地解決這個(gè)問題。

1 DS1302的結(jié)構(gòu)及工作原理

DS1302[1]是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償功能,工作電壓寬達(dá)2.5~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。

1.1 引腳功能表及內(nèi)部結(jié)構(gòu)圖

DS1302的引腳及內(nèi)部結(jié)構(gòu)如圖1所示,引腳功能如表1所示。

1.2 DS1302的控制字節(jié)說明

DS1302的控制字如圖2所示。

控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。

1.3 復(fù)位

通過把 輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。 輸入有兩種功能:首先, 接通控制邏輯,允許地址/命令序列送入移位寄存器;其次, 提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng) 為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中置 為低電平,則會(huì)終止此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥2.5V之前, 必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。

1.4 數(shù)據(jù)輸入輸出

在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí)數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位至高位7,數(shù)據(jù)讀寫時(shí)序見圖3。

1.5 DS1302的寄存器

DS1302共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時(shí)間寄存器及其控制字見表2。

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

2 DS1302在測(cè)量系統(tǒng)中的硬件電路

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

下面給出讀DS1302時(shí)的MCS51匯編語言程序及主程序運(yùn)行的框圖(如圖5所示)。

;DS1302初始化

ST02: CLR P1.0

CLR P1.2

NOP

SETB P1.2

 寫入一個(gè)字節(jié)

WR02: MOV R7,#8

MOV A,#0BFH

LP02: CLR P1.0

RRC A

MOV P1.1,C

NOP

SETB P1.0

NOP

DJNZ R7,LP02

RET

 讀出一個(gè)字節(jié)

RD02: MOV R7,#8

LP021:CLR O1.0

NOP

MOP C,P1.1

RRC A

SETB:P1.0

NOP

DJNZ R7,LP021

RET

;調(diào)用部分

STOP:CLR P1.2

NOP

RET

LCALL ST02

MOV A,#0BFH

LCALL WR02

MOV R6,#7

MOV R0,#49H

LP: LCALL RD02

MOV @R0,A

INC R0

DJNZ R6,LP

LCALL STOP

RET

采用DS1302作為記錄測(cè)控系統(tǒng)中的數(shù)據(jù)記錄,其軟硬件設(shè)計(jì)簡(jiǎn)單,時(shí)間記錄準(zhǔn)確,既避免了連續(xù)記錄的大工作量,又避免了定時(shí)記錄的盲目性,給連續(xù)長(zhǎng)時(shí)間的測(cè)量、控制系統(tǒng)的正常運(yùn)行及檢查都來了很大的方便,可廣泛應(yīng)用于長(zhǎng)時(shí)間連續(xù)的測(cè)控系統(tǒng)中。



評(píng)論


相關(guān)推薦

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

關(guān)閉