ds1302中文資料_第1頁
ds1302中文資料_第2頁
ds1302中文資料_第3頁
ds1302中文資料_第4頁
ds1302中文資料_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1 DS1302 簡介:DS1302是美國DALLAS公司推出的一種高性能、低功耗的實時 時鐘芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進行 同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號和RAM數(shù)據(jù)。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小與 31天時可以自動調(diào)整,且具有閏年補償功能。工作電壓寬達2.55.5V。米用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電 方式,提供了對后背電源進行涓細電流充電的能力。DS1302的外部引腳分配如圖1所示及內(nèi)部結(jié)構(gòu)如圖2所示。DS1302用于數(shù)據(jù)記錄, 特別是對某些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)

2、的時間同時記錄,因此廣泛應(yīng)用于測量系統(tǒng)中。畑 <1*電7'fc控制DS1302XIZ2:JT及醐汁數(shù)鍵I Hi豁寄存通詡與控制if輯31 Ka RW圖2DS1302的內(nèi)部結(jié)構(gòu)各引腳的功能為:Vcc1:主電源;Vcc2 :備份電源。當(dāng) Vcc2>Vcc1+0.2V時, 由 Vcc2向 DS1302供電,當(dāng) Vcc2< Vcc1 時,由 Vcc1 向 DS1302供電。SCLK :串行時鐘,輸入,控制數(shù)據(jù)的輸入與輸出;I/O :三線接口時的雙向數(shù)據(jù)線;CE:輸入信號,在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩 個功能:第一,CE開始控制字訪問移位寄存器的控制邏輯;其次,a號,

3、匸 刈匚X2 CGWD匸1 2 a2 O73 e4 Q53 g3 SCLK3 I/O圖1DS1302的外部引腳分配CE提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒āS1302有下列幾組寄存器:DS1302有關(guān)日歷、時間的寄存器共有12個,其中有7個寄存器 (讀時81h8Dh,寫時80h8Ch),存放的數(shù)據(jù)格式為BCD碼形式, 如圖3所示。as存器寫S存器BIT 7'BITSB0T5 1BIT4SITSBIT 2BIT1BI7 0SiheohCH10000-59331Iw升分00-593汕瑯'0i 10時-12/0-233巾eehG0liO 0a陽heerC0c1C 月月5eAhc0c

4、0c1周E3兇8cr13 $年00-39BF-SEh麗11 Q! c 11 00 11 0 1I 0 II 0圖3DS1302有關(guān)日歷、時間的寄存器小時寄存器(85h、84h)的位7用于定義DS1302是運行于12小時 模式還是24小時模式。當(dāng)為高時,選擇12小時模式。在12小時模式時, 位5是,當(dāng)為1時,表示PM。在24小時模式時,位5是第二個10小時 位。秒寄存器(81h、80h)的位7定義為時鐘暫停標志(CH )。當(dāng)該 位置為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位置為 0時,時鐘開始運行??刂萍拇嫫鳎?Fh、8Eh)的位7是寫保護位(WP),其它7位均置 為0。在任何的

5、對時鐘和 RAM的寫操作之前,WP位必須為0。當(dāng) WP位為1時,寫保護位防止對任一寄存器的寫操作。DS1302有關(guān)RAM 的地址DS1302中附加31字節(jié)靜態(tài)RAM的地址如圖4所示。讀地址寫地址數(shù)ffi范H bcihcohOOFFh :C3hC2hGa<FFhC5hC4riOFFh J1 1FDhFCh05-FFh圖4DS1302的工作模式寄存器所謂突發(fā)模式是指一次傳送多個字節(jié)的時鐘信號和RAM數(shù)據(jù)。突發(fā)模式寄存器如圖5所示。工作模式寄存器i熏寄存器寫寄存話時鐘突發(fā)模式寄存器CLOCK BURSTBFhBEhRAM突發(fā)模式寄存器RAM BURSTFFhFEh2讀寫時序說明DS1302是

