在各種設(shè)備、家電、儀器、工業(yè)控制系統(tǒng)中,可以很容易地用DS12C887來組成時間獲取單元,以實現(xiàn)各種時間的獲取。圖2是用8031單片機和 DS12C887構(gòu)成的時間獲取電路圖,其中DS12C887的基地址為7F00H,相應(yīng)的程序采用C51語言編寫(以Intel工作模式為例)。
由8031單片機和DS12C887構(gòu)成的時間獲取電路的初始化程序如下:
XBYTE[0x7F00+0x0B]=0x82;
XBYTE[0x7F00+0x0A]=0xA0;
XBYTE[0x7F00+0x0A]=0x20;
XBYTE[0x7F00+0x0B]=0x02;
/*所有的中斷禁止,24小時制,BCD碼模式*/
以下均獲取時間程序:
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];/*讀取小時*/
t-minute=XBYTE[DS12887+0x02];/*讀取分鐘*/
t-second=XBYTE[Ox7F00+0x00];}/*讀取秒*/
?
4 結(jié)束語
實時時鐘/日歷芯片。數(shù)據(jù)通過SPI總線傳輸,最大總線速率高達6.25Mbit/s.報警和定時器功能產(chǎn)生一個喚醒信號,喚醒中斷管腳。偏移寄存器可以實現(xiàn)時鐘的校準(zhǔn)。