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