基于51單片機(jī)的模路燈系統(tǒng)設(shè)計(jì)
基于51單片機(jī)的模路燈系統(tǒng)設(shè)計(jì),基于,51,單片機(jī),路燈,系統(tǒng),設(shè)計(jì)
技術(shù)支持 講 wang1jin Wang1jin 帶您從零學(xué)單片機(jī) 配套開發(fā)板 WJ V4 0 AVR 51開發(fā)板 第五章 DS1302部分 技術(shù)支持 講 wang1jin 本章內(nèi)容介紹 DS1302簡介 DS1302硬件結(jié)構(gòu)原理 DS1302操作時(shí)序講解 DS1302內(nèi)部寄存器功能講解 DS1302時(shí)鐘操作流程 DS1302時(shí)鐘實(shí)驗(yàn)程序設(shè)計(jì) 課后作業(yè) 技術(shù)支持 講 wang1jin DS1302簡介 DS1302是由DALLAS公司生產(chǎn) 具有涓 細(xì)電流充電能力的實(shí)時(shí)時(shí)鐘電路 它是采用 串行數(shù)據(jù)傳輸 可為掉電電池提供可編程的 充電能力 它采用的是普通的32 768K晶振 DS1302可輸出年 月 日 星期 時(shí) 分 秒等 信息 利用DS1302可以很簡單的設(shè)計(jì)并制作 一個(gè)時(shí)鐘或萬年歷 技術(shù)支持 講 wang1jin DS1302引腳功能 DS1302 是美國DALLAS公司推出的一種高性 能 低功耗 帶RAM的實(shí)時(shí)時(shí)鐘電路 它可 以對(duì)年 月 日 周 時(shí) 分 秒進(jìn)行計(jì)時(shí) 具有閏年補(bǔ)償功能 工作電壓為2 5V 5 5V DS1302內(nèi)部有一個(gè)31字節(jié)的用于臨時(shí)性存放 數(shù)據(jù)的靜態(tài)RAM寄存器 采用三線接口與 CPU進(jìn)行同步通 信 并可采用突發(fā) 方式一次傳送多個(gè) 字節(jié)的時(shí)鐘信號(hào)或 RAM數(shù)據(jù) DS1302是 DS1202的升級(jí)產(chǎn) 品 與DS1202兼 容 但增加了主電 源 后背電源雙電 源引腳 同時(shí)提供 了對(duì)后背電源進(jìn)行 涓細(xì)電流充電的能 力 技術(shù)支持 講 wang1jin DS1302內(nèi)部結(jié)構(gòu)圖 技術(shù)支持 講 wang1jin DS1302工作原理圖 VCC VCC P23 P24 DS CS S18 CON2 1 2 0 R39 10K U14DS1302 VCC21 X12 X23 GND4 RST 5 IO 6 SCLK 7 VCC1 8 1302 X2 1302 X1 0 VCC2在雙電源系統(tǒng)中提供主電源 在這種方式下VCC1連接備用電源 當(dāng)系統(tǒng)沒有主電源的情況下 能保持時(shí)間信息及數(shù)據(jù)不丟失 DS1302由VCC1或 VCC2兩者中較大者供電 當(dāng)VCC2大于VCC1 0 2V時(shí) VCC2給DS1302供電 當(dāng) VCC2小于VCC1時(shí) DS1302由VCC1供電 通過圖可以看到 DS1302與單片機(jī)的連線只需3 條 即SCL 7 I O 6 和 RST 5 接在CON2上的備用 電池通過DS1302的第8腳為 DS1302提供低功耗的電池備 份 技術(shù)支持 講 wang1jin DS1302讀數(shù)據(jù)工作時(shí)序 從時(shí)序上看 大家可以看得到DS1302是串行驅(qū)動(dòng)的 通過I O口先寫 入控制字 還需要讀取相慶寄存器的數(shù)據(jù) 在對(duì)1302操作前都要對(duì)1302進(jìn)行 初始化 需要將RST置為高電平 并將8位地址和命令信息裝入移位寄存器 數(shù)據(jù)在SCLK的上升沿輸入 前8位指定訪問地址命令 在之后的時(shí)鐘 周期 讀操作時(shí)輸出的數(shù)據(jù) 寫操作時(shí)輸入數(shù)據(jù) 時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式 下為8個(gè)地址加8位數(shù)據(jù) 技術(shù)支持 講 wang1jin DS1302寫數(shù)據(jù)的時(shí)序操作 數(shù)據(jù)在SCLK的上升沿輸入 前8位指定訪問地址命令 在 之后的時(shí)鐘周期 讀操作時(shí)輸出的數(shù)據(jù) 寫操作時(shí)輸入數(shù)據(jù) 時(shí)鐘 脈沖的個(gè)數(shù)在單字節(jié)方式下為8個(gè)地址加8位數(shù)據(jù) 技術(shù)支持 講 wang1jin DS1302的控制字 位7 必須是邏輯1 如果它為0 則不能把數(shù)據(jù)寫入到DS1302中 位6 如果為0 則表示存取日歷時(shí)鐘數(shù)據(jù) 為1表示存取RAM數(shù)據(jù) 位5至位1 A4 A0 指示操作單元的地址 位0 最低有效位 如為0 表示要進(jìn)行寫操作 為1表示進(jìn)行讀操作 控制字?jǐn)?shù)據(jù)輸入從最低位 0位 開始輸出 在控制字指令輸入后的下一SCLK 時(shí)鐘上升沿時(shí) 數(shù)據(jù)被寫入DS1302 如果有額外的SCLK周期 他們將被忽略 在緊跟8位的控制字指令后的下一個(gè)SCLK脈沖的下降沿 讀出DS1302的數(shù) 據(jù) 讀出的數(shù)據(jù)也是從最低位到最高位 需要注意的是 第一個(gè)數(shù)據(jù)位在命令字 節(jié)的最后一位之后的第一個(gè)下降沿輸出 只要RST保持高電平 如果有額外的 SCLK周期 將重新發(fā)送數(shù)據(jù)字節(jié) 即多字節(jié)傳送 技術(shù)支持 講 wang1jin 日歷時(shí)鐘寄存器與控制字對(duì)照表 最后一位RD WR為0表示要進(jìn)行寫操作 為1 表示進(jìn)行讀操作 技術(shù)支持 講 wang1jin 日歷 時(shí)鐘寄存器 DS1302 還有年份寄存器 控制寄存器 充電寄存器 時(shí)鐘突發(fā)寄存器 及與RAM相關(guān)的寄存器等 時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的 所有寄存器內(nèi)容 技術(shù)支持 講 wang1jin 寄存器功能說明 CH 時(shí)鐘暫停位 當(dāng)此位設(shè)置為1時(shí) 振蕩器停止 DS1302處于低功 耗方式 當(dāng)此位變?yōu)? 時(shí) 時(shí)鐘開始啟動(dòng) 12 24 12或24小時(shí)方式選擇位 為1時(shí)選擇12小時(shí)方式 在12小時(shí)方式 下 位5 是AM PM選擇位 此位為1時(shí)表示PM 在24小時(shí)方式下 位5是第2個(gè)小 時(shí)位數(shù)據(jù) 20 23時(shí) WP 寫保護(hù)位 寫保護(hù)寄存器的0 6位始終為0 在讀操作時(shí)讀出始終 為0 在對(duì)時(shí)鐘或RAM 進(jìn)行寫操作之前 位7 WP 必須為0 當(dāng)設(shè)置為高電平 時(shí) 為寫保護(hù)狀態(tài) 可防止對(duì)其他任何寄存器進(jìn)行寫操作 TCS 控制慢充電的選擇 為了防止偶然因素使DS1302充電方式工 作 只有1010 模式才能使慢速充電工作 DS 二極管選擇位 如果DS為01 那么選擇一個(gè)二極管 如果DS為 10 則選擇兩個(gè)二極管 如果DS為11或00 那么充電器被禁止 與TCS無關(guān) RS 選擇連接在Vcc2 與Vcc1之間的電阻 如果RS為00 那么充電被 禁止 與TCS 無關(guān) 充電狀態(tài)如表12 4所示 技術(shù)支持 講 wang1jin 讀出數(shù)據(jù)與8421編碼 DS1302輸出的是8421編碼 8421編碼就是我們常說的BCD碼 最常用 的BCD編碼 就是使用 0 至 9 這十個(gè)數(shù)值的二進(jìn)碼來表示 這種編碼方式 稱之 為 8421碼 其對(duì)應(yīng)的編碼如下 十進(jìn)制 8421碼 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 如果我們從單片機(jī)讀出來秒的數(shù)據(jù)是 0101 0011 則對(duì)應(yīng)的十進(jìn)制的53 秒 而不是10進(jìn)制的83 我們?cè)谔幚淼臅r(shí)候 一定要注意按格式處理好數(shù)據(jù) 再 進(jìn)行讀寫 如果你向D1302寫入錯(cuò)誤的數(shù)據(jù) DS1302是不會(huì)報(bào)錯(cuò)的 但它在計(jì)數(shù) 的時(shí)候就可能會(huì)出錯(cuò) 所以在使用的時(shí)候一定要注意 技術(shù)支持 講 wang1jin 進(jìn)制轉(zhuǎn)換 十進(jìn)制轉(zhuǎn)8421編碼 32 10 3 16 48 十進(jìn)制 30 16進(jìn)制 32 10 2 30 2 32 16 32 10 32 8421編碼 8421編碼轉(zhuǎn)十進(jìn)制 51 16 5 10 16進(jìn)制 50 十進(jìn)制 51 16 1 50 1 51 16 51 16 51 十進(jìn)制 技術(shù)支持 講 wang1jin 充電寄存器功能說明 技術(shù)支持 講 wang1jin DS1302的RAM DS1302與RAM相關(guān)的寄存器分為兩類 一類是單個(gè)RAM單元 共31個(gè) 每個(gè)單元為一個(gè)8位的字節(jié) 其命令控制字為C0H FDH 其中 奇數(shù)為讀操作 偶數(shù)為寫操作 另一類為突發(fā)方式下的RAM寄存器 此方 式下可一次性讀寫所有的RAM的31個(gè)字節(jié) 命令控制字為FEH 寫 FFH 讀 技術(shù)支持 講 wang1jin RAM的讀寫操作 如果命令字節(jié)中的尋址位A0 A4均為1 可以把時(shí)鐘 日歷或 RAM存儲(chǔ)器規(guī)定為多字節(jié)方式 當(dāng)命令字節(jié)為FFH或FEH 可以對(duì)片 內(nèi)31字節(jié)RAM進(jìn)行讀 寫操作 當(dāng)命令字節(jié)為BFH或BEH時(shí) 可對(duì)8個(gè) 時(shí)鐘 日歷寄存器進(jìn)行讀 寫操作 在時(shí)鐘 日歷寄存器中的地址9 31或 RAM存儲(chǔ)器中的地址31均不能使用 在多字節(jié)方式中讀或?qū)懚际菑?地址0的第0位開始 當(dāng)以多字節(jié)方式寫時(shí)鐘 日歷寄存器時(shí) 必須按傳送次序?qū)憹M8個(gè) 寄存器 即 DS1302在連續(xù)寫入時(shí)間數(shù)據(jù)時(shí) 必須連續(xù)寫入8個(gè)字節(jié)的 數(shù)據(jù) 但是 當(dāng)以多字節(jié)方式寫RAM時(shí) 根據(jù)發(fā)送的要求 數(shù)據(jù)不必 寫入所有31字節(jié) 不管是否寫入全部31字節(jié) 所寫的字節(jié)都將傳入送 至RAM 技術(shù)支持 講 wang1jin DS1302寄存器定義 讀數(shù)據(jù)定義 define YEAR R 0 x8D 讀年數(shù)據(jù) define DAY R 0 x8B 讀星期數(shù)據(jù) define MONTH R 0 x89 讀月數(shù)據(jù) define DATE R 0 x87 讀日數(shù)據(jù) define HR R 0 x85 讀小時(shí)數(shù)據(jù) define MIN R 0 x83 讀分?jǐn)?shù)據(jù) define SEC R 0 x81 讀秒數(shù)據(jù) define CONTROL R 0 x8F 讀控制數(shù)據(jù) define TRICKLE CHARGER R 0 x91 讀充電控制數(shù)據(jù) define CLOCK BURST R 0 xBF 讀時(shí)充多字節(jié)數(shù)據(jù) define RAM BURST R 0 xFF 讀RAM字符組數(shù)據(jù) 技術(shù)支持 講 wang1jin DS1302寄存器定義 充電方式控制寄存器 define TCS OFF 0 x00 充電模式關(guān)閉充電 define TCS1 0 xA5 充電模式選擇一個(gè)二極管 電阻2K define TCS2 0 xA6 充電模式選擇一個(gè)二極管 電阻4K define TCS3 0 xA7 充電模式選擇一個(gè)二極管 電阻8K define TCS4 0 xA9 充電模式選擇二個(gè)二極管 電阻2K define TCS5 0 xAA 充電模式選擇二個(gè)二極管 電阻4K 技術(shù)支持 講 wang1jin DS1302寄存器定義 寫數(shù)據(jù)定義 define YEAR W 0 x8D define DAY W 0 x8B define MONTH W 0 x89 define DATE W 0 x87 define HR W 0 x85 define MIN W 0 x83 define SEC W 0 x81 define CONTROL W 0 x8F define TRICKLE CHARGER W 0 x91 define CLOCK BURST W 0 xBF define TCS6 0 xAB 充電模式選擇二個(gè)二極管 電阻8K define RAM BURST W 0 xFE 寫RAM字符組數(shù)據(jù) 技術(shù)支持 講 wang1jin DS1302應(yīng)用流程 啟動(dòng)寄存器讀寫 設(shè)置時(shí)間模式 時(shí)間初始化 禁止寄存器讀寫 讀時(shí)間數(shù)據(jù) Write Data 0 x8E 0 x00 向寄存器寫入8E和00啟動(dòng)讀寫 Write Data 0 x84 0 x00 設(shè)置24小時(shí)模式 寫入當(dāng)前時(shí)間數(shù)據(jù) Write Data 0 x8E 0 x80 禁止寄存器讀寫 讀出DS1302的時(shí)間數(shù)據(jù) 技術(shù)支持 講 wang1jin 實(shí)例練習(xí) 1 讀取DS1302的時(shí)間數(shù)據(jù) 在LCD1602上顯 示年 月 日等時(shí)間數(shù)據(jù) 2 向DS1302臨時(shí)RAM區(qū)寫入0 30的數(shù)據(jù) 再 讀回到LCD1602上面顯示 技術(shù)支持 講 wang1jin 課后作業(yè) 1 用DS1302設(shè)計(jì)一個(gè)時(shí)鐘 并用WJ V4 0開 發(fā)板按鍵實(shí)現(xiàn)對(duì)年 月 日 時(shí) 分進(jìn)行調(diào) 整 并將相關(guān)信息顯示在LCD1602上面 2 利用DS1302突發(fā)的模式 一次性將時(shí)間和 RAM數(shù)據(jù)讀到二個(gè)數(shù)組中 并將時(shí)間和 RAM區(qū)的數(shù)據(jù)分時(shí)顯示在LCD1602上 作業(yè)請(qǐng)?zhí)峤坏?技術(shù)支持 講 wang1jin 歡迎光臨我們的論壇 Wang1jin 帶您從零學(xué)單片機(jī)
收藏
編號(hào):3963924
類型:共享資源
大?。?span id="tvvttdl" class="font-tahoma">21.85MB
格式:ZIP
上傳時(shí)間:2019-12-25
25
積分
- 關(guān) 鍵 詞:
-
基于
51
單片機(jī)
路燈
系統(tǒng)
設(shè)計(jì)
- 資源描述:
-
基于51單片機(jī)的模路燈系統(tǒng)設(shè)計(jì),基于,51,單片機(jī),路燈,系統(tǒng),設(shè)計(jì)
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。