0 引言
DS12C887是Dallas公司生產(chǎn)的實(shí)時時鐘日歷芯片,,該芯片功能多,、可靠性高,使用簡單,。通過DS12C887的寄存器讀寫,,可以很容易的獲取時間信息。因此,,此芯片在各種設(shè)備,、家電、儀器,、工業(yè)控制系統(tǒng)中具有廣泛的應(yīng)用,。
1 時鐘日歷芯片DS12C887簡介
DS12C887能夠自動產(chǎn)生世紀(jì)、年,、月,、日,、時、分,、秒等時間信息,。由于其內(nèi)部增加了世紀(jì)寄存器,因而可利用硬件電路解決“千年”問題,,另外,,DS12887自帶鋰電池,故在外部掉電時,,其內(nèi)部時間信息還能夠保持10年之久,。DS12887芯片的引腳說明如表1所列,同時,,該芯片還具有以下主要特點(diǎn):
◇可作為IBM AT計算機(jī)的時鐘和日歷,;
◇與MC146818和DS1287的管腳兼容;
◇可用二進(jìn)制或BCD碼表示日歷和鬧鐘信息,;
◇有12和24小時兩種制式,,12小時制時有AM和PM提示;
◇可選用夏令時模式,;
◇可選用MOTOROLA和INTEL兩種總線時序,;
◇數(shù)據(jù)/地址總線可以復(fù)用;
◇帶有128字節(jié)RAM,;
◇可編程方波輸出;
◇總線兼容中斷,;
◇具有三種可編程中斷,。
DS12C887實(shí)時時鐘日歷芯片的地址分布如圖1所示,芯片內(nèi)部的所有地址都包括113字節(jié)的通用RAM,,另外還有11字節(jié)RAM用來存儲時間信息,,4字節(jié)RAM用來存儲控制和狀態(tài)信息(稱為控制寄存器)。除以下情況外,,所有128字節(jié)RAM都可以直接讀寫,;
(1)寄存器C和D為只讀;
(2)寄存器A的第7位為只讀,;
(3)秒字節(jié)的高位為只讀,。
2 硬件接口電路設(shè)計
圖2所示為C8051F020與DS12887的硬件接口電路原理圖。圖中,,C8051F020選用內(nèi)部振蕩器,,DS12C887芯片的MOT引腳接地,以選用MOTO-ROLA總線時序,。本設(shè)計把DS12C887的RAM作為C8051F020外部存儲器進(jìn)行讀寫,,因而程序簡單,,指令執(zhí)行時間短。C8051F020外部的存儲器接口可以位于低端口或者高端口,,并可通過對外部存儲器接口配置寄存器(EMIOCF)和外部存儲器接口控制寄存器(EMIOCN)進(jìn)行設(shè)置,,其中外部存儲器模式應(yīng)為帶塊選擇的分片方式,并應(yīng)確定外部存儲器的首地址,。如果沒有此功能,,最好將片選接ECU地址總線高字節(jié)。對于51單片機(jī)來說,,一般可將P2口用于控制信號,,P0口作為數(shù)據(jù)通道。
3 軟件設(shè)計
本設(shè)計采用C語言在Silicon Lab集成開發(fā)環(huán)境進(jìn)行軟件編程,,并通過C8051F020帶塊選擇的分片方式將DS12C887的基地址定義為FF00H,。
DS12C887寄存器地址定義如下:
4 結(jié)束語
由于本文給出的方法是將DS12C887作為ECU外部數(shù)據(jù)存儲器進(jìn)行讀寫,因而減少了指令執(zhí)行時間,,且程序簡單,,更有利于芯片功能的實(shí)現(xiàn)。