當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]簡要介紹了美國DALLAS公司的新型時(shí)鐘日歷芯片DS12C887的功能特性和內(nèi)部控制寄存器參數(shù),給出了DS12C887與8031單片機(jī)的電路連接圖,同時(shí)給出了用C51編寫的初始化程序和獲取內(nèi)部時(shí)間的程序。

摘要:簡要介紹了美國DALLAS公司的新型時(shí)鐘日歷芯片DS12C887的功能特性和內(nèi)部控制寄存器參數(shù),給出了DS12C887與8031單片機(jī)的電路連接圖,同時(shí)給出了用C51編寫的初始化程序和獲取內(nèi)部時(shí)間的程序。
關(guān)鍵詞:時(shí)鐘 單片機(jī) DS12C887

1 器件特性

    DS12C887實(shí)時(shí)時(shí)鐘芯片功能豐富,可以用來直接代替IBM PC上的時(shí)鐘日歷芯片DS12887,同時(shí),它的管腳也和MC146818B、DS12887相兼容。

    由于DS12C887能夠自動(dòng)產(chǎn)生世紀(jì)、年、月、日、時(shí)、分、秒等時(shí)間信息,其內(nèi)部又增加了世紀(jì)寄存器,從而利用硬件電路解決子“千年”問題; DS12C887中自帶有鋰電池,外部掉電時(shí),其內(nèi)部時(shí)間信息還能夠保持10年之久;對于一天內(nèi)的時(shí)間記錄,有12小時(shí)制和24小時(shí)制兩種模式。在12小時(shí)制模式中,用AM和PM區(qū)分上午和下午;時(shí)間的表示方法也有兩種,一種用二進(jìn)制數(shù)表示,一種是用BCD碼表示;DS12C887中帶有128字節(jié) RAM,其中有11字節(jié)RAM用來存儲時(shí)間信息,4字節(jié)RAM用來存儲DS12C887的控制信息,稱為控制寄存器,113字節(jié)通用RAM使用戶使用;此外用戶還可對DS12C887進(jìn)行編程以實(shí)現(xiàn)多種方波輸出,并可對其內(nèi)部的三路中斷通過軟件進(jìn)行屏蔽。

2 引腳功能

    DS12C887的引腳排列如圖1所示,各管腳的功能說明如下:

    GND、 VCC:直流電源,其中VCC接+5V輸入,GND接地,當(dāng)VCC輸入為+5V時(shí),用戶可以訪問DS12C887內(nèi)RAM中的數(shù)據(jù),并可對其進(jìn)行讀、寫操作;當(dāng)VCC的輸入小于+4.25V時(shí),禁止用戶對內(nèi)部RAM進(jìn)行讀、寫操作,此時(shí)用戶不能正確獲取芯片內(nèi)的時(shí)間信息;當(dāng)VCC的輸入小于+3V時(shí), DS12C887會自動(dòng)將電源發(fā)換到內(nèi)部自帶的鋰電池上,以保證內(nèi)部的電路能夠正常工作。

    MOT:模式選擇腳,DA12C887有兩種工作模式,即Motorola模式和Intel模式,當(dāng)MOT接VCC時(shí),選用的工作模式是Motorola模式,當(dāng)MOT接GND時(shí),選用的是Intel模式。本文主要討論Intel模式。

    SQW:方波輸出腳,當(dāng)供電電壓VCC大于4.25V時(shí),SQW腳可進(jìn)行方波輸出,此時(shí)用戶可以通過對控制寄存器編程來得到13種方波信號的輸出。

    AD0~AD7:復(fù)用地址數(shù)據(jù)總線,該總線采用時(shí)分復(fù)用技術(shù),在總線周期的前半部分,出現(xiàn)在AD0~AD7上的是地址信息,可用以選通DS12C887內(nèi)的RAM,總線周期的后半部分出現(xiàn)在AD0~AD7上的數(shù)據(jù)信息。

    AS:地址選通輸入腳,在進(jìn)行讀寫操作時(shí),AS的上升沿將AD0~AD7上出現(xiàn)的地址信息鎖存到DS12C887上,而下一個(gè)下降沿清除AD0~AD7上的地址信息,不論是否有效,DS12C887都將執(zhí)行該操作。

    DS/RD:數(shù)據(jù)選擇或讀輸入腳,該引腳有兩種工作模式,當(dāng)MOT接VCC時(shí),選用Motorola工作模式,在這種工作模式中,每個(gè)總線周期的后一部分的DS為高電平,被稱為數(shù)據(jù)選通。在讀操作中,DS的上升沿使DS12C887將內(nèi)部數(shù)據(jù)送往總線AD0~AD7上,以供外部讀取。在寫操作中,DS的下降沿將使總線 AD0~AD7上的數(shù)據(jù)鎖存在DS12C887中;當(dāng)MOT接GND時(shí),選用Intel工作模式,在該模式中,該引腳是讀允許輸入腳,即Read Enable。

    R/W:讀/寫輸入端,該管腳也有2種工作模式,當(dāng)MOT接VCC時(shí),R/W工作在Motorola模式。此時(shí),該引腳的作用是區(qū)分進(jìn)行的是讀操作還是寫操作,當(dāng)R/W為高電平時(shí)為讀操作,R/W為低電平時(shí)為寫操作;當(dāng)MOT接GND時(shí),該腳工作在Intle模式,此時(shí)該作為寫允許輸入,即Write Enable。

    CS:片選輸入,低電平有效。

    IRQ:中斷請求輸入,低電平有效,該腳有效對DS12C887內(nèi)的時(shí)鐘、日歷和RAM中的內(nèi)容沒有任何影響,僅對內(nèi)部的控制寄存器有影響,在典型的應(yīng)用中,RESET可以直接接VCC,這樣可以保證DS12C887在掉電時(shí),其內(nèi)部控制寄存器不受影響。

    在DS12C887內(nèi)有11字節(jié)RAM用來存儲時(shí)間信息,4字節(jié)用來存儲控制信息,其具體垢地址及取值如表1所列。

    由表1可以看出:DS12C887內(nèi)部有控制寄存器的A-B等4個(gè)控制寄存器,用戶都可以在任何時(shí)候?qū)ζ溥M(jìn)行訪問以對DS12C887進(jìn)行控制操作。

