時(shí)鐘芯片DS1302及其在數據記錄中的應用
摘 要: 介紹了美國DALLAS公司推出的低功耗時(shí)鐘芯片DS1302的結構和工作原理及其在測量系統中的應用。它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計時(shí),且具有閏年補償等多種功能。DS1302用于數據記錄,特別是對某些具有特殊意義的數據點(diǎn)的記錄上,能實(shí)現數據與出現該數據的時(shí)間同時(shí)記錄。這種記錄對長(cháng)時(shí)間的連續測控系統結果的分析以及對異常數據出現的原因的查找有重要意義。
本文引用地址:http://dyxdggzs.com/article/226459.htm關(guān)鍵詞: 數據記錄 時(shí)鐘芯片DS1302 硬件電路 軟件設計
在測量控制系統中,特別是長(cháng)時(shí)間無(wú)人職守的測控系統中,經(jīng)常需要記錄某些具有特殊意義的數據及其出現的時(shí)間。記錄及分析這些特殊意義的數據,對測控系統的性能分析及正常運行具有重要的意義。傳統的數據記錄方式是隔時(shí)采樣或定時(shí)采樣,沒(méi)有具體的時(shí)間記錄,因此只能記錄數據而無(wú)法準確記錄其出現的時(shí)間;若采用單片機計時(shí),一方面需要采用計數器,占用硬件資源,另一方面需要設置中斷、查詢(xún)等,同樣耗費單片機的資源,而且某些測控系統可能不允許。而在系統中采用DS1302則能很好地解決這個(gè)問(wèn)題。
1 DS1302的結構及工作原理
DS1302[1]是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計時(shí),且具有閏年補償功能,工作電壓寬達2.5~5.5V。采用三線(xiàn)接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節的時(shí)鐘信號或RAM數據。DS1302內部有一個(gè)31×8的用于臨時(shí)性存放數據的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對后背電源進(jìn)行涓細電流充電的能力。
1.1 引腳功能表及內部結構圖
DS1302的引腳及內部結構如圖1所示,引腳功能如表1所示。
1.2 DS1302的控制字節說(shuō)明
DS1302的控制字如圖2所示。
控制字節的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫(xiě)入到DS1302中位6如果為0,則表示存取日歷時(shí)鐘數據,為1表示存取RAM數據;位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫(xiě)操作,為1表示進(jìn)行讀操作,控制字節總是從最低位開(kāi)始輸出。
1.3 復位
通過(guò)把






1.4 數據輸入輸出
在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí)數據被寫(xiě)入DS1302,數據輸入從低位即位0開(kāi)始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時(shí)從低位0位至高位7,數據讀寫(xiě)時(shí)序見(jiàn)圖3。
1.5 DS1302的寄存器
DS1302共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數據位為BCD碼形式。其日歷、時(shí)間寄存器及其控制字見(jiàn)表2。
此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器外的所有寄存器內容。DS1302與RAM相關(guān)的寄存器分為兩類(lèi),一類(lèi)是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節,其命令控制字為COH~FDH,其中奇數為讀操作,偶數為寫(xiě)操作;再一類(lèi)為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫(xiě)所有的RAM的31個(gè)字節,命令控制字為FEH(寫(xiě))、FFH(讀)。
2 DS1302在測量系統中的硬件電路
DS1302與CPU的連接僅需要三條線(xiàn),即SCLK(7)、I/O(6)、RST(5)。DS1302與CPU連接的電路原理圖如圖4所示。
下面給出讀DS1302時(shí)的MCS51匯編語(yǔ)言程序及主程序運行的框圖(如圖5所示)。
;DS1302初始化
ST02: CLR P1.0
CLR P1.2
NOP
SETB P1.2
寫(xiě)入一個(gè)字節
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è)字節
RD02: MOV R7,#8
LP021:CLR O1.0
NOP
MOP C,P1.1
RRC A
SETB:P1.0
NOP
DJNZ R7,LP021
RET
;調用部分
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作為記錄測控系統中的數據記錄,其軟硬件設計簡(jiǎn)單,時(shí)間記錄準確,既避免了連續記錄的大工作量,又避免了定時(shí)記錄的盲目性,給連續長(cháng)時(shí)間的測量、控制系統的正常運行及檢查都來(lái)了很大的方便,可廣泛應用于長(cháng)時(shí)間連續的測控系統中。
評論