摘 要: 新型時鐘芯片DS12C887具有計時精確、斷電情況下運行十年以上不丟失資料等優(yōu)點,在單片機計時系統(tǒng)中有著廣泛應(yīng)用。本文分析了DS12C887的功能特性,介紹了DS12C887與AT89C51單片機系統(tǒng)的硬件電路圖,同時介紹了單片機應(yīng)用程序的編寫方法。
關(guān)鍵詞: 單片機 時鐘芯片 DS12C887 應(yīng)用研究
1.引言
在儀器儀表與工業(yè)控制現(xiàn)場的單片機應(yīng)用系統(tǒng)中,經(jīng)常有精確計時的需要,這時我們通常采用DS12C887與單片機綜合應(yīng)用系統(tǒng),以實現(xiàn)各種時間的精確獲取。DS12C887時鐘芯片功能強大,可代替IBM AT計算機的時鐘/日歷,斷電情況下運行十年以上不丟失資料。它采用二進制數(shù)碼或BCD碼表示時間、日歷和警報,具有計秒、分、時、天、星期、日、月、年,并有潤年補償功能。DS12C887與MC146818B和DS1287管腳兼容,使用方便。
2.DS12C887功能介紹
DS12C887為帶RAM實時時鐘設(shè)計,為DS1287的直接替代品。DS12887與DS1287的形式、配置和功能相同,只是DS12887增加了64字節(jié)的通用RAM。訪問附加的64字節(jié)RAM取決于訪問周期地址輸出階段AD6的邏輯電平,24管腳雙排直列封裝內(nèi)包含有一個鋰電池、石英晶振和寫保護電路。因此DS12887是一個完整的子系統(tǒng),可取代在典型應(yīng)用中的16個組件,它的功能包括非易失時鐘、警報器、百年歷、可編程中斷、方波發(fā)生器和114字節(jié),非易失靜態(tài)RAM,實時時鐘在斷電情況下仍能保持時間與內(nèi)存是其與眾不同的特點。
MOT(模式選擇):MOT管腳為兩種總線類型的選擇提供了方便,當(dāng)聯(lián)接到VCC時,選擇MOTORLA時序,當(dāng)聯(lián)接到GND時,選擇INTEL時序,此管腳有一約20K內(nèi)部下拉電阻。
SQW(方波信號輸出):SQW管腳能從實時時鐘的內(nèi)15級分頻提供的13個抽頭中選擇輸出信號。SQW管腳的頻率可通過對寄存器A編程來改變。
AD0-AD7(雙向地址/資料復(fù)用總線):復(fù)用總線減少管腳,因為地址信息與資料信息分時共享相同的信號通路。
AS(地址選通輸入):地址選通脈沖用于實現(xiàn)總線信號分離,AS/ALE的下降沿使得地址鎖入DS12887。
CS(片選輸入):在訪問DS12887的總線周期片選信號必須保持為低,在MOTOROLA時序的DS和AS期間或INTEL時序RD和WR期間,CS必須保持有效狀態(tài)。
RESET(復(fù)位輸入):RESET管腳對時鐘、日歷或RAM無效,上電時RESET可保持一段時間低電平以允許電源穩(wěn)定,RESET保持低電平的時間取決于實際應(yīng)用。
3.硬件電路
本例介紹了單片機、時鐘芯片DS12C887、LED數(shù)碼顯示部分等硬件電路的設(shè)計(如圖1)。在單片機系統(tǒng)設(shè)計中,不管VCC輸入的電平高低如何,實時時鐘都能連續(xù)工作,同時所有的RAM、時間、日歷、警報、內(nèi)存單元不會丟失。當(dāng)VCC加到DS12887的電平高于4.25V,如果晶振在工作,晶振分頻未被復(fù)位的話,設(shè)備在100ms以后可訪問,加電后這段時間使得系統(tǒng)穩(wěn)定,當(dāng)VCC下降到4.25V以下時,片選輸入被內(nèi)部嵌位到無效電平而不論外加CS電平為何值。這樣,DS12887被寫保護了,當(dāng)DS12887在寫保護狀態(tài)時,所有的輸入被忽略,而所有的輸出均為高阻態(tài),當(dāng)VCC下降到約3V以下時,外部VCC電源被關(guān)閉,內(nèi)部鋰電池為實時時鐘和RAM提供電源。
4.軟件設(shè)計
DS12C887是帶114字節(jié)RAM的實時時鐘接口器件。它有MOTOROLA和INTEL總線時序選擇端。特殊寄存器有14個。從00H到09H單元為時鐘、日歷、鬧鐘單元。0AH、0BH、0CH、0DH是功能、狀態(tài)寄存器。鬧鐘單元:01H、03H、05H分別是秒、分、時鬧鐘設(shè)置寄存器。鬧鐘調(diào)協(xié)有種用法:根據(jù)寫入到三個鬧鐘寄存器的值產(chǎn)生中斷;在各鬧鐘單元寫入自由碼(=0CH――0FFH)可產(chǎn)生周期性的鬧鐘中斷。時鐘、日歷單元:00H、02H、04H、06H、07H、08H、09H分別是秒、分、時、星期、日、月、年設(shè)置寄存器。設(shè)置值有兩種:二進制和BCD碼。功能、狀態(tài)寄存器:0AH、0BH、0CH、0DH是功能、狀態(tài)寄存器。
相關(guān)軟件采用匯編語言編寫。由于篇幅限制,具體程序省略。
5.結(jié)語
本文介紹了DS12C887應(yīng)用方法與單片機系統(tǒng)的設(shè)計方法,系統(tǒng)采用單片機控制系統(tǒng)和相關(guān)電路,使得時鐘芯片DS12C887應(yīng)用更加方便、系統(tǒng)更加穩(wěn)定,性價比更高。本文介紹的設(shè)計方法是時間產(chǎn)生電路的良好選擇,在單片機系統(tǒng)應(yīng)用中有著廣闊的前景。
參考文獻(xiàn):
[1]孫涵芳,徐愛卿.單片機原理及應(yīng)用.北京:航空航天大學(xué)出版社,1996.
[2]于海生.微型計算機控制技術(shù).北京:清華大學(xué)出版社,1999.3.