如何使用DS1302時(shí)鐘芯片_第1頁(yè)
如何使用DS1302時(shí)鐘芯片_第2頁(yè)
如何使用DS1302時(shí)鐘芯片_第3頁(yè)
如何使用DS1302時(shí)鐘芯片_第4頁(yè)
如何使用DS1302時(shí)鐘芯片_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、如何使用DS1302時(shí)鐘芯片教學(xué)方法: 講授法授課時(shí)數(shù): 2學(xué)時(shí)教學(xué)目的:1、掌握DS1302的硬件結(jié)構(gòu)2、掌握 DS1302的操作時(shí)序3、初步DS1302的使用編程方法教學(xué)重點(diǎn):DS1302的使用編程方法教學(xué)難點(diǎn):DS1302的使用編程方法教學(xué)環(huán)節(jié):組織教學(xué): 檢查學(xué)生人數(shù),強(qiáng)調(diào)作業(yè)要求。新授課: DS1302的使用編程方法 教學(xué)目的:1、.2、.教學(xué)重點(diǎn)作業(yè)一、DS1302的硬件結(jié)構(gòu)1、2、3、.二、DS1302的操作時(shí)序1、.2、.3、. 三、DS1302的使用編程方法1、.2、.參考資料:DALLAS 達(dá)拉斯公司的相應(yīng)產(chǎn)品資料;DS1302 涓流充電時(shí)鐘保持芯片的原理與應(yīng)用廣州周立功單

2、片機(jī)發(fā)展有限公司不足:上學(xué)期末,未申報(bào)一個(gè)用于時(shí)鐘芯片DS1302的32.768KHz晶振。1、 DS1302的硬件結(jié)構(gòu)X1 X2 32.768KHz 晶振管腳GND 地RST 復(fù)位腳I/O 數(shù)據(jù)輸入/輸出引腳SCLK 串行時(shí)鐘Vcc1,Vcc2 電源供電管腳DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力(Vcc1 為可編程涓流充電電源)。 DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)

3、Vcc2大于Vcc10.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc2.5V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才

4、能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說(shuō)明。SCLK始終是輸入端。 2、 DS1302的操作時(shí)序DS1302 與微處理器進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫保護(hù);D6=0,指定時(shí)鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入), D0=1,指定讀操作(輸出)。 在DS1302的時(shí)鐘日歷或RAM進(jìn)行數(shù)據(jù)傳送時(shí),DS1302必須首先發(fā)送命令字節(jié)。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個(gè)SCLK

5、周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。 2009年12月23日小結(jié)1)對(duì)Vcc1 有可選的涓流充電能力,VCC1作后備電源2)時(shí)序:數(shù)據(jù)位同步于時(shí)鐘,以字節(jié)為單位傳送,無(wú)應(yīng)答。先發(fā)命令字(分單字節(jié)收發(fā)字和多字節(jié)收發(fā)字2種),后傳送數(shù)據(jù)。先清SCLK后RST置1,RST為1期間收發(fā),低位先發(fā)至1302,1302也是低位先出。發(fā)、收兩種幀結(jié)構(gòu)3)CLOCK類九種單字節(jié)命令字如下:SECOND讀/寫命令字 0x80/0X81 /時(shí)鐘芯片的寄存器位置,存放時(shí)間MINUTE讀/寫命令字 0x82/0X83HOUR讀/寫命令字0x84/0X85 WEEK 讀/寫命令字0x8

6、A/0X8BDATA讀/寫命令字 0x86/0X87MONTH讀/寫命令字 0x88/0X89YEAR 讀/寫命令字0x8C/0X8D CONTROL 讀/寫命令字 0x8E/0X8FCHARGER讀/寫命令字 0x90/0X91 CLOCK類一種多字節(jié)命令字如下:BURST 讀/寫命令字 0xBE/0XBF /傳送8個(gè)CLOCK數(shù)據(jù)3、 DS1302的使用編程方法多字節(jié)傳送方式當(dāng)命令字節(jié)為BE 或BF 時(shí)DS1302 工作在多字節(jié)傳送模式8 個(gè)時(shí)鐘/日歷寄存器從寄存器0 地址開始連續(xù)讀寫從0 位開始的數(shù)據(jù)當(dāng)命令字節(jié)為FE 或FF 時(shí)DS1302 工作在多字節(jié)RAM 傳送模式31 個(gè)RAM 寄

