當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]針對(duì)目前測(cè)控系統(tǒng)中對(duì)時(shí)間控制的需要,結(jié)合實(shí)時(shí)時(shí)鐘PS1288的類(lèi)型與特點(diǎn),提出一種基于單片機(jī)的日歷時(shí)鐘的設(shè)計(jì)方法。該系統(tǒng)以AT89C52單片機(jī)為控制核心,采用實(shí)時(shí)日歷時(shí)鐘芯片DS12887作為實(shí)時(shí)日歷時(shí)鐘芯片,為系統(tǒng)提供詳細(xì)的年、月、日、星期和小時(shí)、分等時(shí)間信息。通過(guò)對(duì)DS12887的詳細(xì)分析,設(shè)計(jì)其與單片機(jī)的硬件接口。闡述該系統(tǒng)的硬件構(gòu)成和軟件設(shè)計(jì)過(guò)程,并給出了相應(yīng)的硬件原理圖和軟件流程圖。結(jié)果表明,DS12887時(shí)鐘芯片具有低功耗、外圍接口簡(jiǎn)單、精度高、工作穩(wěn)定可靠等優(yōu)點(diǎn),可廣泛用于各種需要較高精度的實(shí)時(shí)時(shí)鐘場(chǎng)合中。

在實(shí)時(shí)監(jiān)控系統(tǒng)的設(shè)計(jì)中,要實(shí)時(shí)監(jiān)測(cè)各個(gè)控制信號(hào),更重要的是在發(fā)生故障時(shí)能準(zhǔn)確記錄故障數(shù)據(jù),以便準(zhǔn)確分析排除錯(cuò)誤。監(jiān)控系統(tǒng)中一般都要定時(shí)采集現(xiàn)場(chǎng)數(shù)據(jù),對(duì)某些重要的信息不僅要記錄其內(nèi)容,還要記錄下該信息發(fā)生的準(zhǔn)確時(shí)間,所記錄的實(shí)時(shí)時(shí)間信息應(yīng)長(zhǎng)期保存,因此需要實(shí)時(shí)時(shí)鐘來(lái)實(shí)現(xiàn)。常用的單片機(jī)沒(méi)有實(shí)時(shí)時(shí)鐘,若需采用定時(shí)器實(shí)現(xiàn),一旦系統(tǒng)掉電,時(shí)鐘就不能運(yùn)行,這是實(shí)時(shí)監(jiān)控系統(tǒng)
不允許的,而采用獨(dú)立運(yùn)行的實(shí)時(shí)時(shí)鐘便可實(shí)現(xiàn)。但一般的時(shí)鐘芯片在系統(tǒng)掉電時(shí),其數(shù)據(jù)也會(huì)丟失,需提供備用電池。而時(shí)鐘芯片DS12887在系統(tǒng)掉電時(shí)數(shù)據(jù)不丟失,廣泛應(yīng)用于測(cè)量和控制系統(tǒng)。因此,這里給出了實(shí)時(shí)時(shí)鐘DS12887在單片機(jī)應(yīng)用系統(tǒng)中的應(yīng)用。

1 主要器件造型
1.1 DS12887的功能介紹
   
