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

下載本文檔

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

文檔簡介

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

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

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

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

5、周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。 2009年12月23日小結(jié)1)對Vcc1 有可選的涓流充電能力,VCC1作后備電源2)時序:數(shù)據(jù)位同步于時鐘,以字節(jié)為單位傳送,無應(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 /時鐘芯片的寄存器位置,存放時間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個CLOCK數(shù)據(jù)3、 DS1302的使用編程方法多字節(jié)傳送方式當命令字節(jié)為BE 或BF 時DS1302 工作在多字節(jié)傳送模式8 個時鐘/日歷寄存器從寄存器0 地址開始連續(xù)讀寫從0 位開始的數(shù)據(jù)當命令字節(jié)為FE 或FF 時DS1302 工作在多字節(jié)RAM 傳送模式31 個RAM 寄

7、存器從0 地址開始連續(xù)讀寫從0 位開始的數(shù)據(jù)。例如寫入00 年6 月21 日星期三13 時59 分59 秒程序設(shè)置如下Write_Multiplebyte:MOV Command,#0BEh ;命令字節(jié)為BEhMOV ByteCnt,#8 ;多字節(jié)寫入模式此模塊為8 個MOV R0,#XmtDat 數(shù)據(jù)地址覆給R0MOV XmtDat,#59h 秒單元內(nèi)容為59hMOV XmtDat+1,#59h 分單元內(nèi)容為59hMOV XmtDat+2,#13h 時單元內(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 寫保護單元內(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 個MOV R1,#RcvDat 數(shù)據(jù)地址覆給R1ACALL Receive_Byte 調(diào)用讀出數(shù)據(jù)子程序RET 返回調(diào)用本子程序處以上程序調(diào)用了基本數(shù)據(jù)接收(Receive_Byte)模塊及一些內(nèi)

9、存單元定義, 其源程序清單在附錄中給出下面的程 序亦使用了這個模塊單字節(jié)傳送方式例如寫入8 時12 小時模式程序設(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)完全相同僅只是幾個入口參數(shù)不同本文是為了強調(diào)功能使用的不同才將其分為不同模塊另外,與涓流充電相關(guān)的設(shè)定也是單字節(jié)操作方式,這里就不再單獨列出,用戶在使用中可靈活簡略。下面模塊舉例說明如何單字節(jié)讀出小時單元的內(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 工作頻率最大不超過20MHz; P87LPC762/4 主控器發(fā)送接受數(shù)據(jù)程序

11、; 說明本程序是利用Philips 公司的P87LPC764 單片機任何具有51 內(nèi)核或其它合適的單片機都可在此作為主控器的普通I/O 口(如P1.2/P1.3/P1.4)實現(xiàn)總線的功能對總線 上的器件本程序采用DS1302進行讀寫操作命令字節(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ù)位計數(shù)器ByteCnt data 31h ; 數(shù)據(jù)字節(jié)計數(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 ; 時鐘控制總線RST bit P1.2 ; 復位總線;發(fā)送數(shù)據(jù)程序;名稱:Send_Byte;描述:發(fā)送ByteCnt 個字節(jié)給被控器DS1302;命令字節(jié)地址在Command 中;所發(fā)送數(shù)據(jù)的字節(jié)數(shù)在ByteCnt 中發(fā)送的數(shù)據(jù)在XmtDat 緩沖區(qū)中Send_Byte:CLR RST ;復位引腳為低電平所有數(shù)據(jù)傳送終止NOPCLR SCLK 清時鐘總線NOPSETB RST ;復位引腳為高電平邏輯控制有效NOPMOV A,Co

13、mmand 準備發(fā)送命令字節(jié)MOV BitCnt,#08h 傳送位數(shù)為8S_Byte0:RRC A 將最低位傳送給進位位CMOV IO_DATA,C 位傳送至數(shù)據(jù)總線NOPSETB SCLK 時鐘上升沿發(fā)送數(shù)據(jù)有效NOPCLR SCLK 清時鐘總線DJNZ BitCnt,S_Byte0 位傳送未完畢則繼續(xù)NOPS_Byte1: 準備發(fā)送數(shù)據(jù)MOV A,R0 傳送數(shù)據(jù)過程與傳送命令相同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 個字節(jié)數(shù)據(jù);命令字節(jié)地址在Command 中;所接收數(shù)據(jù)的字節(jié)數(shù)在ByteCnt 中接收的數(shù)據(jù)在RcvDat 緩沖區(qū)中Receive_Byte:CLR RST ;復位引腳為低電平所有數(shù)據(jù)傳送終止NOPCLR SCLK 清時鐘總線NOPSETB RST ;復位引腳為高電平邏輯控制有效MOV A,Command 準備發(fā)送命令字節(jié)MOV BitCnt,#08h 傳送位數(shù)為8R_Byte0:RRC A 將最低位傳送給進位位CMOV IO_DATA,C 位傳送至數(shù)據(jù)總線NOPSETB SCLK 時鐘上升沿發(fā)送數(shù)據(jù)有效NOPCLR SCLK 清時鐘總線DJNZ BitCnt,R_Byte0 位傳送未完畢則繼續(xù)NOPR_Byte1: 準備接收數(shù)據(jù)CLR A 清類加器CLR C 清進位位CMOV BitCnt,#08h 接

溫馨提示

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

評論

0/150

提交評論