小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

51單片機(jī)綜合學(xué)習(xí)系統(tǒng)之 DS1302時鐘應(yīng)用篇 《電子制作》2008年10月

 水無影 2009-08-26

DS1302工作原理

    DS1302工作時為了對任何數(shù)據(jù)傳送進(jìn)行初始化,需要將復(fù)位腳(RST)置為高電平且將8位地址和命令信息裝入移位寄存器。數(shù)據(jù)在時鐘(SCLK)的上升沿串行輸入,前8位指定訪問地址,命令字裝入移位寄存器后,在之后的時鐘周期,讀操作時輸出數(shù)據(jù),寫操作時輸出數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8+8(8位地址+8位數(shù)據(jù)),在多字節(jié)方式下為8加最多可達(dá)248的數(shù)據(jù)。

DS1302的寄存器和控制命令

    對DS1302的操作就是對其內(nèi)部寄存器的操作,DS1302內(nèi)部共有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器以外的寄存器。日歷、時間寄存器及控制字如表1所示:

寄存器名稱

7

6

5

4

3

2

1

0

1

RAM/CK

A4

A3

A2

A1

A0

RD/W

秒寄存器

1

0

0

0

0

0

0

分寄存器

1

0

0

0

0

0

1

小時寄存器

1

0

0

0

0

1

0

日寄存器

1

0

0

0

0

1

1

月寄存器

1

0

0

0

1

0

0

星期寄存器

1

0

0

0

1

0

1

年寄存器

1

0

0

0

1

1

0

寫保護(hù)寄存器

1

0

0

0

1

1

1

慢充電寄存器

1

0

0

1

0

0

0

時鐘突發(fā)寄存器

1

0

1

1

1

1

1

表1:日歷、時鐘寄存器與控制字對照表

最后一位RD/W為“0”時表示進(jìn)行寫操作,為“1”時表示讀操作。

DS1302內(nèi)部寄存器列表如表2所示:

寄存器名稱

命令字

取值范圍

各位內(nèi)容

7

6

5

4

3

2

1

0

秒寄存器

80H

81H

00-59

CH

10SEC

SEC

分寄存器

82H

83H

00-59

0

10MIN

MIN

小時寄存器

84H

85H

01-12或00-23

12/24

0

A

HR

HR

日期寄存器

86H

87H

01-28,29,30,31

0

0

10DATE

DATE

月份寄存器

88H

89H

01-12

0

0

0

10M

MONTH

周寄存器

8AH

8BH

01-07

0

0

0

0

0

DAY

年份寄存器

8CH

8DH

00-99

10YEAR

YEAR

表2:DS14302內(nèi)部主要寄存器分布表

    DS1302內(nèi)部的RAM分為兩類,一類是單個RAM單元,共31個,每個單元為一個8位的字節(jié),其命令控制字為COH~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。

    我們現(xiàn)在已經(jīng)知道了控制寄存器和RAM的邏輯地址,接著就需要知道如何通過外部接口來訪問這些資源。單片機(jī)是通過簡單的同步串行通訊與DS1302通訊的,每次通訊都必須由單片機(jī)發(fā)起,無論是讀還是寫操作,單片機(jī)都必須先向DS1302寫入一個命令幀,這個幀的格式如表1所示,最高位BIT7固定為1,BIT6決定操作是針對RAM還是時鐘寄存器,接著的5個BIT是RAM或時鐘寄存器在DS1302的內(nèi)部地址,最后一個BIT表示這次操作是讀操作抑或是寫操作。

    物理上,DS1302的通訊接口由3個口線組成,即RST,SCLK,I/O。其中RST從低電平變成高電平啟動一次數(shù)據(jù)傳輸過程,SCLK是時鐘線,I/O是數(shù)據(jù)線。具體的讀寫時序參考圖5,但是請注意,無論是哪種同步通訊類型的串行接口,都是對時鐘信號敏感的,而且一般數(shù)據(jù)寫入有效是在上升沿,讀出有效是在下降沿(DS1302正是如此的,但是在芯片手冊里沒有明確說明),如果不是特別確定,則把程序設(shè)計成這樣:平時SCLK保持低電平,在時鐘變動前設(shè)置數(shù)據(jù),在時鐘變動后讀取數(shù)據(jù),即數(shù)據(jù)操作總是在SCLK保持為低電平的時候,相鄰的操作之間間隔有一個上升沿和一個下降沿。

sch

圖5 DS1302的命令字結(jié)構(gòu)

DS1302的軟硬件設(shè)計實例

本例將實現(xiàn)對DS1302的讀寫操作,將時鐘數(shù)據(jù)在LED數(shù)碼管上顯示出來。調(diào)試時將功能選擇開關(guān)調(diào)到DS1302的狀態(tài)上。

run

pcb

圖6 DS1302實驗演示圖

硬件原理圖

sch

圖10-46 硬件原理圖

程序流程圖

software

圖10-47 軟件流程圖

--->>>返回首頁

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多