DS12887是DALLAS公司推出的8位并行并自帶RAM的實(shí)時(shí)日歷時(shí)鐘芯片,內(nèi)部有14個(gè)時(shí)鐘控制寄存器,包括10個(gè)時(shí)標(biāo)寄存器,4個(gè)狀態(tài)寄存器和114 bit作掉電保護(hù)用的低功耗RAM。CPU通過(guò)讀DS12887的內(nèi)部時(shí)標(biāo)寄存器得到當(dāng)前的時(shí)間和日歷,也可通過(guò)選擇二進(jìn)制或BCD碼初始化芯
片的10個(gè)時(shí)標(biāo)寄存器,其4個(gè)狀態(tài)寄存器用來(lái)控制和指出DS12887的當(dāng)前工作狀態(tài),114 bit非易失性靜態(tài)RAM可在掉電時(shí)保存一些重要數(shù)據(jù)。  DS12887功能強(qiáng)大,應(yīng)用廣泛。其引腳功能如下:
    GND,VCC:直流電源+5 V電壓。當(dāng)5 V電壓在正常范圍內(nèi)時(shí),數(shù)據(jù)可讀寫(xiě);當(dāng)VCC低于4.25 V,讀寫(xiě)禁止,計(jì)時(shí)功能仍繼續(xù);當(dāng)VCC下降到3 V以下時(shí),RAM和計(jì)時(shí)器被切換到內(nèi)部鋰電池。
    MOT(模式選擇):MOT引腳接到VCC時(shí),選擇MOTOROLA時(shí)序,當(dāng)接到GFND時(shí),選擇INTEL時(shí)序。
    SQW(方波信號(hào)):SQW引腳能從實(shí)時(shí)時(shí)鐘內(nèi)部15級(jí)分頻器的13個(gè)抽頭中選擇一個(gè)作為輸出信號(hào),其輸出頻率可通過(guò)對(duì)寄存器A編程改變。
    AD0~AD7(雙向地址/數(shù)據(jù)復(fù)用線(xiàn)):總線(xiàn)接口,可與MOTOROLA微機(jī)系列和INTEL微機(jī)系列接口。
    AS(地址選通輸入):用于實(shí)現(xiàn)信號(hào)分離,在AD/ALE的下降沿把地址鎖入DS12887。
    DS(數(shù)據(jù)選通或讀輸入):DS/RD有2種操作模式,取決于MOT引腳的電平,當(dāng)使用MOTOROLA時(shí)序時(shí),DS是一正脈沖,出現(xiàn)在總線(xiàn)周期的后段,稱(chēng)為數(shù)據(jù)選通;在讀周期,DS指示DS12887驅(qū)動(dòng)雙向總的時(shí)刻;在寫(xiě)周期,DS的后沿使DS12887鎖存寫(xiě)數(shù)據(jù)。選擇INTEL時(shí)序時(shí),DS稱(chēng)作(RD),RD與典型存儲(chǔ)器的允許信號(hào)(OE)的定義相同。
    (讀/寫(xiě)輸入):也有兩種操作模式。選MOTOROLA時(shí) 序時(shí),是一電平信號(hào),指示當(dāng)前周期是讀或?qū)懼芷?,DSO為高電平時(shí),高電平指示讀周期,低電平指示寫(xiě)周期;選INTEL時(shí)序,信號(hào)是一低電平信號(hào),稱(chēng)為WR。在此模式下,R/W與通用RAM的寫(xiě)允許信號(hào)(WE)的含義相同。
    (片選輸入):在訪問(wèn)DS12887的總線(xiàn)周期內(nèi),片選信號(hào)必須保持為低。
    (中斷申請(qǐng)輸入):低電平有效,可作微處理的中斷輸入。沒(méi)有中斷條件滿(mǎn)足時(shí),IRQ處于高阻態(tài)。IRQ線(xiàn)是漏極開(kāi)路輸入,要求外接上接電阻。
    (復(fù)位輸出):當(dāng)保持低電平時(shí)間大于200 ms,保證DS12887有效復(fù)位。
    DS12887引腳如圖1所示。


    DS12887的內(nèi)部地址分配:地址00H和03H單元取值范圍是00H~3BH(十進(jìn)制為0~59);04H~05H單元按12小時(shí)制取值范圍是上午(AM)01H~0CH(十進(jìn)制為1~12),下午(PM)51H~5CH(十進(jìn)制為81~92),按24小時(shí)制取值范圍是00H~17H(十進(jìn)制為0~23);06H單元的取值范圍是01H~07H(十進(jìn)制為1~7);07H單元取值范圍O1H~1FH(十進(jìn)制為1~31);08H單元取值范圍是01H~0CH(十進(jìn)制為1~12);09H單元取值范圍是00H~63H(十進(jìn)制為0~99)。
