用DS12887製作無電源仍可走時的時鐘

2021-01-19 電子產品世界

乍一看題目讀者可能會納悶,這是什麼奇怪的東西,不用電源還可以工作?其實筆者只是在這裡賣了個關子,說的是不用外加電源也可以正常走時,並不是說整個電路工作時不需要供電。也就是說不使用時這個時鐘不需要供電,在你加上電源之後就可以顯示時間,並且仍然是正確的。就好像有些手機關閉之後又取下電板,等你下次開機的時候它又能顯示正確的時間。其實這些手機裡面都是有後備電池的,就是做時鐘那一小塊電路有後備電池供著電的。要是後備電池沒有了電,取下電板後問題就來了,這也是為什麼有些用久了的手機取下電板再裝上,時間就不對了的緣故。但是本文說的這個時鐘不需要外加後備電池,那它是怎麼做到這一點的呢?請聽我慢慢道來。

本文引用地址:

http://www.eepw.com.cn/article/177437.htm

先了解一下主角的基本特性吧。DS12887是Dallas半導體公司推出的實時時鐘晶片,在晶片內部集成了石英晶體、鋰電池和其他支持電路,在沒有外部供電的情況下,可以正確走時10年;可以計數時分秒、年月日和星期等信息,而且潤年補償到2100年有效;內部的鬧鐘寄存器用來保存鬧鐘時間,當實時時間等於鬧鐘時間時,在DS12887的IRQ(————)引腳輸出低電平,微控制器可以利用此信號作為鬧鐘信號來處理。筆者用萬用板焊接了電路,實物圖見如圖1。下面將介紹如何使用DS12887製作這個時鐘。

晶片引腳

了解了主角的基本特性,再來看看它的引腳。一個晶片的引腳可以看作是跟外界交流的通道,了解了引腳的用法就可以知道如何跟單片機相連。晶片引腳如圖2所示,其中部分引腳命名與官方的數據手冊有所不同,原數據手冊上使用的是Motorala總線時序的命名方式,這裡為了方便理解,採用Intel總線時序的命名方式,因為文章所使用的51單片機即為Intel時序。這兩種總線時序最初分別是用在Motorala和Intel兩家公司生產的晶片中,有興趣的朋友可以在DS12887的數據手冊上找到更詳細的信息。引腳MOT為總線方式選擇,DS12887可以有兩種時序:當MOT接VCC時選擇Motorala總線時序;當MOT接地或懸空時選擇Intel總線時序。本文用AT89S52作為控制器,AT89S52作為一種典型的51單片機,理所當然使用的是Intel總線時序。

AD0~AD7是地址、數據復用線,跟標準的51單片機的P0口類似,在一個讀寫周期裡的前後兩個時間段分別是作為地址線或數據線。可以直接連接到AT89S52的P0口。

ALE為地址鎖存信號,因為DS12887數據地址線採用分時復用的形式,所以需要ALE作地址鎖存信號。在一個讀寫周期裡AD0~AD7引腳上首先出現的信號表示地址,通過ALE的下降沿將該信號鎖存到DS12887的地址寄存器,稍後AD0~AD7引腳上出現的信號則表示寫入或讀出DS12887的數據。ALE可以直接連接至AT89S52的ALE引腳。

RD(———)、WR(———)是讀寫控制信號引腳,分別連接AT89S52的RD(———)(P3.7)、WR(———)(P3.6)引腳。CS(——)為片選信號,為低電平時選中晶片,可以跟AT89S52的P2.7腳相連,這樣就可以形成DS12887的讀寫基地址:0x0000。

IRQ(————)引腳為中斷輸出信號,當DS12887產生中斷時,在IRQ(————)引腳輸出有效低電平,該引腳為漏極開路輸出,在外部需要加上拉電阻。復位功能在本設計中不使用,RST(————)可以直接接高電平。

片內資源

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

硬體電路

電路使用4位一體共陰極數碼管顯示時鐘、鬧鐘和日曆信息,數碼管採用CD4511作硬體解碼,74LS06作動態選擇和驅動電路。電路圖如圖3所示。CD4511是一種用於數碼管顯示的解碼晶片,在晶片輸入引腳(D~A)輸入4位二進位數值,在輸出端(a~g)則解碼輸出共陰極數碼管所需要顯示的數值,例如在CD4511的D~A這4個引腳輸入0101(十進位的5,D為最高有效位數據),則在輸出端的a~g輸出1011011。而且CD4511有個很有用的消隱功能,即當輸入端D~A的值大於9時,輸出端a~g呈現高阻態,從而在數碼管表現為7段燈都會滅掉。

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

軟體設計