表1 DS12C887的存儲功能

地  址 功  能 取值范圍十進(jìn)制數(shù) 取值范圍
二進(jìn)制 BCD碼
0 0~59 00~3B 00~59
1 秒鬧鈴 0~59 00~3B 00~59
2 059 00~3B 00~59
3 分鬧鈴 0~59 00~3B 00~59
4 12小時(shí)模式 0~12 01~0C AM,
81~8C PM
01~12AM,
81~92PM
24小時(shí)模式 0~23 00~17 00~23
5 時(shí)鬧鈴,12小時(shí)制 1~12 01~0C AM,
81~8C PM
01~12AM,
81~92PM
時(shí)鬧鈴,24小時(shí)制 0~23 00~17 00~23
6 星期幾(星期天=1) 1~7 01~07 01~07
7 1~31 01~1F 01~31
8 1~12 01~0C 01~12
9 0~99 00~63 00~99
10 控制寄存器A      
11 控制寄存器B      
12 控制寄存器C      
13 控制寄存器D      
50 世紀(jì) 0~99 NA 19,20

3 應(yīng)用

    在各種設(shè)備、家電、儀器、工業(yè)控制系統(tǒng)中,可以很容易地用DS12C887來組成時(shí)間獲取單元,以實(shí)現(xiàn)各種時(shí)間的獲取。圖2是用8031單片機(jī)和 DS12C887構(gòu)成的時(shí)間獲取電路圖,其中DS12C887的基地址為7F00H,相應(yīng)的程序采用C51語言編寫(以Intel工作模式為例)。

    由8031單片機(jī)和DS12C887構(gòu)成的時(shí)間獲取電路的初始化程序如下:

XBYTE[0x7F00+0x0B]=0x82;

XBYTE[0x7F00+0x0A]=0xA0;

XBYTE[0x7F00+0x0A]=0x20;

XBYTE[0x7F00+0x0B]=0x02;

/*所有的中斷禁止,24小時(shí)制,BCD碼模式*/

以下均獲取時(shí)間程序:

unsigned char data t-century;

unsigned char data t-year;

unsigned char data t-month;

unsigned char data t-date;

unsigned char data t-week;

unsigned char data t-hour;

unsigned char data t-minute;

unsigned char data t-second;

if((XBYTE[7F00+0x0A]&0x80)!=0){

t-century=XBYTE[0x7F00+0x32];/*讀取世紀(jì)*/

t-year=XBYTE[Ox7F00+0x09];/*讀取年份*/

t-month=XBYTE[Ox7F00+0x08];/*讀取月份*/

t-date=XBYTE[Ox7F00+0x07];/*讀取日期*/

t-week=XBYTE[Ox7F00+0x06];/*讀取星期幾*/

t-hour=XBYTE[Ox7F00+0x04];/*讀取小時(shí)*/

t-minute=XBYTE[DS12887+0x02];/*讀取分鐘*/

t-second=XBYTE[Ox7F00+0x00];}/*讀取秒*/

 

 

 

 

 

 

4 結(jié)束語

    Dallas公司的時(shí)鐘日歷芯片DS12C887功能豐富,使用簡單,可能性高,是時(shí)間產(chǎn)生電路的良好選擇。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