張洪怡 王雪飛
【摘要】結(jié)合目前我國(guó)測(cè)控系統(tǒng)發(fā)展的需求,我們?yōu)槠湓黾恿讼鄳?yīng)的時(shí)鐘模塊,該時(shí)鐘模塊是基于單片機(jī)模式,同時(shí)結(jié)合PS1288時(shí)鐘所具有的特殊模式進(jìn)行設(shè)計(jì)制作的,以AT89C51單片機(jī)為該時(shí)鐘模塊的核心控制體系,以DS12887為時(shí)鐘模塊的芯片,設(shè)計(jì)出了一種低能耗、高精度、高穩(wěn)定性的時(shí)鐘模塊。本文通過對(duì)設(shè)計(jì)過程中涉及到的時(shí)鐘模塊系統(tǒng)的硬件和軟件設(shè)計(jì)和構(gòu)成進(jìn)行詳細(xì)的描述,以期對(duì)以后其他基于單片機(jī)設(shè)計(jì)的時(shí)鐘模塊起到補(bǔ)助作用。
【關(guān)鍵詞】單片機(jī)時(shí)鐘模塊DS12887A789C51硬件設(shè)計(jì)軟件設(shè)計(jì)
一、基于單片機(jī)的時(shí)鐘模塊主控制系統(tǒng)
AT89C51單片機(jī)也是運(yùn)用CMOS為核心技術(shù)制作而成的八位單片機(jī),以ATMEL公司開發(fā)的存儲(chǔ)技術(shù)為基礎(chǔ),設(shè)計(jì)的具有反復(fù)擦寫功能的FLASH只讀存儲(chǔ)器以及RAM隨機(jī)數(shù)據(jù)存儲(chǔ)器。同時(shí)兼容MCS-51系統(tǒng),是低能耗、低成本、高密度、高穩(wěn)定性的智能單片機(jī)系統(tǒng)。
二、基于單片機(jī)的時(shí)鐘模塊芯片
DS12887內(nèi)部主要由震蕩電路、14字節(jié)時(shí)鐘、RMA以及鋰電池等多個(gè)部分組成。其中MOT是DS12887系統(tǒng)的模式選擇,當(dāng)MOT引腳連接到VCC或者GND時(shí),系統(tǒng)會(huì)自動(dòng)選擇MOTOROLA時(shí)序或是INTEL時(shí)序。SQW是DS12887中的方波信號(hào)輸出程序,SQW會(huì)在DS12887系統(tǒng)內(nèi)部選擇相關(guān)的抽頭進(jìn)行信號(hào)輸出,通過改變寄存器編程實(shí)現(xiàn)輸出頻率的變化。AS是DS12887系統(tǒng)中的地址選通輸入,用于幫助系統(tǒng)實(shí)現(xiàn)信號(hào)分離功能。CS為DS12887系統(tǒng)中的片選輸入功能,CS必須以低電平才能完成對(duì)DS12887系統(tǒng)的總線周期的訪問。
三、基于單片機(jī)的時(shí)鐘模塊接口設(shè)計(jì)
本次設(shè)計(jì)的基于單片機(jī)A789C51系統(tǒng)的時(shí)鐘模塊是具有24個(gè)相關(guān)引腳,同時(shí)還帶有時(shí)間信息液晶顯示屏的智能時(shí)鐘模塊,采用的是RT1602C字符及5V電壓型的液晶模塊,通過不同類型的引腳接口,進(jìn)行低電平基礎(chǔ)上的輸入操作同時(shí)在高電平基礎(chǔ)上進(jìn)行輸出操作。
四、基于單片機(jī)的時(shí)鐘模塊鬧鈴設(shè)計(jì)
本時(shí)鐘模塊根據(jù)單片機(jī)AT89C51的電流輸出特點(diǎn),設(shè)計(jì)了相應(yīng)的蜂鳴器鬧鈴功能,使用的是三極管對(duì)鬧鈴的蜂鳴器進(jìn)行驅(qū)動(dòng)。
五、基于單片機(jī)的時(shí)鐘模塊主程序
該時(shí)鐘模塊的主程序包括相關(guān)系統(tǒng)的初始化,時(shí)鐘模塊的時(shí)間顯示功能,設(shè)置鬧鐘功能,數(shù)據(jù)串的獲取以及進(jìn)行時(shí)間調(diào)節(jié)等主要相關(guān)程序。
主要程序如下:向DS12887的系統(tǒng)中任意寫入相關(guān)數(shù)據(jù):
void write_ ds (uchar add, uchar date)//寫DS12887函數(shù)
{
dscs=0;
dsas=1:
dsds=1:
dsrw=1:
PO=add;//先寫地址dsas=0;
dsrw=0;
PO=date;//再寫數(shù)據(jù)dsrw=1:
dsas=1:
dscs=1:
}
從DS12887系統(tǒng)的寄存器讀取相關(guān)子程序,返回一無符號(hào)字符型數(shù)值:
uchar read_ ds(uchar add)//讀DS12887系統(tǒng)函數(shù){
uchar ds date;
dsas=1:
dsds=1:
dsrw=1:
dscs=0;
PO=add;//先寫地址
dsas=0;
dsds=0;
PO=Oxff;
ds_ date=P0;//再讀數(shù)據(jù)
dsds=1;
dsas=1;
dscs=1;
return ds date;
}
六、基于單片機(jī)的時(shí)鐘模塊日歷設(shè)置程序
對(duì)于以DS12887為核心的時(shí)鐘模塊日歷的設(shè)置程序,在DS12887系統(tǒng)處于設(shè)置狀態(tài)的基礎(chǔ)上,需要使用人員首先進(jìn)行初始化操作,然后將相關(guān)的控制命令和實(shí)踐信息寫入A和B控制寄存器,同時(shí)恢復(fù)DS12887系統(tǒng)的數(shù)據(jù)更新狀態(tài),以完成對(duì)時(shí)間的矯正和讀取。
參考文獻(xiàn)
[1]陳建平.用AT89C2051實(shí)現(xiàn)PS/2矩陣鍵盤的研究.武漢船舶職業(yè)技術(shù)學(xué)院學(xué)報(bào).,2008(05)
[2]李志明.一種由單片機(jī)實(shí)現(xiàn)的智能電力開關(guān)控制器.山西電力.,2006(04)
[3]盛蒙蒙,葛亦斌,邱燁,馬棟.基于單片機(jī)實(shí)現(xiàn)多功能數(shù)字鐘的系統(tǒng)設(shè)計(jì).硅谷.,2009(20)