筆者使用的編譯環境為Keil編譯軟體,採用C51程式語言。整個程序由幾個模塊構成,文件mmi.c中包括一些人機互動處理的函數,比如讀取按鍵、在數碼管上顯示時間信息、LED和蜂鳴器的發聲處理等;文件ds12887.c中包括讀寫和初始化DS12887的函數;文件my52.c中包含延時函數;在文件main.c中則調用這些模塊中的函數進行綜合處理,主函數的程序流程圖如圖4所示。各個xxx.h文件中則是相應的xxx.c文件中的函數聲明、全局變量聲明等

相關焦點

  • 用廢棄光碟做個性時鐘——趣味DIY製作小課堂
    時鐘相信大家都不陌生,家裡的小朋友有沒有想拆卸看看內部什麼構造呢,它是怎麼工作的呢?今天我們的趣味DIY製作小課堂主題是用廢棄光碟做個性時鐘,一起來試試吧!我製作了4個版本,其中2個帶有列印背景,1個帶有繪製背景,另外1個只是普通的列印。到底是什麼分層?嗯,那就是使用另一張CD或其他材料(紙板,塑料,金屬等)來製作覆蓋件,由另一張CD和一個皮卡丘頭像在硬紙板上製成,這將位於CD的頂部。
  • 高精度時鐘晶片有哪些?(四款高精度時鐘晶片介紹)
    時鐘晶片的接口較為簡單,而且可以與多種軟體連接,並且可以通過軟體進行功能屏蔽,實現對其性能的測試。 高精度時鐘晶片——ds3231 DS3231是低成本、高精度I2C實時時鐘(RTC),具有集成的溫補晶振(TCXO)和晶體。該器件包含電池輸入端,斷開主電源時仍可保持精確的計時。
  • 超級電容(法拉電容)和實時時鐘
    涓流充電時鐘晶片是一個可編程3線串行接口時鐘晶片,可用超級電容或可充電電池備份系統的時間和日期,還提供31位元組的非易失SRAM用於數據存儲。由DS1302和超級電容構成的電源備份電路,DS1302的VCC2接主電源,VCC1接超級電容正極。
  • STM32之RTC實時時鐘
    (RTC外設的複雜之處不在於它的定時,而在於它掉電還可以繼續運行的特性) 所謂掉電,是指電源Vpp斷開的情況下,為了RTC外設掉電可以繼續運行,必須給STM32晶片通過VBAT引腳街上鋰電池.當主電源VDD有效時,由VDD給RTC外設供電.當VDD掉電後,由VBAT給RTC外設供電.無論由什麼電源供電,RTC中的數據始終都保存在屬於RTC的備份域中,如果主電源和VBA都掉電,那麼備份域中保存的所有數據都將丟失
  • 電源供電以及電機驅動原理與電路分析
    當I/O輸出高電平時,+5V電源經排阻與IN1~4相連,相當於為I/O提供一個額外的電流輸出源,從而提高驅動能力。當I/O輸出低電平時,可將I/O近似看做接地,而IN1~4因與I/O由導線直接相連,因此直接接受了I/O的低電平輸出信號。
  • 移動DIY:無線充電移動電源的製作方法
    打開APP 移動DIY:無線充電移動電源的製作方法 佚名 發表於 2014-07-14 11:20:16   教你怎麼把移動電源的製作為無線充電移動電源方法
  • 單片機系統中日曆時鐘自動校準及調整
    但日曆時鐘時常跑快跑慢的缺陷不可避免。經過日積月累,就會產生較大的誤差,這會影響控制與檢測的準確性。為了解決日曆時鐘的準確度問題,我們設計了能夠自動校準和調整運行速度的日曆時鐘。它在每天的12:00和00:00都會自動校準一次,並根據12個小時運行的誤差大小自動調整時鐘的運行速度。可使時鐘運行的準確度相當高。
  • 【每日推薦】電源技術全解,工程師都是這樣提升的!
    發表於 2020-09-23 11:44:07 如何在有電和無電的情況下啟用USB-C電源交換
  • 德州儀器推出超低噪聲底限及附加抖動時鐘緩衝器
    (TI) 宣布推出 2 款最新通用時鐘緩衝器系列,進一步壯大其高性能時鐘緩衝器產品陣營。CDCLVC1310 LVCMOS 時鐘緩衝器可在晶振模式下實現 –169 dBc/Hz 的業界領先相位噪聲底限。LMK00101/105 支持高靈活輸出電壓電平配置,可對該系列實現有力補充。LMK00301/04/06/08 差分端系列支持 51 飛秒 (fs) 超低附加抖動。
  • 板載電源設計的一些規範總結
    LDO  1、在壓差較大或者電流較大的降壓電源設計中,建議採用開關電源,避免使用 LDO  採用線性電源(包括 LDO)可以得到較低的噪聲,而且因為使用簡單,成本低,所以在單板上應用較多。FPGA 內核電源、某些電路板上射頻時鐘部分的電源等都使用線性電源從更高電壓的電源上調整得到。線性電源的基本原理如圖所示。
  • 安徽京準NTP數字網絡時鐘系統
    1、系統概述:安徽京準數字子母鍾系統主要為醫院提供準確、標準的時間,系統採用GPS與北鬥衛星導航定位系統中的時標信號作為標準時間源對母鐘的時鐘信號源進行校準,向醫療場所的時鐘及區域網內的計算機提供準確的時鐘信號,監視所有時鐘的工作狀態,從而使網絡和每個有安裝該子鐘的位置均能顯示與衛星時間信號保持一致的北京時間
  • 電腦電源壞了怎麼修?電腦電源常見故障
    此故障制定方法為:將電源從主機中拆下,接好主機電源交流輸入線,用萬用表測量電源輸出到主板的20芯插頭中的紫色線(+5VSB)的電壓,如無輸出電壓則說明+5VSB線路已損壞,需更換電源。對有些帶有待機指示燈的主板,無萬用表時,也可以用指示燈是否亮來判斷+5VSB是否有輸出。此種故障顯示電源內部有器件損壞,保險很可能已熔斷。
  • 戶外電源唯大不破:百克龍S1500移動電源
    戶外人都明白戶外電源唯純正弦波不買輸出與電網一致或更優的高質量交流電技術和成本高,但對負載無傷害屬於電源中的戰鬥機百克龍S1500純正弦波戶外移動電源尺寸352×187×260mm,重量11.6Kg,用料實誠有點重PC+ABS外殼,無稜角不傷人,粗壯把手提拿方便稱得上高端大氣上檔次配件包重實用,各種附件一起拿,可背可提更方便整齊劃一不再丟三落四
  • 一種高性能Pierce時鐘晶體振蕩器電路設計
    目前所用的時鐘晶片大都採用32.768 kHz晶振,為系統提供穩定的32.768 kHz初始振蕩頻率。但晶體振蕩屬於機械諧振,其需要合理的設計諧振電路與晶體配合。Pierce晶體振蕩器其結構簡單,便於集成,故得到了廣泛應用。小型化、低功耗、高精度始終是此類晶片的發展研究方向。但傳統的Pierce電路結構存在輸出振幅受電源電壓變化影響、功耗偏大、且輸出頻率受寄生效應影響等缺點。
  • 巖石時鐘設計,時與石的對話,每一條傷痕都是大地賦予它的淬鍊.
    可依據空間風格選擇合適的款式。為了讓板巖成為可加工成鐘的石材,克服了以下數點困難:不放過任何小細節巖石鐘製作需要多道程序每一個步驟都不可馬虎木工師傅必須配合我們嚴格的品管要求才能製作出成品交到每個人手上
  • 開關電源輸出紋波很大是什麼原因及解決方法
    目前,解決開關電源紋波的方法有若干種,各有其優缺點,由於輸出電流是10 A的大電流,一般的方法不能適用。   紋波是工頻引起的,減小紋波,作用很大的方法:   1.,輸出用π型電路,就是一個電容,一個電感,再一個電容的方式。   2。輸出電容一定要用高頻低阻,甚至用固態電容,   這兩點是最有效果的方法。
  • PDU電源插座可不是普通插座,別用錯了!
    #今日科技要聞#PDU電源插座可不是普通插座,別用錯了!當下維持工業項目正常運行就離不開電源的持續供給,不僅如此PDU電源插座也是持續供電重要保障。所以每一條PDU電源插座在面世的時候都要經過嚴格的篩查。
  • 北鬥GPS雙模NTP時間伺服器如何對接同步時鐘系統
    一、GPS北鬥時間伺服器組網方式介紹1、同步時鐘系統中電子鐘可通過連接「區域網時間伺服器」、「網際網路時間伺服器」自動校時,多用於醫院、車站、行政單位。2、「TCP/IP轉RS485組網」、「RS485總線組網」可大大降低硬體成本,適用於電子時鐘分布密集的場所,如:學校、實驗室、製藥廠區、工業場所。3、「無線RF433組網」通過訊鵬時間伺服器對無線距離範圍內電子鐘同步廣播時鐘信號,實現同步校正。減少系統施工布線的煩惱。
  • 低功耗時鐘晶片RX8111CE和RX4111CE的特徵和應用
    近年來,在電子設備集約化、小型化不斷加速的背景之下,驅動著市場要求RTC時鐘晶片具備高精度、小型化及低功耗的特性。愛普生實時時鐘模塊( RTC )相對於晶片內置RTC的產品由於具有獨立供電,所以設備總體斷電時也能保持計時模塊持續工作,具有更好的穩定性,節能效果更加突出。可以替換美國Dallas達拉斯的相關時鐘晶片。
  • 同步時鐘系統在弱電智能化的應用
    打開APP 同步時鐘系統在弱電智能化的應用 由時頻時鐘發燒友 發表於 2020-05-25 15:23:59 時鐘也就是常見的顯示時間屏,其直觀顯示時間信息的方式,而網絡時鐘就是指通過網絡方式走NTP的協議來進行時間同步的時鐘。