• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    最新廣告
    關注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
    工業(yè)智能邊緣計算2025年會
    CAIAC 2025
    2025工業(yè)安全大會
    OICT公益講堂
    當前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    基于HYM856的80C51系列單片機低功耗系統(tǒng)設計
    • 企業(yè):控制網(wǎng)     行業(yè):輸配電    
    • 點擊數(shù):2952     發(fā)布時間:2005-07-19 17:00:27
    • 分享到:
    本文利用I2C實時時鐘芯片HYM8563產(chǎn)生的多種中斷方式,喚醒進入掉電狀態(tài)的89C51系列單片機,構建了一個低功耗的單片機系統(tǒng)。



    1、引言

        目前,單片機的應用已經(jīng)遍及幾乎所有的領域。在單片機應用中,在許多特殊場合,如野外、無人值守的監(jiān)測站、井下、空中等,單片機系統(tǒng)往往只能采用電池供電。因此,如何最大限度地降低系統(tǒng)的功耗成了人們十分關注的問題。在多數(shù)情況下,單片機并不需要連續(xù)工作,往往有一定的時間間隔。例如定時采樣系統(tǒng)及監(jiān)視系統(tǒng)等,其時間間隔有時長達數(shù)分鐘到數(shù)天。在這些單片機系統(tǒng)中,由于要進行一些與時間有關的控制,若使用單片機進行計時,則天長日久會引起較大的誤差。因此,筆者采用I2C實時時鐘芯片HYM8563與89C51構成低功耗系統(tǒng)。

    2、實時時鐘HYM8563

        HYM8563[1]是一款由武漢昊昱微電子有限公司生產(chǎn)的低功耗CMOS串行I2C實時時鐘/日歷芯片,圖1為其內(nèi)部結構方框圖,圖2為其管腳圖,表1為各管腳功能。




    圖1內(nèi)部結構方框圖


    管腳序號 符號 功能描述 管腳序號 符號 功能描述
    1 OSCI 振蕩器輸入 5 SDA 串行數(shù)據(jù)I/O
    2 OSC0 振蕩器輸出 6 SCL 串行時鐘輸入
    3   中斷輸出(開漏) 7 CLKOUT 時鐘輸入(開漏)
    4 Vss 地 8 VDD 正電源

       

    圖2管腳配置          圖3 HYM8563典型應用電路圖

       

    表1 管腳功能


       
    HYM8563提供可編程的時鐘輸出、定時器、報警器、中斷輸出和掉電檢測器,所有的地址和數(shù)據(jù)都通過I2C總線接口串行傳遞。最大總線速度為 400Kbits/s,工作電壓范圍寬:1.0~5.5V,低休眠電流:典型值為 0.25μA。由于HYM8563的中斷輸出及時鐘輸出均為開漏輸出,所以要外接上拉電阻。圖3為HYM8563的典型應用電路圖。
        HYM8563內(nèi)部有16個可尋址的8位并行寄存器(參見表1),前兩個寄存器用作控制寄存器和狀態(tài)寄存器,02H~08H用于時鐘計數(shù)器(秒到年計數(shù)器),09H~0CH用于報警寄存器(定義報警條件),0DH用于控制CLKOUT管腳的輸出頻率,0EH和0FH分別用作定時器控制寄存器和定時器寄存器。秒、分鐘、小時、日、月、年、分鐘報警、小時報警、日報警寄存器的編碼格式為 BCD 碼,星期和星期報警寄存器不以BCD格式編碼。
        0FH為倒計數(shù)定時器寄存器,受定時器控制寄存器(0EH)控制,TD1、TD0用于設定定時器的頻率(4096Hz,64Hz,1Hz或1/60Hz),這樣可以設定不同時間間隔的定時值。TE可設定定時器開或關。當?shù)褂嫈?shù)值計為0時TF位置1。
    TIE=1為定時中斷允許控制位,TI/TP=0為中斷信號低電平/脈沖方式選擇。
        HYM8563共有四種報警方式分別為小時報警(每小時的同一分鐘時刻報警)、日報警(每天的同一小時時刻報警)、月報警(每月的同一天時刻報警)和星期報警(每星期的同一天時刻報警)。HYM8563可在一個或多個報警寄存器寫入合法的分鐘、小時、日或星期數(shù)值并將它們相應的AE(Alarm Enable)位置0,當這些數(shù)值與當前的分鐘、小時、日或星期數(shù)值相等,發(fā)生報警,標志位AF被置1。
        若要使HYM8563每隔一定時間產(chǎn)生一次中斷,則可使用定時器。置TE=0,在0EH中設定定時器的頻率,在0FH中置入定時間隔。同時還要設定TIE=1,TI/TP=0,這樣,當報警器報警(或定時器倒計數(shù)結束)時,將設置中斷申請標志位AF(或TF),并在腳產(chǎn)生一個低電平作為中斷信號。中斷申請標志位AF和TF只能用軟件清除。當讀定時器時,返回當前倒計數(shù)的數(shù)值。
    表2 HYM8563內(nèi)部寄存器


        HYM8563 采用的是串行I2C總線接口,通過兩條線SDA和SCL在不同的芯片和模塊間傳遞信息。SDA為串行數(shù)據(jù)線,SCL為串行時鐘線,兩條線必須用一個上拉電阻與正電源相連。數(shù)據(jù)只在總線不忙時才可傳送。有關HYM8563的詳細資料和與89C52之間的I2C通信程序詳見該公司網(wǎng)站。


    3、單片機控制電路

        圖4為系統(tǒng)電路圖。單片機可選用低損耗、高性能、CMOS八位微處理器80C31系列(圖中以AT89C52為例)。HYM8563的SDA和SCL與80C31的2個引腳連接,通過編程進行I2C通信。R1、R2、R3為上拉電阻,S1為手動復位開關,S2為允許喚醒單片機的按鍵。如有多個被允許的喚醒按鍵,可用多輸入端與門相與。HYM8563的腳與允許的喚醒按鍵相與后連接到IC3A。IC3A(74LS123)為單穩(wěn)態(tài)觸發(fā)器,只要A腳有一低電平信號(邊沿觸發(fā))輸入,就會在Q端產(chǎn)生一高電平輸出,高電平的寬度由R6和C4決定。當喚醒按鍵按下時,或者HYM8563的的警報器、定時器引起腳產(chǎn)生低電平時,都會在IC4A的輸出端產(chǎn)生低電平。該低電平觸發(fā)IC3A產(chǎn)生具有一定寬度的高電平,最終引起單片機復位,喚醒進入掉電的單片機。



    圖4 系統(tǒng)電路圖


    4、軟件部分的設計 

      圖5是主程序框圖。由于單片機復位時,其電源引腳的電壓仍然保持不變,故單片機的片內(nèi)RAM的內(nèi)容不會丟失。因此我們可以通過軟件置片內(nèi)某一RAM(如30H)為某一特定值來區(qū)分是電源第一次通電時的啟動復位還是由HYM8563和喚醒按鍵引起的復位。若是由HYM8563中的報警器報警或定時器定時時間到引起的復位,我們可以通過訪問HYM8563中01H,判斷AF或TF是否為1來判斷是何種原因引起的中斷,并進行相應的處理。另外,一般按鍵時間都比較長,故在單片機在復位后仍可通過掃描鍵盤來判斷是否有喚醒按鍵按下并進行鍵處理。之后必須置HYM8563的AF或TF為0,TI/P=0,并設置選用報警器或定時器及相關值,以便HYM8563進行下次中斷。程序在處理完有關程序后,就進入掉電狀態(tài),等待下一次復位。




    5、結論:

        以上介紹了應用實時時鐘芯片HYM8563構成低功耗單片機應用系統(tǒng)的方法,HYM8563只占用了單片機的2根引腳,其他引腳可以根據(jù)實際的需要在系統(tǒng)中擴展接口電路。這種系統(tǒng)的節(jié)電效果與掉電時間的長短有關,時間越長,效果越顯著。

    熱點新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細的需求:
    姓名:
    單位:
    電話:
    郵件: