摘要:本論文(設(shè)計)采用STC89C52單片機(jī)和DS1302實時時鐘芯片為主要器件設(shè)計的實時時鐘系統(tǒng)。能夠準(zhǔn)確的顯示實時時間、日期、星期。通過8位低功耗數(shù)碼管將時間信息顯示出來,數(shù)碼管由單片機(jī)直接驅(qū)動,無需其他驅(qū)動芯片,通過按鍵切換顯示時間、日期、星期、鬧鐘等信息。系統(tǒng)設(shè)計有鬧鐘報警功能,當(dāng)實時時間到達(dá)鬧鐘設(shè)計時間時,鬧鐘就會蜂鳴器報警,報警時間可通過按鍵自行設(shè)定。DS1302芯片配備有備用電池,可確保即便時掉電的情況下也能繼續(xù)走時,無需人工重新設(shè)定時間。
關(guān)鍵詞:單片機(jī);DS1302;實時時鐘;
DS1302實時時鐘的設(shè)計
一、課題要求
1.用DS1302時鐘芯片設(shè)計實時時鐘
2.顯示電路采用8位共陽LED數(shù)碼管;
3.可以做到計時準(zhǔn)確;
4. 通過按鈕對實時時鐘時間進(jìn)化設(shè)置,使時鐘正常運(yùn)行。
二、方案設(shè)計與論證
按照系統(tǒng)設(shè)計功能的要求,確定由主控模塊、時鐘模塊、顯示模塊、鍵盤接口模塊、發(fā)聲模塊共5個模塊組成。主控芯片使用AT89C52單片機(jī),時鐘芯片使用美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘DS1302。采用DS1302作為計時芯片,可以做到計時準(zhǔn)確,更重要的是,DS1302可以在電流很小的后備電源(2.5~5.5 V電源,在2.5 V時耗電小于300 nA)下繼續(xù)計時,而且DS1302可以編程選擇多種充電電流來對后備電源進(jìn)行慢速充電,可以保證后備電源基本不耗電。顯示電路采用8位共陽LED數(shù)碼管,采用查詢法查鍵實現(xiàn)功能調(diào)整。

圖示 時鐘芯片DS132設(shè)計時鐘
DS1302實時時鐘的Proteus硬件仿真電路如圖所示。時鐘芯片的晶振頻率為32.768 kHz,3個數(shù)據(jù)、時鐘、片選口可不接上拉電阻;LED數(shù)碼管采用動態(tài)掃描方式顯示,PO口為段碼輸出口,P2口為掃描驅(qū)動口,掃描驅(qū)動信號經(jīng)74HC244功率放大用作LED點亮電源:調(diào)時按鍵設(shè)計了2個,分別接在P3.5口和P3.6口,用于設(shè)定及加1調(diào)整;P3.7口連接了一個蜂鳴器,用于按鍵發(fā)聲提醒。

DS1302實時時鐘的Proteus硬件仿真電路圖(仿真前)
1.DS1302模塊

DS1302引腳圖
圖示為DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RSTS置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時,在Vcc大于等于2.5V之前,RST必須保持低電平。只有在SCLK 為低電平時,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。
2.單片機(jī)最小系統(tǒng)

3.時鐘電路設(shè)計
DS1302是DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、星期、時、分、秒進(jìn)行計時,且具有閏年補(bǔ)償功能,工作電壓為2.5~5.5V。DS1302采用三線接口,與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時間數(shù)據(jù)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31X8的用于臨時性存放數(shù)據(jù)的RAM存儲器。時鐘設(shè)計電路圖如圖所示。

DS1302時鐘電路
4.AT89C52引腳圖

AT89C52為適應(yīng)不同的產(chǎn)品需求,采用PDIP、TQFP、PLCC三種封裝形式,本系統(tǒng)采用雙列直插PDIP封裝形式。
5.按鈕電路

6.復(fù)位電路

單片機(jī)的置位和復(fù)位,都是為了把電路初始化到一個確定的狀態(tài),一般來說,單片機(jī)復(fù)位電路作用是把一個例如狀態(tài)機(jī)初始化到空狀態(tài),而在單片機(jī)內(nèi)部,復(fù)位的時候單片機(jī)是把一些寄存器以及存儲設(shè)備裝入廠商預(yù)設(shè)的一個值。
單片機(jī)復(fù)位電路原理是在單片機(jī)的復(fù)位引腳RST上外接電阻和電容,實現(xiàn)上電復(fù)位。當(dāng)復(fù)位電平持續(xù)兩個機(jī)器周期以上時復(fù)位有效。復(fù)位電平的持續(xù)時間必須大于單片機(jī)的兩個機(jī)器周期。具體數(shù)值可以由RC電路計算出時間常數(shù)。
復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成。
7.晶振電路