1.2 單片機(jī)A789C52簡(jiǎn)介
   
AT89C52是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8 kB的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(R-AM)。該器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元。A-T89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效降低開(kāi)發(fā)成本。廣泛應(yīng)用于智能儀器、儀表和低功耗電子產(chǎn)品。

2 系統(tǒng)硬件設(shè)計(jì)
2.1 DS12887的工作原理
   
DS12887采用8位地址/數(shù)據(jù)復(fù)用的總線(xiàn)方式,具有一個(gè)鎖存引腳,通過(guò)讀、寫(xiě)、鎖存信號(hào)實(shí)現(xiàn)其內(nèi)部數(shù)據(jù)的輸入輸出,控制內(nèi)部的控制寄存器、讀取內(nèi)部的時(shí)間信息寄存器。DS12887的各種寄存器在其內(nèi)部空間都有相應(yīng)的固定地址,因此,單片機(jī)通過(guò)正確的尋址和寄存器操作就可以獲取需要的時(shí)間信息。DS12887有2種工作時(shí)序,即Motorola和Intel時(shí)序,由Mot引腳的電平指定。當(dāng)MOT引腳為高電平時(shí)選擇Motorola時(shí)序;為低電平時(shí)選擇Intel時(shí)序。除此之外DS12887內(nèi)部還有128字節(jié)的RAM的單元,其中前10個(gè)字節(jié)用于存放日歷時(shí)鐘信息,字節(jié)0為秒,字節(jié)2為分,字節(jié)4為時(shí),字節(jié)6為星期,字節(jié)7為日,字節(jié)8為月,字節(jié)9為年,字節(jié)0AH~0DH用作控制和狀態(tài)寄存器,剩下的114字節(jié)為用戶(hù)RA-M,所有的這128字節(jié)都是掉電非易失性的。
2.2 DS12887與單片機(jī)的接口設(shè)計(jì)
   
單片機(jī)的P0口用作地址/數(shù)據(jù)復(fù)用總線(xiàn)與實(shí)時(shí)時(shí)鐘DS12887的AD0~AD7引腳相連。單片機(jī)的ALE引腳和DS12887的鎖存輸入引腳直接相連,用作地址鎖存,實(shí)現(xiàn)數(shù)據(jù)和地址線(xiàn)的分時(shí)復(fù)用。DS12887的MOT引腳接地,用以選擇Intel總線(xiàn)時(shí)序模式,在Intel總線(xiàn)時(shí)序模式時(shí),和51單片機(jī)的接口完全兼容,可以將其讀輸入DS、寫(xiě)輸入與單片機(jī)的相應(yīng)引腳直接連接。DS12887的RESET引腳對(duì)日歷時(shí)鐘和RAM沒(méi)有影響,但影響DS12887的命令和狀態(tài)寄存器的內(nèi)容。在電路中直接將RESET連至Vcc,這樣可以保證DS12887在進(jìn)入或退出電源失效狀態(tài)時(shí),其工作狀態(tài)不受RESET引腳的影響。DS12887的可編程輸出方波引腳SQW輸出頻率為2~256 Hz的方波,該系統(tǒng)則利用SQW引腳輸出周期為125 ms的方波作為單片機(jī)外部中斷/INT0的中斷源,實(shí)現(xiàn)周期性中斷。當(dāng)中斷發(fā)生時(shí),單片機(jī)讀一次輸入口,檢查電表是否轉(zhuǎn)過(guò)一圈,整點(diǎn)時(shí)還要采一次三相電流和電壓。
    DS12887與單片機(jī)的硬件接口電路如圖2所示。



