DS1302結構與工作原理
DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘,有計時的作用,和日常接觸的電子表,萬年歷差不多,可以對年月日、時分秒、星期計時??梢杂?a target="_blank">單片機往DS1302里面寫入時間進行時間設置,也可以用單片機從DS1302中讀取時間,讀出來的時間也可以放在液晶上顯示。這樣就可以實現(xiàn)一塊電子表的功能了。
DS1302引腳及功能:
X1,X2: 振蕩源管腳,外接32.768KHz晶振
GND: 地
RST: 復位/片選線(通過置高電平來啟動所有的數(shù)據(jù)傳送。)
IO: 數(shù)據(jù)輸入輸出
SCLK: 串行時鐘
VCC1: 電池引腳
VCC2: 主電源引腳 (雙電源供電,在主電源關閉的情況下,有VCC1的電池供電,也能保持時鐘的連續(xù)運行)
DS1302的工作原理很簡單,它外接32768Hz的晶振提供震蕩時鐘。芯片內(nèi)部的電路對晶振頻率32768分頻后獲得周期為1S的秒信號,然后對秒信號計數(shù),獲得分鐘、小時、天、星期、月、年等的數(shù)值。
實現(xiàn)方法:
DS1302的時間信息以寄存器的形式存儲在芯片內(nèi)部。DS1302的通訊接口由3根線組成,即RST,SCLK,I/O。單片機與DS1302通訊,采用的是SPI通訊接口,只不過是半雙工了,只能分時進行收發(fā)。通過SPI接口,對相應的寄存器進行讀操作,可以獲得當前時間數(shù)值;寫操作,可以設定當前時間。
下面介紹怎么對DS1302發(fā)號施令。
DS1302的命令字節(jié)格式:
一個完整的通訊幀由由2字節(jié)組成。第一字節(jié)是控制字節(jié),第二字節(jié)為數(shù)據(jù)位??刂谱指袷饺缦拢?/p>
1.bit0:讀寫標志。高電平為讀,第二字節(jié)(藍色圈內(nèi))會由DS1302輸出數(shù)據(jù);低電平為寫,第二字節(jié)由單片機輸出數(shù)據(jù), DS1302接收;
2.bit1~5: 5位操作元地址,就是要對哪個寄存器進行操作。寄存器地址列表如圖2.1。(紅色圈內(nèi))
3.bit6:選擇RAM區(qū)或寄存器區(qū)。如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);
4. bit7:必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中。
圖2.1
(CH:時鐘停止位;為0時振蕩器工作;為1時振蕩器停止;AP=1時為下午模式,為0時上午模式。圖2.1內(nèi)還應該有第八個寄存器,地址為8E。它的bit7是需要重視的。bit7是一個保護位,如果這一位是1,那么是禁止給任何其他的寄存器或者那31個字節(jié)的RAM寫數(shù)據(jù)的。因此在寫數(shù)據(jù)之前,這一位必須先寫成0。)
因為是SPI接口,單片機與DS1302通訊也是上升沿發(fā)送(寫入1302數(shù)據(jù)),下降沿接收(讀取1302數(shù)據(jù))??刂谱挚偸菑淖畹臀婚_始輸出。在控制字指令輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個SCLK脈沖的下降沿,讀出DS1302的數(shù)據(jù)。讀出的數(shù)據(jù)也是從最低位到最高位。數(shù)據(jù)讀寫時序如下圖:
單片機往DS1302寫入數(shù)據(jù),先寫地址,后寫命令/數(shù)據(jù)。單片機讀取DS1302某地址的數(shù)據(jù),先寫地址,后讀命令/數(shù)據(jù)。
知道了需要控制的指令寄存器,讀寫的數(shù)據(jù)寄存器,通訊方式為SPI。所謂欲破曹公,只欠東風。咱是欲破DS1302,只欠實踐了。
原理圖如下:
以上所有信息僅作為學習交流使用,不作為任何學習和商業(yè)標準。若您對文中任何信息有異議,歡迎隨時提出,謝謝!
-
DS1302
+關注
關注
8文章
451瀏覽量
51403
發(fā)布評論請先 登錄
DS1302帶涓流充電的時鐘芯片技術手冊

評論