資源描述:
《基于DS1302數(shù)字時(shí)鐘電路的設(shè)計(jì),單片機(jī)控制液晶顯示》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、基于DS1302數(shù)字時(shí)鐘電路的設(shè)計(jì)1引言從古代的滴漏更鼓到近代的機(jī)械鐘,從電子表到目前的數(shù)字時(shí)鐘,為了準(zhǔn)確的測(cè)量和記錄時(shí)間,人們一直在努力改進(jìn)著計(jì)時(shí)工具。鐘表的數(shù)字化,大力推動(dòng)了計(jì)時(shí)的精確性和可靠性。在單片機(jī)構(gòu)成的裝置中,實(shí)時(shí)時(shí)鐘是必不可少的部件。目前常用的實(shí)時(shí)時(shí)鐘,很多采用單片機(jī)的中斷服務(wù)來實(shí)現(xiàn),這種方式一方面需要采用計(jì)數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且某些測(cè)控系統(tǒng)可能不允許;有的則使用并行接口的時(shí)鐘芯片,如MC146818、DS12887等,它們雖然能滿足單片機(jī)系統(tǒng)對(duì)實(shí)時(shí)時(shí)鐘的要求,但是這些芯片與單片機(jī)接口復(fù)雜,
2、占用地址、數(shù)據(jù)總線多,芯片體積大,占用空間多,給其它設(shè)計(jì)帶來諸多不便。本設(shè)計(jì)選取串行接口時(shí)鐘芯片DS1302與單片機(jī)同步通信構(gòu)成數(shù)字時(shí)鐘電路。其簡(jiǎn)單的三線接口能為單片機(jī)節(jié)省大量資源,DS1302的后背電源及對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力保證電路斷電后仍能保存時(shí)間和數(shù)據(jù)信息等。這些優(yōu)點(diǎn)解決了目前常用的實(shí)時(shí)時(shí)鐘所無法解決的問題。該時(shí)鐘電路強(qiáng)大的功能和優(yōu)越的性能,在很多領(lǐng)域的應(yīng)用中,尤其是某些自動(dòng)化控制、長(zhǎng)時(shí)間無人看守的測(cè)控系統(tǒng)等對(duì)時(shí)鐘精確性和可靠性有較高要求的場(chǎng)合,具有很高的使用價(jià)值。2核心芯片簡(jiǎn)介2.1DS1302簡(jiǎn)介DS1302[1]是美國DALLAS公司
3、推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償功能,工作電壓寬達(dá)2.5~5.5V。時(shí)鐘可工作在24小時(shí)格式或12小時(shí)(AM/PM)格式。DS1302與單片機(jī)的接口使用同步串行通信,僅用3條線與之相連接。可采用一次傳送一個(gè)字節(jié)或突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。2.1.1DS1302
4、引腳功能與內(nèi)部結(jié)構(gòu)DS1302的引腳功能如表1所示,外形及內(nèi)部結(jié)構(gòu)如圖1所示[2]:27基于DS1302數(shù)字時(shí)鐘電路的設(shè)計(jì)引腳號(hào)引腳名稱功能1VCC2主電源2、3X1、X2振蕩源,外接32768Hz晶振4GND地線5RST復(fù)位/片選線6I/O串行數(shù)據(jù)輸入/輸出端(雙向)7SCLK串行時(shí)鐘輸入端8VCC1后備電源表1DS1302引腳功能表圖1DS1302管腳圖及內(nèi)部結(jié)構(gòu)圖2.1.2DS1302的控制字DS1302的控制字節(jié)如圖2所示:765432101RAMA4A3A2A1A0RDW圖2DS1302控制字節(jié)的含義27基于DS1302數(shù)字時(shí)鐘電路的設(shè)計(jì)控制字節(jié)的
5、最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。2.1.3DS1302的復(fù)位引腳通過把RST從低電平變成高電平啟動(dòng)一次數(shù)據(jù)傳輸過程。輸入有兩種功能:首先,接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中置為低電平,則會(huì)終止
6、此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥2.5V之前,必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。2.1.4DS1302的數(shù)據(jù)輸入輸出在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí)數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位至高位7,數(shù)據(jù)讀寫時(shí)序如圖3所示:圖3數(shù)據(jù)讀寫時(shí)序2.1.5DS1302的寄存器DS1302共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時(shí)間寄
7、存器及其控制字見表2。27基于DS1302數(shù)字時(shí)鐘電路的設(shè)計(jì)此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器的內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類,一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H--FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。寄存器名命令字取值范圍各位內(nèi)容寫操作讀操作765432
8、10秒寄存器80H81H00--59CH10SECS