6、SPI總線驅(qū)動方式。它不僅要向寄存器寫入控制字, 還需要讀取相應(yīng)寄存器的數(shù)據(jù)。要想與DS1302通信,首先要先了解 DS1302的控制字。DS1302 的控制字如圖6。T6RAM汞圖6 控制字(即地址及命令字節(jié))A2A10RD圖5此外,DS1302還有充電寄存器等。控制字的最咼有效位(位7)必須是邏輯1,如果它為0,則不能把 數(shù)據(jù)寫入到DS1302中。位6:如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù) 據(jù);位5至位1 (A4 A0):指示操作單元的地址;位0 (最低有效位):如為0,表示要進行寫操作,為1表示進行讀 操作??刂谱挚偸菑淖畹臀婚_始輸出。在控制字指令輸入后的下一個 SCL

7、K時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0 位)開始。同樣,在緊跟8位的控制字指令后的下一個 SCLK脈沖的 下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。 數(shù)據(jù)讀寫時序如圖7。單字節(jié)讀和麗1 A0Al A2A3 1 A4 ' R/5 W DO Di 32D3 DeI D6D?'SCLK單宇節(jié)寫J J1h打中J AOAlA2A3AAR/C訃DODIC2D3D£D5DeSC3-KWDD7圖7數(shù)據(jù)讀寫時序具體操作見驅(qū)動程序。3電路原理圖:電路原理圖如圖8,DS1302與單片機的連接也僅需要3條線:CE引腳、 SCLK串行時鐘引腳、I/

8、O串行數(shù)據(jù)引腳,Vcc2為備用電源,外接 32.768kHz晶振,為芯片提供計時脈沖。3£.76SkH£ILCEV卩3 e11J/0 -P2E1SCLK8XI X2GND4驅(qū)動程序寄存器宏定義#defi ne WRITE_SECOND #defi ne WRITE_MINUTE#defi ne WRITEJHOUR#defi ne READ_SECOND#defi ne READ_MINUTE0x800x820x84 0x810x830x850x8E#defi ne READ_HOUR #define WRITE PROTECT位尋址寄存器定義 sbit ACC_7 = A

9、CC八7;管腳定義sbit SCLK = P 3八5;7腳sbit DIO= P 3八6;6腳sbit CE = P 3八7;5腳/ DS1302時鐘信號/ DS1302數(shù)據(jù)信號/ DS1302片選地址、數(shù)據(jù)發(fā)送子程序void Write1302 ( un sig ned char addr,dat ) /CE引腳為低,數(shù)據(jù)傳送un sig ned char i,te mp; CE=0;中止有效SCLK=O;CE = 1;/清零時鐘總線/CE引腳為高,邏輯控制/發(fā)送地址for ( i=8; i>0; i- ) / 循環(huán) 8次移位 SCLK = 0; temp 二 addr;/每次傳輸?shù)妥?/p>

10、DIO = (bit)(te mp&0x01);/右移一位addr >>= 1;SCLK = 1;發(fā)送數(shù)據(jù)for ( i=8; i>0; i-) CE = 0;SCLK = 0; temp 二 dat;DIO = (bit)(te mp&0x01); dat >>= 1;SCLK = 1;數(shù)據(jù)讀取子程序un sig ned char Read1302 ( un sig ned char addr ) un sig ned char i,te mp ,dat1,dat2; CE=0;SCLK=0;CE = 1;/發(fā)送地址for ( i=8; i>

11、;0; i-)/循環(huán)8次移位移一位SCLK = 0; temp 二 addr;DIO = (bit)(te mp&0x01);addr >>= 1;SCLK = 1;/讀取數(shù)據(jù)for ( i=8; i>0; i-)ACC_7=DI0;SCLK = 1;ACC>>=1;SCLK = 0;CE=0; dat1=ACC; dat2=dat1/16; dat1=dat1%16;/每次傳輸?shù)妥?右/數(shù)據(jù)進制轉(zhuǎn)換/十六進制轉(zhuǎn)十進制dat1=dat1+dat2*10;return (dat1);初始化DS1302 void In itial(void) Write130