7、存器從0 地址開始連續(xù)讀寫從0 位開始的數(shù)據(jù)。例如寫入00 年6 月21 日星期三13 時(shí)59 分59 秒程序設(shè)置如下Write_Multiplebyte:MOV Command,#0BEh ;命令字節(jié)為BEhMOV ByteCnt,#8 ;多字節(jié)寫入模式此模塊為8 個(gè)MOV R0,#XmtDat 數(shù)據(jù)地址覆給R0MOV XmtDat,#59h 秒單元內(nèi)容為59hMOV XmtDat+1,#59h 分單元內(nèi)容為59hMOV XmtDat+2,#13h 時(shí)單元內(nèi)容為13hMOV XmtDat+3,#21h 日期單元內(nèi)容為21hMOV XmtDat+4,#06h 月單元內(nèi)容為06hMOV XmtD

8、at+5,#03h 星期單元內(nèi)容為03hMOV XmtDat+6,#0 年單元內(nèi)容為00hMOV XmtDat+7,#0 寫保護(hù)單元內(nèi)容為00hACALL Send_Byte 調(diào)用寫入數(shù)據(jù)子程序RET 返回調(diào)用本子程序處讀出寄存器0-7 的內(nèi)容程序設(shè)置如下Read_Multiplebyte:MOV Command,#0BFh ;命令字節(jié)為BFhMOV ByteCnt,#8 ;多字節(jié)讀出模式此模塊為8 個(gè)MOV R1,#RcvDat 數(shù)據(jù)地址覆給R1ACALL Receive_Byte 調(diào)用讀出數(shù)據(jù)子程序RET 返回調(diào)用本子程序處以上程序調(diào)用了基本數(shù)據(jù)接收(Receive_Byte)模塊及一些內(nèi)

9、存單元定義, 其源程序清單在附錄中給出下面的程 序亦使用了這個(gè)模塊單字節(jié)傳送方式例如寫入8 時(shí)12 小時(shí)模式程序設(shè)置如下Write_Singlebyte:MOV Command,#84h ; 命令字節(jié)為84hMOV ByteCnt,#1 ; 單字節(jié)傳送模式MOV R0,#XmtDat 數(shù)據(jù)地址覆給R0MOV XmtDat,#88h 數(shù)據(jù)內(nèi)容為88hACALL Send_Byte 調(diào)用寫入數(shù)據(jù)子程序RET 返回調(diào)用本子程序處上面所列出的程序模塊Write_Enable Write_Disable Osc_Enable Osc_Disable與單字節(jié)寫入模塊Write_Singlebyte 的程序

10、架構(gòu)完全相同僅只是幾個(gè)入口參數(shù)不同本文是為了強(qiáng)調(diào)功能使用的不同才將其分為不同模塊另外,與涓流充電相關(guān)的設(shè)定也是單字節(jié)操作方式,這里就不再單獨(dú)列出,用戶在使用中可靈活簡(jiǎn)略。下面模塊舉例說(shuō)明如何單字節(jié)讀出小時(shí)單元的內(nèi)容.Read_Singlebyte:MOV Command,#85h ; 命令字節(jié)為85hMOV ByteCnt,#1 ; 單字節(jié)傳送模式MOV R1,#RcvDat 數(shù)據(jù)地址覆給R1ACALL Receive_Byte 調(diào)用讀出數(shù)據(jù)子程序RET 返回調(diào)用本子程序處附錄數(shù)據(jù)發(fā)送與接收模塊源程序清單; CPU 工作頻率最大不超過(guò)20MHz; P87LPC762/4 主控器發(fā)送接受數(shù)據(jù)程序