單片機(jī)系統(tǒng)里都有晶振,在單片機(jī)系統(tǒng)里晶振作用非常大,全程叫晶體振蕩器,他結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時鐘頻率,單片機(jī)晶振提供的時鐘頻率越高,那么單片機(jī)運(yùn)行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機(jī)晶振提供的時鐘頻率。
在通常工作條件下,普通的晶振頻率絕對精度可達(dá)百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩器(VCO)。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。
單片機(jī)晶振的作用是為系統(tǒng)提供基本的時鐘信號。通常一個系統(tǒng)共用一個晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過電子調(diào)整頻率的方法保持同步。
晶振通常與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時鐘頻率。如果不同子系統(tǒng)需要不同頻率的時鐘信號,可以用與同一個晶振相連的不同鎖相環(huán)來提供。
1.時鐘讀出程序的設(shè)計
因為使用了時鐘芯片DS1302,所以時鐘程序只須從DS1302各個寄存器中讀出年、月、日、周、時、分、秒等數(shù)據(jù)再處理即可,本次設(shè)計中僅讀出時、分、秒數(shù)據(jù)。在首次對DS1302 進(jìn)行操作之前,必須對它進(jìn)行初始化,然后從DS1302中讀出數(shù)據(jù),再經(jīng)過處理后送給顯示緩沖單元。時鐘讀出程序流程圖見下圖。
2.時間調(diào)整程序的設(shè)計
調(diào)整時間用兩個調(diào)整按鈕,一個作為設(shè)定控制用,另一個作為加1調(diào)整用。在調(diào)整時間的過程中,要調(diào)整的那位應(yīng)與別的位有所區(qū)別,所以增加了閃爍功能,即調(diào)整的那位一直在閃爍,直到調(diào)整下一位。閃爍原理就是使要調(diào)整的那位,每隔定時間熄滅一次,比如說50 ms,利用定時器計時,當(dāng)達(dá)到50 ms時,就送給該位熄滅符,在下一次溢出時,再送正常顯示的值,不斷交替,直到調(diào)整該位結(jié)束。時間調(diào)整程序流程圖如下圖所示。
時間調(diào)整程序流程圖
五、仿真調(diào)試與分析
調(diào)試分為Proteus硬件電路調(diào)試和程序軟件調(diào)試:硬件電路調(diào)試主要是檢查各元件的連接線是否接好,另外,可以通過編寫一個小的調(diào)試軟件來測試硬件電路是否正常;軟件調(diào)試應(yīng)分塊進(jìn)行,先進(jìn)行顯示程序調(diào)試,再編寫DS1302芯片的讀/寫程序,最后通過多次修改與完善達(dá)到理想的功能效果。DS1302的晶振頻率是計時精度的關(guān)鍵,在實際設(shè)計中可換用標(biāo)準(zhǔn)晶振或用小電容進(jìn)行修正,在本仿真電路中不需要對計時精度進(jìn)行校準(zhǔn)。
DS1302實時時鐘的Proteus硬件仿真電路圖(仿真后)
點擊按鈕“調(diào)時設(shè)置”可看到小時閃爍并可以進(jìn)行加1設(shè)置
點擊按鈕“加1”可看到小時加1
六、結(jié)論與心得
通過這一周的學(xué)習(xí),我感到有很大的收獲:首先這次課程設(shè)計使自己對課本上的知識可以應(yīng)用于實際,使理論與實際相結(jié)合,加深自己對課本知識的理解,同時也鍛煉了自己的動手能力:能夠充分利用電腦去查閱資料,增加了許多課本以外的知識。更加了解了單片機(jī)原理及應(yīng)用。增加了對DS1302和AT89C52芯片引腳結(jié)構(gòu)和功能的理解及運(yùn)用,在設(shè)計電路過程中,要考慮到整體的美觀性,連接電路時對各線路的連接要細(xì)致。在驗證面電路效果時,出現(xiàn)了很多問題,其主要問題各個接線點之間錯解沒接上的等。在這個過程中,鍛煉了我的細(xì)心和耐性。