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