《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > ds1302時鐘程序詳解,ds1302程序流程圖(C程序)

ds1302時鐘程序詳解,ds1302程序流程圖(C程序)

2015-11-04
關(guān)鍵詞: DS1302 時鐘

ds1302時鐘程序詳解

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

捕獲.JPG


2.3 數(shù)據(jù)輸入輸出(I/O)
       在控制指令字輸入后的下一個SCLK時鐘的上升沿時,,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始,。同樣,,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7,。

2.4 DS1302的寄存器

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

捕獲1.JPG


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

捕獲2.JPG


ds1302程序流程圖

捕獲3.JPG


3.2 DS1302實(shí)時時間流程     

      圖4示出DS1302的實(shí)時時間流程,。根據(jù)此流程框圖,,不難采集實(shí)時時間。下面結(jié)合流程圖對DS1302的基本操作進(jìn)行編程:
捕獲4.JPG

捕獲5.JPG

捕獲6.JPG

       根據(jù)本人在調(diào)試中遇到的問題,,特作如下說明:     DS1302 與微處理器進(jìn)行數(shù)據(jù)交換時,,首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,,如果D7=0,,則禁止寫DS1302,即寫保 護(hù),;D6=0,,指定時鐘數(shù)據(jù),D6=1,,指定RAM數(shù)據(jù),;D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,,指定寫操作(輸入),, D0=1,指定讀操作(輸出),。     在DS1302的時鐘日歷或RAM進(jìn)行數(shù)據(jù)傳送時,,DS1302必須首先發(fā)送命令字節(jié),。若進(jìn)行單字節(jié)傳送,,8位命令字節(jié)傳送結(jié)束之后,,在下2個 SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個SCLK周期的下降沿輸出數(shù)據(jù)字節(jié),。     DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,,共31個,每個單元組態(tài)為一個8位的字節(jié),,其命令控制字為C0H~FDH,,其 中奇數(shù)為讀操作,偶數(shù)為寫操作,;再一類為突發(fā)方式下的RAM寄存器,,在此方式下可一次性讀,、寫所有的RAM的31個字節(jié)。     要特別說明的是備用電源B1,,可以用電池或者超級電容器(0.1F以上),。雖然DS1302在主電源掉電后的耗電很小,但是,,如果要長時間保證時 鐘正常,,最好選用小型充電電池??梢杂美鲜诫娔X主板上的3.6V充電電池,。如果斷電時間較短(幾小時或幾天)時,就可以用漏電較小的普通電解電容器代替,。 100 μF就可以保證1小時的正常走時,。DS1302在第一次加電后,必須進(jìn)行初始化操作,。初始化后就可以按正常方法調(diào)整時間,。   

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。