當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]DS12887是Dallas半導(dǎo)體公司推出的實(shí)時時鐘芯片,在芯片內(nèi)部集成了石英晶體、鋰電池和其他支持電路,在沒有外部供電的情況下,可以正確走時10年;可以計數(shù)時分秒、年月日和星期等信息,而且潤年補(bǔ)償?shù)?100年有效;內(nèi)部

DS12887是Dallas半導(dǎo)體公司推出的實(shí)時時鐘芯片,在芯片內(nèi)部集成了石英晶體、鋰電池和其他支持電路,在沒有外部供電的情況下,可以正確走時10年;可以計數(shù)時分秒、年月日和星期等信息,而且潤年補(bǔ)償?shù)?100年有效;內(nèi)部的鬧鐘寄存器用來保存鬧鐘時間,當(dāng)實(shí)時時間等于鬧鐘時間時,在DS12887的IRQ

引腳輸出低電平,微控制器可以利用此信號作為鬧鐘信號來處理。筆者用萬用板焊接了電路,實(shí)物圖見如圖1。下面將介紹如何使用DS12887制作這個時鐘。

芯片引腳

了解了"主角"的基本特性,再來看看它的引腳。一個芯片的引腳可以看作是跟外界"交流"的通道,了解了引腳的用法就可以知道如何跟單片機(jī)相連。芯片引腳如圖2所示,其中部分引腳命名與官方的數(shù)據(jù)手冊有所不同,原數(shù)據(jù)手冊上使用的是Motorala總線時序的命名方式,這里為了方便理解,采用Intel總線時序的命名方式,因?yàn)槲恼滤褂玫?1單片機(jī)即為Intel時序。這兩種總線時序最初分別是用在Motorala和Intel兩家公司生產(chǎn)的芯片中,有興趣的朋友可以在DS12887的數(shù)據(jù)手冊上找到更詳細(xì)的信息。引腳MOT為總線方式選擇,DS12887可以有兩種時序:當(dāng)MOT接VCC時選擇Motorala總線時序;當(dāng)MOT接地或懸空時選擇Intel總線時序。本文用AT89S52作為控制器,AT89S52作為一種典型的51單片機(jī),理所當(dāng)然使用的是Intel總線時序。

AD0~AD7是地址、數(shù)據(jù)復(fù)用線,跟標(biāo)準(zhǔn)的51單片機(jī)的P0口類似,在一個讀寫周期里的前后兩個時間段分別是作為地址線或數(shù)據(jù)線??梢灾苯舆B接到AT89S52的P0口。

ALE為地址鎖存信號,因?yàn)镈S12887數(shù)據(jù)地址線采用分時復(fù)用的形式,所以需要ALE作地址鎖存信號。在一個讀寫周期里AD0~AD7引腳上首先出現(xiàn)的信號表示地址,通過ALE的下降沿將該信號鎖存到DS12887的地址寄存器,稍后AD0~AD7引腳上出現(xiàn)的信號則表示寫入或讀出DS12887的數(shù)據(jù)。ALE可以直接連接至AT89S52的ALE引腳。

RD

———

、WR

———

是讀寫控制信號引腳,分別連接AT89S52的RD

———

(P3.7)、WR

———

(P3.6)引腳。CS

——

為片選信號,為低電平時選中芯片,可以跟AT89S52的P2.7腳相連,這樣就可以形成DS12887的讀寫基地址:0x0000。

IRQ

————

引腳為中斷輸出信號,當(dāng)DS12887產(chǎn)生中斷時,在IRQ

————

引腳輸出有效低電平,該引腳為漏極開路輸出,在外部需要加上拉電阻。復(fù)位功能在本設(shè)計中不使用,RST

————

可以直接接高電平。

片內(nèi)資源

看完了外面,進(jìn)到里面看看。DS12887內(nèi)部有10字節(jié)的時鐘(時、分、秒)、鬧鐘(時、分、秒)和日歷(年、月、日、星期)寄存器和4個控制寄存器以及114字節(jié)的通用RAM。地址分配如附表所示。在本文的設(shè)計中只使用了前面14字節(jié)的時鐘、鬧鐘、日歷和控制寄存器,其余的114字節(jié)的RAM并未使用。采用了圖3所示的電路圖后,片內(nèi)的14字節(jié)的地址分配就是從0x0000~0x000D,在程序中可以像訪問外部RAM一樣方便地讀取和寫入數(shù)據(jù)至這些地址。0x0000~0x0009是時鐘、鬧鐘和日歷寄存器,保留了時間信息等相關(guān)內(nèi)容,單片機(jī)可以通過讀取這些內(nèi)容將時間信息顯示出來。寄存器A的BIT6~BIT5控制DS12887內(nèi)部晶體振蕩器的關(guān)斷。寄存器B控制各種中斷的使能,在本文中需要將鬧鐘使能位(BIT5)打開,BIT2決定輸出的時鐘數(shù)據(jù)是十六進(jìn)制或是BCD碼,BIT1決定時間采用的格式:24小時或12小時制。寄存器C保存了中斷標(biāo)志位,若在使用多種中斷的情況下,微控制器可以通過讀取該寄存器辨別是產(chǎn)生了何種中斷,從而進(jìn)入相應(yīng)的處理程序。而在本設(shè)計中,只使用了鬧鐘中斷,當(dāng)在/IRQ引腳輸出低電平時,就可以判斷產(chǎn)生了鬧鐘時間到的中斷。但是仍需要通過讀取該寄存器以清楚中斷標(biāo)志,以免程序重復(fù)處理。寄存器D是與器件是否有效相關(guān)的寄存器,本電路無需處理該寄存器。

