單片機實時時鐘電路的原理及應用
3 DS1302實時顯示時間的軟硬件
DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。圖3示出DS1302與89C2051的連接圖,其中,時鐘的顯示用LCD。
3.1 DS1302與CPU的連接
實際上,在調試程序時可以不加電容器,只加一個32.768kHz 的晶振即可。只是選擇晶振時,不同的晶振,誤差也較大。另外,還可以在上面的電路中加入DS18B20,同時顯示實時溫度。只要占用CPU一個口線即可。 LCD還可以換成LED,還可以使用北京衛信杰科技發展有限公司生產的10位多功能8段液晶顯示模塊LCM101,內含看門狗(WDT)/時鐘發生器及兩種頻率的蜂鳴器驅動電路,并有內置顯示RAM,可顯示任意字段筆劃,具有3-4線串行接口,可與任何單片機、IC接口。功耗低,顯示狀態時電流為 2μA(典型值),省電模式時小于1μA,工作電壓為2.4V~3.3V,顯示清晰。


圖4示出DS1302的實時時間流程。根據此流程框圖,不難采集實時時間。下面結合流程圖對DS1302的基本操作進行編程:


DS1302 與微處理器進行數據交換時,首先由微處理器向電路發送命令字節,命令字節最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫保護;D6=0,指定時鐘數據,D6=1,指定RAM數據;D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入),D0=1,指定讀操作(輸出)。
在DS1302的時鐘日歷或RAM進行數據傳送時,DS1302必須首先發送命令字節。若進行單字節傳送,8位命令字節傳送結束之后,在下2個SCLK周期的上升沿輸入數據字節,或在下8個SCLK周期的下降沿輸出數據字節。
DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態為一個8位的字節,其命令控制字為C0H~FDH,其中奇數為讀操作,偶數為寫操作;再一類為突發方式下的RAM寄存器,在此方式下可一次性讀、寫所有的RAM的31個字節。
要特別說明的是備用電源B1,可以用電池或者超級電容器(0.1F以上)。雖然DS1302在主電源掉電后的耗電很小,但是,如果要長時間保證時鐘正常,最好選用小型充電電池。可以用老式電腦主板上的3.6V充電電池。如果斷電時間較短(幾小時或幾天)時,就可以用漏電較小的普通電解電容器代替。100
4 結論
DS1302 存在時鐘精度不高,易受環境影響,出現時鐘混亂等缺點。DS1302可以用于數據記錄,特別是對某些具有特殊意義的數據點的記錄,能實現數據與出現該數據的時間同時記錄。這種記錄對長時間的連續測控系統結果的分析及對異常數據出現的原因的查找具有重要意義。傳統的數據記錄方式是隔時采樣或定時采樣,沒有具體的時間記錄,因此,只能記錄數據而無法準確記錄其出現的時間;若采用單片機計時,一方面需要采用計數器,占用硬件資源,另一方面需要設置中斷、查詢等,同樣耗費單片機的資源,而且,某些測控系統可能不允許。但是,如果在系統中采用時鐘芯片DS1302,則能很好地解決這個問題。













評論