標(biāo)題: 單片機(jī)LED數(shù)字日歷鬧鐘設(shè)計(jì)的一系列問題求解 [打印本頁]
作者: Qwestery 時(shí)間: 2018-1-14 01:45
標(biāo)題: 單片機(jī)LED數(shù)字日歷鬧鐘設(shè)計(jì)的一系列問題求解
用C52單片機(jī)+DS1302+74HC595+4個(gè)四位共陽數(shù)碼管實(shí)現(xiàn) 年月日時(shí)分秒顯示 并用四位獨(dú)立按鍵控制 以及設(shè)置兩路鬧鐘 如何用DS1302讀取年月日時(shí)分秒?
作者: HC6800-ES-V2.0 時(shí)間: 2018-1-14 08:48
DS1302時(shí)鐘芯片
一、硬件簡介:
1、DS1302是一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進(jìn)行通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、月、星期和年,一個(gè)月小與31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓寬達(dá)2.5~5.5V。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力。
2、HC6800—ES—V2.0電路圖
1.jpg (28.14 KB, 下載次數(shù): 33)
下載附件
2018-1-14 08:46 上傳
3、芯片管腳說明:
1腳:芯片備用電源,可以用電池或大容量電容供電,在主電源掉電時(shí),仍可以工作計(jì)時(shí)。
2、3腳:外部晶振接口。芯片就是根據(jù)這個(gè)晶振的頻率進(jìn)行計(jì)時(shí)的。
4腳:接地。
5腳:芯片使能信號(hào),由主機(jī)控制,高電平有效。
6腳:與主機(jī)的數(shù)據(jù)交流口。
7腳:數(shù)據(jù)傳輸時(shí)鐘,由主機(jī)控制。
8腳:芯片主電源。
二、與控制芯片的相關(guān)的知識(shí):
1、SPI總線通訊協(xié)議:
SPI接口的全稱是“Serial Peripheral Interface”,意為串行外圍接口。SPI接口是在CPU和外圍低速器件之間進(jìn)行同步串行數(shù)據(jù)傳輸,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,低位在前,高位在后;時(shí)鐘上升沿主機(jī)發(fā)送數(shù)據(jù),下降沿從機(jī)接收數(shù)據(jù)(與595類似)。
DS1302時(shí)鐘芯片,有1個(gè)控制寄存器,12個(gè)日歷、時(shí)鐘寄存器,31個(gè)RAM可以進(jìn)行讀寫操作,只要能操作上述寄存器,就可以控制這塊芯片了。
2、控制寄存器:
控制寄存器用于存放DS1302的控制命令字節(jié),DS1302的CE引腳回到高電平后寫入的第一個(gè)字就為控制命令。它用于對(duì)DS1302讀寫過程進(jìn)行控制,它的格式如下:
RAM/CK:1——對(duì)RAM操作,0——對(duì)時(shí)鐘寄存器進(jìn)行操作。
R/W:1——讀操作,0——寫操作。
A4~A0:地址,如下表:
3、時(shí)鐘寄存器:
說明:
2.jpg (15 KB, 下載次數(shù): 50)
下載附件
2018-1-14 08:46 上傳
(1)時(shí)鐘數(shù)據(jù),都是以BCD碼形式保存。
BCD碼是通過4位二進(jìn)制碼來表示1位十進(jìn)制中的0~9這10個(gè)數(shù)碼。二進(jìn)制碼轉(zhuǎn)換為BCD碼的方式為:4位二進(jìn)制碼大于1001時(shí),加6(即110)。
(2)小時(shí)寄存器的D7位為12小時(shí)制/24小時(shí)制的選擇位,當(dāng)為1時(shí)選12小時(shí)制,當(dāng)為0時(shí)選24小時(shí)制。當(dāng)12小時(shí)制時(shí),D5位為0是上午,D5位為1是下午,D4為小時(shí)的十位。當(dāng)24小時(shí)制時(shí),D5、D4位為小時(shí)的十位。
(3)秒寄存器中的CH位為時(shí)鐘暫停位,當(dāng)為1時(shí)鐘暫停,為0時(shí)鐘開始啟動(dòng)。
(4)寫保護(hù)寄存器中的WP為寫保護(hù)位,當(dāng)WP=1,寫保護(hù),當(dāng)WP=0未寫保護(hù),當(dāng)對(duì)日歷、時(shí)鐘寄存器或片內(nèi)RAM進(jìn)行寫時(shí)WP應(yīng)清零,當(dāng)對(duì)日歷、時(shí)鐘寄存器或片內(nèi)RAM進(jìn)行讀時(shí)WP一般置1。
3.jpg (10.22 KB, 下載次數(shù): 28)
下載附件
2018-1-14 08:46 上傳
4.jpg (13.17 KB, 下載次數(shù): 34)
下載附件
2018-1-14 08:46 上傳
(5)慢充電寄存器的TCS位為控制慢充電的選擇,當(dāng)它為1010才能使慢充電工作。DS為二極管選擇位。DS為01選擇一個(gè)二極管,DS為10選擇二個(gè)二極管,DS為11或00充電器被禁止,與TCS無關(guān)。RS用于選擇連接在VCC2與VCC1之間的電阻,RS為00,充電器被禁止,與TCS無關(guān),電阻選擇情況見表。
三、讀寫數(shù)據(jù)編程:
DS1302是通過SPI串行總線跟單片機(jī)通信的,當(dāng)進(jìn)行一次讀寫操作時(shí)最少得讀寫兩個(gè)字節(jié),第一個(gè)字節(jié)是控制字節(jié),就是一個(gè)命令(單字節(jié)讀寫時(shí)),告訴DS1302是讀還是寫操作,是對(duì)RAM還是對(duì)CLOK寄存器操作。第二個(gè)字節(jié)就是要讀或?qū)懙臄?shù)據(jù)了。
1、單字節(jié)讀:
單字節(jié)讀:只有在SCLK為低電平時(shí),才能將CE置為高電平。所以在進(jìn)行操作之前先將SCLK置低電平,然后將CE置為高電平,接著開始在IO上面放入要傳送的電平信號(hào),然后跳變SCLK。數(shù)據(jù)在SCLK上升沿時(shí),DS1302讀取數(shù)據(jù),在SCLK下降沿時(shí),DS1302放置數(shù)據(jù)到IO上
詳見例子程序。
2、單字節(jié)寫:
單字節(jié)寫:只有在SCLK為低電平時(shí),才能將RST置為高電平。說以在進(jìn)行操作之前先將SCLK置低電平,然后將RST置為高電平,開始在IO上面放入要傳送的電平信號(hào),然后跳變SCLK。數(shù)據(jù)在SCLK上升沿時(shí),DS1302讀取數(shù)據(jù),在SCLK下降沿時(shí),DS1302放置數(shù)據(jù)到IO上
詳見例子程序。
3、常見命令、地址集合:
5.jpg (60.41 KB, 下載次數(shù): 42)
下載附件
2018-1-14 08:46 上傳
作者: YJGG 時(shí)間: 2018-1-14 08:52
先把你的圖畫出來,論壇1302的程序很多,多參考
作者: yzh166 時(shí)間: 2018-1-14 10:22
很詳細(xì),謝謝了
作者: Qwestery 時(shí)間: 2018-1-14 10:34
YJGG 發(fā)表于 2018-1-14 08:52
先把你的圖畫出來,論壇1302的程序很多,多參考
這種數(shù)碼管顯示模塊 用DS1302讀取年月日時(shí)分秒 并用按鍵控制
-
4f82ebbeb7f07367.png
(84.54 KB, 下載次數(shù): 38)
下載附件
2018-1-14 10:33 上傳
作者: zl2168 時(shí)間: 2018-1-14 13:21
實(shí)例94 模擬電子鐘(由80C51定時(shí)器產(chǎn)生秒時(shí)基)
先Proteus仿真一下,確認(rèn)有效。
模擬電子鐘.jpg (306.12 KB, 下載次數(shù): 33)
下載附件
2018-1-14 13:22 上傳
以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil C和Proteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行。書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網(wǎng)站免費(fèi)下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購買。
作者: 落雨黎明 時(shí)間: 2018-1-14 15:19
很詳細(xì),謝謝了
作者: zl2168 時(shí)間: 2018-1-21 19:23
本帖最后由 zl2168 于 2018-1-21 19:25 編輯
實(shí)例93 具有校正功能的時(shí)鐘1302(LED數(shù)碼管顯示)
先Proteus仿真一下,確認(rèn)有效。
開機(jī)顯示PC機(jī)時(shí)分秒的時(shí)鐘(6位LED數(shù)碼管顯示).jpg (219.73 KB, 下載次數(shù): 33)
下載附件
2018-1-21 19:24 上傳
以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil C和Proteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實(shí)驗(yàn)操作,電路與程序真實(shí)可靠可信可行。仿真電路和Hex文件能在清華出版社網(wǎng)站免費(fèi)下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購買。
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |