|
摘要:簡要介紹了美國DALLAS公司的新型時鐘日歷芯片DS12C887的功能特性和內(nèi)部控制寄存器參數(shù),給出了DS12C887與8031單片機(jī)的電路連接圖,同時給出了用C51編寫的初始化程序和獲取內(nèi)部時間的程序。 關(guān)鍵詞:時鐘 單片機(jī) DS12C887 1 器件特性 DS12C887實時時鐘芯片功能豐富,可以用來直接代替IBM PC上的時鐘日歷芯片DS12887,同時,它的管腳也和MC146818B、DS12887相兼容。 由于DS12C887能夠自動產(chǎn)生世紀(jì)、年、月、日、時、分、秒等時間信息,其內(nèi)部又增加了世紀(jì)寄存器,從而利用硬件電路解決子“千年”問題; DS12C887中自帶有鋰電池,外部掉電時,其內(nèi)部時間信息還能夠保持10年之久;對于一天內(nèi)的時間記錄,有12小時制和24小時制兩種模式。在12小時制模式中,用AM和PM區(qū)分上午和下午;時間的表示方法也有兩種,一種用二進(jìn)制數(shù)表示,一種是用BCD碼表示;DS12C887中帶有128字節(jié) RAM,其中有11字節(jié)RAM用來存儲時間信息,4字節(jié)RAM用來存儲DS12C887的控制信息,稱為控制寄存器,113字節(jié)通用RAM使用戶使用;此外用戶還可對DS12C887進(jìn)行編程以實現(xiàn)多種方波輸出,并可對其內(nèi)部的三路中斷通過軟件進(jìn)行屏蔽。 2 引腳功能 DS12C887的引腳排列如圖1所示,各管腳的功能說明如下: GND、 VCC:直流電源,其中VCC接+5V輸入,GND接地,當(dāng)VCC輸入為+5V時,用戶可以訪問DS12C887內(nèi)RAM中的數(shù)據(jù),并可對其進(jìn)行讀、寫操作;當(dāng)VCC的輸入小于+4.25V時,禁止用戶對內(nèi)部RAM進(jìn)行讀、寫操作,此時用戶不能正確獲取芯片內(nèi)的時間信息;當(dāng)VCC的輸入小于+3V時, DS12C887會自動將電源發(fā)換到內(nèi)部自帶的鋰電池上,以保證內(nèi)部的電路能夠正常工作。 MOT:模式選擇腳,DA12C887有兩種工作模式,即Motorola模式和Intel模式,當(dāng)MOT接VCC時,選用的工作模式是Motorola模式,當(dāng)MOT接GND時,選用的是Intel模式。本文主要討論Intel模式。 SQW:方波輸出腳,當(dāng)供電電壓VCC大于4.25V時,SQW腳可進(jìn)行方波輸出,此時用戶可以通過對控制寄存器編程來得到13種方波信號的輸出。 AD0~AD7:復(fù)用地址數(shù)據(jù)總線,該總線采用時分復(fù)用技術(shù),在總線周期的前半部分,出現(xiàn)在AD0~AD7上的是地址信息,可用以選通DS12C887內(nèi)的RAM,總線周期的后半部分出現(xiàn)在AD0~AD7上的數(shù)據(jù)信息。 AS:地址選通輸入腳,在進(jìn)行讀寫操作時,AS的上升沿將AD0~AD7上出現(xiàn)的地址信息鎖存到DS12C887上,而下一個下降沿清除AD0~AD7上的地址信息,不論是否有效,DS12C887都將執(zhí)行該操作。 DS/RD:數(shù)據(jù)選擇或讀輸入腳,該引腳有兩種工作模式,當(dāng)MOT接VCC時,選用Motorola工作模式,在這種工作模式中,每個總線周期的后一部分的DS為高電平,被稱為數(shù)據(jù)選通。在讀操作中,DS的上升沿使DS12C887將內(nèi)部數(shù)據(jù)送往總線AD0~AD7上,以供外部讀取。在寫操作中,DS的下降沿將使總線 AD0~AD7上的數(shù)據(jù)鎖存在DS12C887中;當(dāng)MOT接GND時,選用Intel工作模式,在該模式中,該引腳是讀允許輸入腳,即Read Enable。 R/W:讀/寫輸入端,該管腳也有2種工作模式,當(dāng)MOT接VCC時,R/W工作在Motorola模式。此時,該引腳的作用是區(qū)分進(jìn)行的是讀操作還是寫操作,當(dāng)R/W為高電平時為讀操作,R/W為低電平時為寫操作;當(dāng)MOT接GND時,該腳工作在Intle模式,此時該作為寫允許輸入,即Write Enable。 CS:片選輸入,低電平有效。 IRQ:中斷請求輸入,低電平有效,該腳有效對DS12C887內(nèi)的時鐘、日歷和RAM中的內(nèi)容沒有任何影響,僅對內(nèi)部的控制寄存器有影響,在典型的應(yīng)用中,RESET可以直接接VCC,這樣可以保證DS12C887在掉電時,其內(nèi)部控制寄存器不受影響。 在DS12C887內(nèi)有11字節(jié)RAM用來存儲時間信息,4字節(jié)用來存儲控制信息,其具體垢地址及取值如表1所列。 由表1可以看出:DS12C887內(nèi)部有控制寄存器的A-B等4個控制寄存器,用戶都可以在任何時候?qū)ζ溥M(jìn)行訪問以對DS12C887進(jìn)行控制操作。
表1 DS12C887的存儲功能 |