硬件電路

電路使用4位一體共陰極數(shù)碼管顯示時鐘、鬧鐘和日歷信息,數(shù)碼管采用CD4511作硬件譯碼,74LS06作動態(tài)選擇和驅(qū)動電路。電路圖如圖3所示。CD4511是一種用于數(shù)碼管顯示的譯碼芯片,在芯片輸入引腳(D~A)輸入4位二進(jìn)制數(shù)值,在輸出端(a~g)則譯碼輸出共陰極數(shù)碼管所需要顯示的數(shù)值,例如在CD4511的D~A這4個引腳輸入"0101"(十進(jìn)制的"5",D為最高有效位數(shù)據(jù)),則在輸出端的a~g輸出"1011011"。而且CD4511有個很有用的"消隱"功能,即當(dāng)輸入端D~A的值大于9時,輸出端a~g呈現(xiàn)高阻態(tài),從而在數(shù)碼管表現(xiàn)為7段燈都會滅掉。

74LS06包含6個非門電路,本文只需要其中4路即可。在輸入端置"1",對應(yīng)的輸出端則為"0",則選中其中一個數(shù)碼管。比如在AT89S52的P1.4輸入"1",則74LS06的4A引腳為"1",在其對應(yīng)的輸出腳4Y輸出就為"0",從而選中與s1相連的DS1數(shù)碼管。在焊接電路板時,可以將CD4511和74LS06這兩個芯片放在數(shù)碼管下方,這樣整個電路板就會小巧一些。因?yàn)閿?shù)碼管只有4位,而且必須用其中的兩位顯示一項(xiàng)時間信息,所以每次只可以顯示兩項(xiàng)時間信息,例如DS1、DS2分別顯示月份的十位、個位,DS3、DS4分別顯示日期的十位、個位。但要顯示的時間信息要多得多,所以采用"分時復(fù)用"的方法輪流顯示時和分、月和日、年和星期,在時間分配上筆者使用了下述方案:在每一分鐘中,0~9s、20~39s、50~59s的時間里顯示時鐘的時和分,在10~19s內(nèi)顯示月和日,在40~49s內(nèi)顯示年和星期,而時鐘的秒數(shù)則不作顯示處理。因?yàn)樾瞧诘淖畲髷?shù)值為7(表示星期天),可以只在個位顯示,星期分配的十位可以作"消隱"處理。設(shè)定的鬧鐘信息不是需要經(jīng)常查看的,所以不做上述的分時顯示,而是通過按下KEY4鍵查看。電路圖中的4個按鍵功能分配如下,KEY1:數(shù)值加1鍵;KEY2:數(shù)值減1鍵;KEY3:調(diào)節(jié)項(xiàng)目選擇,當(dāng)該鍵按下可以選擇不同的調(diào)節(jié)項(xiàng)目,依次為時鐘的時、時鐘的分、月份、日期、年、星期、鬧鐘的時和鬧鐘的分。KEY4:選擇顯示時間(包括時、分、月、日、年和星期)或鬧鐘。紅色的LED閃亮表示數(shù)碼管當(dāng)前顯示的是鬧鐘的時和分,綠色的LED閃亮表示當(dāng)前顯示的是時鐘的時和分;而紅色的LED閃亮和蜂鳴器發(fā)出聲音,則表示鬧鐘所定格的時間到來,發(fā)出警報提醒;當(dāng)兩個LED都不閃亮?xí)r表示顯示的為日歷信息,即月、日、年和星期,可以通過DS3是否顯示數(shù)據(jù)區(qū)分出顯示的是月、日還是年、星期。

軟件設(shè)計

筆者使用的編譯環(huán)境為Keil編譯軟件,采用C51編程語言。整個程序由幾個模塊構(gòu)成,文件mmi.c中包括一些人機(jī)交互處理的函數(shù),比如讀取按鍵、在數(shù)碼管上顯示時間信息、LED和蜂鳴器的發(fā)聲處理等;文件ds12887.c中包括讀寫和初始化DS12887的函數(shù);文件my52.c中包含延時函數(shù);在文件main.c中則調(diào)用這些模塊中的函數(shù)進(jìn)行綜合處理,主函數(shù)的程序流程圖如圖4所示。各個xxx.h文件中則是相應(yīng)的xxx.c文件中的函數(shù)聲明、全局變量聲明等.

更多資訊請關(guān)注:21ic模擬頻道

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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