12、2 (WRITE_ PROTECT,OXOO);/禁止寫保Write1302 (WRITE_SECOND,0x56);/秒位初始Write1302 (WRITE_MINUTE,0x34);Write1302 (WRITE_HOUR,0x12);小時初始化Write1302 (WRITE_ PROTECT,0x80);允許寫保護/分鐘初始化/51單片機綜合學(xué)習(xí)系統(tǒng)之DS1302時鐘應(yīng)用篇 電子制作2008年10月 站長原創(chuàng),如 需引用請注明出處大家好,通過以前的學(xué)習(xí),我們已經(jīng)對51單片機綜合學(xué)習(xí)系統(tǒng)的使用方法及學(xué)習(xí)方式有 所了解與熟悉,學(xué)會了使用AD模數(shù)轉(zhuǎn)換的基本知識, 體會到了綜合學(xué)習(xí)系統(tǒng)的易

13、用性與易 學(xué)性,這一期我們將一起學(xué)習(xí) DS1302時鐘的基本原理與應(yīng)用實例。先看一下我們將要使用的 51單片機綜合學(xué)習(xí)系統(tǒng)能完成哪些實驗與產(chǎn)品開發(fā)工作:分別有流水燈,數(shù)碼管顯示,液晶顯示,按鍵開關(guān),蜂鳴器奏樂,繼電器控制,IIC總線,SPI總線,PS/2實驗,AD模數(shù)轉(zhuǎn)換,光耦實驗,串口通信,紅外線遙控,無線遙控,溫度傳感, 步進電機控制等等。主體系統(tǒng)如圖1所示,其配套書本教程單片機快速入門如圖2所示。圖2 51單片機綜合學(xué)習(xí)系統(tǒng)配套書本教程單片機快速入門I札辭凈OfP',審X3Tf玉用停; 越'L-,-:i 荷V *,'*>圖1 51單片機綜合學(xué)習(xí)系統(tǒng)主機部分圖

14、片伸: 欽: X, g :T嚴r園昉牡*_ :血 罔宀7匡蜀丄.:*Edh,I 1+:m啟上圖是我們將要使用的51單片機綜合學(xué)習(xí)系統(tǒng)硬件平臺,如圖1所示,本期實驗我們用到了綜合系統(tǒng)主機、板載的DS1302時鐘芯片,綜合系統(tǒng)其它功能模塊原理與使用詳見前幾期電子制作雜志及后期連載教程介紹。在很多單片機系統(tǒng)中都要求帶有實時時鐘電路,如最常見的數(shù)字鐘、鐘控設(shè)備、數(shù)據(jù)記錄儀表,這些儀表往往需要采集帶時標的數(shù)據(jù),同時一般它們也會有一些需要保存起來的重要數(shù)據(jù),有了這些數(shù)據(jù),便于用戶后期對數(shù)據(jù)進行觀察、分析。本小節(jié)就介紹市面上常見的時鐘芯片DS1302的應(yīng)用。DS1302是美國DALLAS公司推出的一款高性能

15、、低功耗、帶內(nèi) 部RAM的實時時鐘芯片(RTC),也就是一種能夠為單片機系統(tǒng)提供日期和時間的芯片。通 過本小節(jié)的學(xué)習(xí),我們將會把RTC相關(guān)的一些技術(shù)粗略介紹一下,然后介紹DS1302與單片機之間的軟硬件應(yīng)用。DS1302時鐘芯片簡介DS1302是DALLAS公司推出的涓流充電時鐘芯片,內(nèi)含一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,可以通過串行接口與單片機進行通信。實時時鐘/日歷電路提供秒、分、時、日、星期、月、年的信息,每個月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通過AM/PM標DS1302工作時功耗很低,保持數(shù)據(jù)和時志位決定采用24或12小時時間格式。DS1302與單片機之間能簡單地采用同步