11、; 說(shuō)明本程序是利用Philips 公司的P87LPC764 單片機(jī)任何具有51 內(nèi)核或其它合適的單片機(jī)都可在此作為主控器的普通I/O 口(如P1.2/P1.3/P1.4)實(shí)現(xiàn)總線的功能對(duì)總線 上的器件本程序采用DS1302進(jìn)行讀寫操作命令字節(jié)在Command 傳送字節(jié)數(shù)在ByteCnt 中所發(fā)送的數(shù)據(jù)在XmtDat 中所接收的數(shù)據(jù)在RcvDat 中;P87LPC762/4 主控器總線發(fā)送接受數(shù)據(jù)程序頭文件;內(nèi)存數(shù)據(jù)定義BitCnt data 30h ; 數(shù)據(jù)位計(jì)數(shù)器ByteCnt data 31h ; 數(shù)據(jù)字節(jié)計(jì)數(shù)器Command data 32h ; 命令字節(jié)地址RcvDat DATA 4

12、0H ; 接收數(shù)據(jù)緩沖區(qū)XmtDat DATA 50H ; 發(fā)送數(shù)據(jù)緩沖區(qū);端口位定義IO_DATA bit P1.3 ; 數(shù)據(jù)傳送總線SCLK bit P1.4 ; 時(shí)鐘控制總線RST bit P1.2 ; 復(fù)位總線;發(fā)送數(shù)據(jù)程序;名稱:Send_Byte;描述:發(fā)送ByteCnt 個(gè)字節(jié)給被控器DS1302;命令字節(jié)地址在Command 中;所發(fā)送數(shù)據(jù)的字節(jié)數(shù)在ByteCnt 中發(fā)送的數(shù)據(jù)在XmtDat 緩沖區(qū)中Send_Byte:CLR RST ;復(fù)位引腳為低電平所有數(shù)據(jù)傳送終止NOPCLR SCLK 清時(shí)鐘總線NOPSETB RST ;復(fù)位引腳為高電平邏輯控制有效NOPMOV A,Co

13、mmand 準(zhǔn)備發(fā)送命令字節(jié)MOV BitCnt,#08h 傳送位數(shù)為8S_Byte0:RRC A 將最低位傳送給進(jìn)位位CMOV IO_DATA,C 位傳送至數(shù)據(jù)總線NOPSETB SCLK 時(shí)鐘上升沿發(fā)送數(shù)據(jù)有效NOPCLR SCLK 清時(shí)鐘總線DJNZ BitCnt,S_Byte0 位傳送未完畢則繼續(xù)NOPS_Byte1: 準(zhǔn)備發(fā)送數(shù)據(jù)MOV A,R0 傳送數(shù)據(jù)過(guò)程與傳送命令相同MOV BitCnt,#08hS_Byte2:RRC AMOV IO_DATA,CNOPSETB SCLKNOPCLR SCLKDJNZ BitCnt,S_Byte2INC R0 發(fā)送數(shù)據(jù)的內(nèi)存地址加1DJNZ B

14、yteCnt,S_Byte1 字節(jié)傳送未完畢則繼續(xù)NOPCLR RST 邏輯操作完畢清RSTRET;接收數(shù)據(jù)程序;名稱:Receive_Byte;描述:從被控器DS1302 接收ByteCnt 個(gè)字節(jié)數(shù)據(jù);命令字節(jié)地址在Command 中;所接收數(shù)據(jù)的字節(jié)數(shù)在ByteCnt 中接收的數(shù)據(jù)在RcvDat 緩沖區(qū)中Receive_Byte:CLR RST ;復(fù)位引腳為低電平所有數(shù)據(jù)傳送終止NOPCLR SCLK 清時(shí)鐘總線NOPSETB RST ;復(fù)位引腳為高電平邏輯控制有效MOV A,Command 準(zhǔn)備發(fā)送命令字節(jié)MOV BitCnt,#08h 傳送位數(shù)為8R_Byte0:RRC A 將最低位傳送給進(jìn)位位CMOV IO_DATA,C 位傳送至數(shù)據(jù)總線NOPSETB SCLK 時(shí)鐘上升沿發(fā)送數(shù)據(jù)有效NOPCLR SCLK 清時(shí)鐘總線DJNZ BitCnt,R_Byte0 位傳送未完畢則繼續(xù)NOPR_Byte1: 準(zhǔn)備接收數(shù)據(jù)CLR A 清類加器CLR C 清進(jìn)位位CMOV BitCnt,#08h 接

溫馨提示

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

評(píng)論

0/150

提交評(píng)論