3 系統(tǒng)軟件設(shè)計(jì)
3.1 主程序

    主程序主要包括:系統(tǒng)初始化、獲取串口數(shù)據(jù)、設(shè)置日歷時(shí)鐘芯片、獲取時(shí)鐘芯片的時(shí)間信息和時(shí)鐘校正、顯示等子程序。初始化子程序主要包括設(shè)置單片機(jī)的串口和定時(shí)器的初始化,日歷時(shí)鐘芯片初始參數(shù)和驅(qū)動(dòng)芯片的初始化等。主程序流程圖如圖3所示。


3.2 設(shè)置日歷時(shí)鐘子程序
   
在使用DS12887時(shí),首先要初始化,主要是打開(kāi)晶振、對(duì)控制寄存器A、B寫(xiě)入控制字以及對(duì)日歷、時(shí)鐘各寄存器寫(xiě)入初始值。除校時(shí)外,上電時(shí)不用再次初始化。第一次初始化時(shí),應(yīng)禁止操作DS12887內(nèi)部更新周期,即先將寄存器B的SET位置“1”,然后初始化時(shí)標(biāo)寄存器(00H~09H)和狀態(tài)寄存器A,再通過(guò)讀寄存器C清除中斷標(biāo)志,讀寄存器D將VRT位置“1”,最后將寄存器B的SET位清零,DS12887開(kāi)始計(jì)時(shí)。
    設(shè)置日歷時(shí)鐘,必須保證時(shí)鐘芯片DS12887處于設(shè)置狀態(tài),即SET=1,然后向DS12887的專(zhuān)用寄存器寫(xiě)入時(shí)間信息,寫(xiě)入完畢后,DS12887恢復(fù)正常數(shù)據(jù)更新?tīng)顟B(tài),即SET=0。在讀取日歷時(shí)鐘芯片DS12887的時(shí)鐘信息時(shí),必須保證UIP=0,然后讀取存儲(chǔ)其內(nèi)部寄存器的時(shí)鐘信息。
    為了能夠方便地顯示時(shí)間和校正時(shí)鐘,可在單片機(jī)中的用戶(hù)寄存器中開(kāi)辟特殊的時(shí)間地址單元作為顯示緩沖區(qū),分別放置“年,月,日,時(shí),分,秒”等值。此時(shí)只要將DS12887中的時(shí)間值讀入到用戶(hù)開(kāi)辟的時(shí)間地址中,用戶(hù)就可以方便控制時(shí)間。
    DS12887的日歷時(shí)鐘通過(guò)中斷和查詢(xún)2種方法讀出。但在讀數(shù)據(jù)時(shí),首先要判斷數(shù)據(jù)是否更新結(jié)束,只有在數(shù)據(jù)更新結(jié)束時(shí)數(shù)據(jù)讀出才有效。DS12887的時(shí)間讀取和時(shí)鐘校正子程序流程圖如圖4所示。



4 結(jié)束語(yǔ)
   
以日歷時(shí)鐘芯片DS12887為例,介紹了一種該器件與單片機(jī)AT89C52的簡(jiǎn)單實(shí)用的硬件接口電路,該電路設(shè)計(jì)簡(jiǎn)單可靠,性能穩(wěn)定,適用于那些對(duì)計(jì)時(shí)精度要求較高的系統(tǒng),例如在列車(chē)制動(dòng)電子控制單元中,應(yīng)用DS12887提供準(zhǔn)確的時(shí)間來(lái)保存數(shù)據(jù),并安裝在制動(dòng)控制裝置內(nèi),對(duì)列車(chē)制動(dòng)和防滑控制。記錄、捕捉故障出現(xiàn)時(shí)間及了解故障發(fā)生時(shí)間前后信號(hào)變化的情況,并通過(guò)列車(chē)總線(xiàn)將故障信息傳送給監(jiān)控裝置,以便列車(chē)司機(jī)及時(shí)地采取相應(yīng)措施,這些對(duì)保障列車(chē)安全可靠運(yùn)行有著重要意義。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