16、串行的方式進 行通信,僅需三根I/O線:復(fù)位(RST )、I/O數(shù)據(jù)線、串行時鐘(SCLK)。時鐘/RAM的讀 /寫數(shù)據(jù)以一字節(jié)或多達31字節(jié)的字符組方式通信。 鐘信息時,功耗小于1mW。DS1302的內(nèi)部結(jié)構(gòu)DS1302的外部引腳功能說明如圖 3所示:VcC2XIX2GNDVcciSOLKI/OX1,X232.768kHz晶振引腳GND地RST復(fù)位I/O數(shù)據(jù)輸入/輸出SCLK串行時鐘VCC1電池引腳VCC2主電源引腳 圖3 DS1302封裝圖移位寄存器、控制邏輯、振蕩器、實DS1302的內(nèi)部結(jié)構(gòu)如圖4所示,主要組成部分為:時時鐘以及RAM。雖然數(shù)據(jù)分成兩種,但是對單片機的程序而言,其實是一樣

17、的,就是對 特定的地址進行讀寫操作。Mt»>«電強控制Mikft?譌電路與陸奢與控制J1X« Itiin實EH 時斡圖4 DS1302的內(nèi)部結(jié)構(gòu)圖DS1302含充電電路,可以對作為后備電源的可充電電池充電,并可選擇充電使能和串 入的二極管數(shù)目,以調(diào)節(jié)電池充電電壓。 不過對我們目前而言, 最需要熟悉的是和時鐘相關(guān) 部分的功能,對于其它參數(shù)請參閱數(shù)據(jù)手冊。DS1302的工作原理RST)置為高電平且SCLK )的上升沿串行輸入,前 8位指 在之后的時鐘周期, 讀操作時輸出數(shù)據(jù),寫操作時 (8位地址+8位數(shù)據(jù)),在多字節(jié)方式下為DS1302工作時為了對任何數(shù)據(jù)傳送進

18、行初始化,需要將復(fù)位腳( 將8位地址和命令信息裝入移位寄存器。數(shù)據(jù)在時鐘( 定訪問地址,命令字裝入移位寄存器后, 輸出數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8+88加最多可達248的數(shù)據(jù)。DS1302的寄存器和控制命令DS1302內(nèi)部共有12個寄存器,其中有 7 碼形式。此外,DS1302還有年份寄存器、 RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可1所示:寄存器名稱秒寄存器 分寄存器 小時寄存器 日寄存器 月寄存器 星期寄存器 年寄存器 寫保護寄存器RAM/CK000A4A3A2A1A0RD/W對DS1302的操作就是對其內(nèi)部寄存器的操作, 個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為 BCD 控制寄存

19、器、充電寄存器、時鐘突發(fā)寄存器及與 一次性順序讀寫除充電寄存器以外的寄存器。日歷、時間寄存器及控制字如表慢充電寄存器 時鐘突發(fā)寄存器表1 :日歷、時鐘寄存器與控制字對照表最后一位RD/W“0時表示進行寫操作,為“ 1時表示讀操作。DS1302內(nèi)部寄存器列表如表 2所示:DS1302內(nèi)部的分為兩類,一類是單個 RAM單元,共31個, COHFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;RAM的字節(jié),其命令控制字為式下的RAM,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FFH (讀)。每個單元為一個8位 再一類為突發(fā)方FEH (寫八寄存器名稱命令字取值范圍各位內(nèi)容寫讀7654321秒寄存

20、器80H81H00-59CH10SECSEC分寄存器82H83H00-59010MINMIN小時寄存器84H85H01-12 或 00-2312/20AHRHR日期寄存器86H87H01-28,29,30,3140010DATEDATE月份寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-07000 00DAY年份寄存器8CH8DH00-9910YEARYEAR表2:DS14302內(nèi)部主要寄存器分布表0接著就需要知道如何通過外部接DS1302通訊的,每次通訊都必須DS1302寫入一個命令幀,這個幀我們現(xiàn)在已經(jīng)知道了控制寄存器和RAM的邏輯地址,口來訪問這些資源。單片機是通過簡單的同步串行通訊與 由單片機發(fā)起,無論是讀還是寫操作,單片機都必須先向 的格式如表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,但是請

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論