版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2024/4/2,泉州信息職業(yè)技術學院,第1頁,時鐘IC及其應用,教學目的:掌握SPI串行時鐘芯片1302的接線;掌握1302的時序和軟件編制??梢詫?302與數(shù)碼管顯示、1602液晶顯示結合。重點難點:1302與數(shù)碼管顯示、1602液晶顯示的程序編制。,2024/4/2,泉州信息職業(yè)技術學院,第2頁,SPI總線概念,SPI接口的全稱是“Serial Peripheral Interface”,意為串行外圍接口SPI接口主
2、要應用在EEPROM,FLASH,實時時鐘,AD轉換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。 SPI接口是在CPU和外圍低速器件之間進行同步串行數(shù)據(jù)傳輸,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,地位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比I2C總線要快,速度可達到幾Mbps。,2024/4/2,泉州信息職業(yè)技術學院,第3頁,SPI接口是以主從方式工作的,這種模式通常有一個主器件和一個或多個從器件,其接口包括以下四種信號:
3、(1)MOSI – 主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入(2)MISO – 主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出(3)SCLK – 時鐘信號,由主器件產生(4)/CS – 從器件使能信號,由主器件控制,2024/4/2,泉州信息職業(yè)技術學院,第4頁,SPI接口內部硬件圖示,最后,SPI接口的一個缺點:沒有指定的流控制,沒有應答機制確認是否接收到數(shù)據(jù)。,2024/4/2,泉州信息職業(yè)技術學院,第5頁,,12.1 串行日歷時鐘芯片與
4、單片機接口,一.DS1302的主要性能指標,(1)DS1302實時時鐘具有能計算2100年之前的秒、分、時、日、日期、星期、月、年的能力,還有閏年調整的能力。(2)內部含有31個字節(jié)靜態(tài)RAM,可提供用戶訪問。(3)采用串行數(shù)據(jù)傳送方式,使得管腳數(shù)量最少,簡單SPI 3線接口。(4)工作電壓范圍寬:2.0~5.5V。(5)工作電流:2.0V時,小于300nA。,2024/4/2,泉州信息職業(yè)技術學院,第6頁,(6)時鐘或RAM數(shù)
5、據(jù)的讀/寫有兩種傳送方式:單字節(jié)傳送和多字節(jié)傳送方式。 (7)采用8腳DIP封裝或SOIC封裝。(8)與TTL兼容,Vcc=5V。(9)可選工業(yè)級溫度范圍:-40?C~+85?C。(10)具有涓流充電能力。(11)采用主電源和備份電源雙電源供應。(12)備份電源可由電池或大容量電容實現(xiàn)。,2024/4/2,泉州信息職業(yè)技術學院,第7頁,二.引腳功能DS1302的引腳如圖所示,,,2024/4/2,泉州信息職業(yè)技術學院,第8
6、頁,其中:X1、X2:32.768KHz晶振接入引腳。GND:地。 :復位引腳,低電平有效,操作時高電平。I/O:數(shù)據(jù)輸入/輸出引腳,具有三態(tài)功能。SCLK:串行時鐘輸入引腳。Vcc1:工作電源引腳。Vcc2:備用電源引腳。 接入電池斷電時提供1302電源,2024/4/2,泉州信息職業(yè)技術學院,第9頁,三.DS1302的寄存器及片內RAM,DS1302有一個控制寄存器、12個日歷、時鐘寄存器和31個R
7、AM??勺x寫,1.控制寄存器,控制寄存器用于存放DS1302的控制命令字,DS1302的RST引腳回到高電平后寫入的第一個字就為控制命令。它用于對DS1302讀寫過程進行控制,它的格式如下:,2024/4/2,泉州信息職業(yè)技術學院,第10頁,其中:D7:固定為1D6:RAM/CK位,=1片內RAM,=0日歷、時鐘寄存器選擇位。 D5~D1:地址位,用于選擇進行讀寫的日歷、時鐘寄存器或片內RAM。對日歷、時鐘寄存器或片內RAM的選擇
8、見表。D0: 讀寫選擇,=0寫,=1讀,2024/4/2,泉州信息職業(yè)技術學院,第11頁,2024/4/2,泉州信息職業(yè)技術學院,第12頁,2024/4/2,泉州信息職業(yè)技術學院,第13頁,2.日歷、時鐘寄存器DS1302共有12個寄存器,其中有7個與日歷、時鐘相關,存放的數(shù)據(jù)為BCD碼形式。日歷、時鐘寄存器的格式如表。,2024/4/2,泉州信息職業(yè)技術學院,第14頁,2024/4/2,泉州信息職業(yè)技術學院,第15頁,說明:(1
9、)數(shù)據(jù)都以BCD碼形式。(2)小時寄存器的D7位為12小時制/24小時制的選擇位,當為1時選12小時制,當為0時選24小時制。當12小時制時,D5位為1是上午,D5位為0是下午,D4為小時的十位。當24小時制時,D5、D4位為小時的十位。(3)秒寄存器中的CH位為時鐘暫停位,當為1時鐘暫停,為0時鐘開始啟動。,2024/4/2,泉州信息職業(yè)技術學院,第16頁,4)寫保護寄存器中的WP為寫保護位,當WP=1,寫保護,當WP=0未寫保護
10、,當對日歷、時鐘寄存器或片內RAM進行寫時WP應清零,當對日歷、時鐘寄存器或片內RAM進行讀時WP一般置1。(5)慢充電寄存器的TCS位為控制慢充電的選擇,當它為1010才能使慢充電工作。DS為二極管選擇位。DS為01選擇一個二極管,DS為10選擇二個二極管,DS為11或00充電器被禁止,與TCS無關。RS用于選擇連接在VCC2與VCC1之間的電阻,RS為00,充電器被禁止,與TCS無關,電阻選擇情況見表.,2024/4/2,泉州信息
11、職業(yè)技術學院,第17頁,,2024/4/2,泉州信息職業(yè)技術學院,第18頁,3.片內RAM,DS1302片內有31個RAM單元,對片內RAM的操作有兩種方式:單字節(jié)方式和多字節(jié)方式。當控制命令字為C0H~FDH時為單字節(jié)讀寫方式,命令字中的D5~D1用于選擇對應的RAM單元,其中奇數(shù)為讀操作,偶數(shù)為寫操作。 當控制命令字為FEH、FFH時為多字節(jié)操作(表中的RAM突發(fā)模式),多字節(jié)操作可一次把所有的RAM單元內容進行讀寫。
12、FEH為寫操作,F(xiàn)FH為讀操作。,2024/4/2,泉州信息職業(yè)技術學院,第19頁,置RST高電平啟動輸入輸出過程,在SCLK時鐘的控制下,控制命令字寫入DS1302的控制寄存器,根據(jù)寫入的控制命令字,依次讀寫內部寄存器或片內RAM單元的數(shù)據(jù),對于日歷、時鐘寄存器,根據(jù)控制命令字,一次可以讀寫一個日歷、時鐘寄存器,也可以一次讀寫8個字節(jié),對所有的日歷、時鐘寄存器寫的控制命令字為0BEH,讀的控制命令字為0BFH;,4.DS1302
13、的輸入輸出過程,2024/4/2,泉州信息職業(yè)技術學院,第20頁,對于片內RAM單元,根據(jù)控制命令字,一次可讀寫一個字節(jié),一次也可讀寫31個字節(jié)。當數(shù)據(jù)讀寫完后,RST變?yōu)榈碗娖浇Y束輸入輸出過程。無論是命令字還是數(shù)據(jù),一個字節(jié)傳送時都是低位在前,高位在后,每一位的讀寫發(fā)生在時鐘的上升沿。,2024/4/2,泉州信息職業(yè)技術學院,第21頁,四、DS1302與單片機的接口,2024/4/2,泉州信息職業(yè)技術學院,第22頁,DS1302與單片
14、機的連接僅需要3條線:時鐘線SCLK、數(shù)據(jù)線I/O和復位線 RST。連接圖如圖9.18。時鐘線SCLK與P1.0相連,數(shù)據(jù)線I/O與P1.1相連,復位線 RST與P1.2相連。,2024/4/2,泉州信息職業(yè)技術學院,第23頁,程序組成,#define uchar unsigned charsbit T_CLK = P2^3; /*實時時鐘時鐘線引腳*/sbit T_IO = P2^4; /*實時時鐘數(shù)據(jù)線引腳 */sbit T
15、_RST = P2^5; /*實時時鐘復位線引腳 */#include "LCD1602.h",2024/4/2,泉州信息職業(yè)技術學院,第24頁,功能: 往DS1302寫入1Byte數(shù)據(jù),void RTInputByte(uchar d) { uchar i; ACC = d; for(i=8; i>0; i--) { T_IO = ACC0;
16、 /*相當于匯編中的 RRC */ T_CLK = 1; T_CLK = 0; ACC = ACC >> 1; } },2024/4/2,泉州信息職業(yè)技術學院,第25頁,從DS1302讀取1Byte數(shù)據(jù) (內部函數(shù)),uchar RTOutputByte(void) { uchar i; for(i=8; i>0; i--)
17、{ ACC = ACC >>1; /*相當于匯編中的 RRC */ ACC7 = T_IO; T_CLK = 1; T_CLK = 0; } return(ACC); },2024/4/2,泉州信息職業(yè)技術學院,第26頁,往DS1302寫入數(shù)據(jù),void W1302(uchar ucAddr, uchar ucDa){
18、 T_RST = 0; T_CLK = 0; T_RST = 1; RTInputByte(ucAddr); /* 地址,命令 */ RTInputByte(ucDa); /* 寫1Byte數(shù)據(jù)*/ T_CLK = 1; T_RST = 0;},2024/4/2,泉州信息職業(yè)技術學院,第27頁,讀取DS1302某地址的數(shù)據(jù),uchar R1302(uchar u
19、cAddr){ uchar ucData; T_RST = 0; T_CLK = 0; T_RST = 1; RTInputByte(ucAddr); /* 地址,命令 */ ucData = RTOutputByte(); /* 讀1Byte數(shù)據(jù) */ T_CLK = 1; T_RST = 0; return(ucData
20、);},2024/4/2,泉州信息職業(yè)技術學院,第28頁,設置初始時間,void Set1302(uchar *pClock) { uchar i; uchar ucAddr = 0x80; W1302(0x8e,0x00); /* 控制命令,WP=0,寫操作*/ for(i =7; i>0; i--) {W1302(ucAddr,*pClock); /* 秒 分
21、時 日 月 星期 年 */ pClock++; ucAddr +=2; /* 地址加2*/ } W1302(0x8e,0x80); /* 控制命令,WP=1,寫保護*/},2024/4/2,泉州信息職業(yè)技術學院,第29頁,往DS1302寫入時鐘數(shù)據(jù)(多字節(jié)方式),void v_BurstW1302T(uchar *pSecDa){ uchar i;
22、v_W1302(0x8e,0x00); /* 控制命令,WP=0,寫操作?*/ T_RST = 0; T_CLK = 0; T_RST = 1; v_RTInputByte(0xbe); /* 0xbe:時鐘多字節(jié)寫命令 */ for (i=8;i>0;i--) /*8Byte = 7Byte 時鐘數(shù)據(jù) + 1Byte 控制*/ { v_RTInputByte(*pSecDa);/* 寫1Byte數(shù)據(jù)
23、*/ pSecDa++; } T_CLK = 1; T_RST =0;},2024/4/2,泉州信息職業(yè)技術學院,第30頁,讀取DS1302時鐘數(shù)據(jù),void v_BurstR1302T(uchar *pSecDa){ uchar i; T_RST = 0; T_CLK = 0; T_RST = 1; v_RTInputByte(0xbf); /* 0xbf:時鐘多字節(jié)讀命令 */ for (i
24、=8; i>0; i--) { *pSecDa = uc_RTOutputByte(); /* 讀1Byte數(shù)據(jù) */ rt[i]=*pSecDa; pSecDa++; }T_CLK = 1; T_RST =0;},2024/4/2,泉州信息職業(yè)技術學院,第31頁,開啟震蕩器,啟動時鐘,void v_OscStart(void){ uchar ucCmd; ucCmd = uc_R130
25、2(0x81); /* 讀取秒字節(jié) */ ucCmd &= 0x7f; v_W1302(0x8e,0x00); /* 控制命令,WP=0,寫操作?*/ v_W1302(0x80,ucCmd); v_W1302(0x8e,0x80); /* 控制命令,WP=1,寫保護?*/ },2024/4/2,泉州信息職業(yè)技術學院,第32頁,打開涓流充電,void v_ChargeEnable(void){
26、 v_W1302(0x8e,0x00); /* 控制命令,WP=0,寫操作?*/ v_W1302(0x90,0xa5); /* 涓流充電,一個二極管,一個2k的電阻*/ v_W1302(0x8e,0x80); /* 控制命令,WP=1,寫保護?*/ },2024/4/2,泉州信息職業(yè)技術學院,第33頁,實驗課題六 1302電子鐘,使用Protel 99 SE繪制由單片機P1口控制按鍵與P0、P2口控制的1602液晶顯示模塊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ds1302
- DS1302介紹.doc
- 時鐘芯片ds1302中文資料
- 外文翻譯--ds1302涓流充電計時芯片
- ds1302電子時鐘制作畢業(yè)設計
- 實時時鐘模ds1302程序列子
- 單片機驅動ds1302時鐘芯片
- 基于ds1302顯示時鐘硬件技術綜合課程設計
- 基于ds1302時鐘芯片數(shù)字鐘報告
- ds1302實時時鐘c程序加仿真原理圖
- 基于ds1302和lcd1602的可調數(shù)字鐘
- 有關ds1302 時鐘和8051中斷c程序的問題
- 基于ds1302的高精度多功能電子時鐘課程設計
- 畢業(yè)設計——基于ds1302的電子萬年歷設計
- DS1302.pdf
- 基于ds1302實時日歷時鐘顯示系統(tǒng)畢業(yè)設計說明書
- 基于51單片機ds1302萬年歷課程設計報告
- 基于51單片機ds1302萬年歷課程設計報告
- 用ds1302與lcd1602可調數(shù)字萬年歷課程設計
- 基于89c52單片機和ds1302的萬年歷設計
評論
0/150
提交評論