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