機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
EM78P447 WDT wakeup 的設(shè)定與使用
EM78P447 WDT wakeup 的設(shè)定與使用
 更新時間:2008-7-26 20:11:07  點(diǎn)擊數(shù):2
【字體: 字體顏色
 

一、WDT相關(guān)寄存器的設(shè)置
            1.1 WDT喚醒IC in sleep2
            1、 設(shè)定CONT寄存器中的bit3(PAB)位,確定是否使用預(yù)分頻器;
            7 6 5 4 3 2 1 0
            /PHEN /INT TS TE PAB PSR2 PSR1 PSR0

            2、 設(shè)定預(yù)分頻系數(shù),即設(shè)定CONT寄存器的PSR2、PSR1、PSR0位;
            3、 如果使能WDT喚醒,建議客戶P6,P74-P75口輸入喚醒禁止。
              
            原因:WDT喚醒和P6,P74-P75口輸入喚醒同時使能,當(dāng)同時喚醒時,IC會優(yōu)先reset,而不去執(zhí)行P6,P74-P75口輸入喚醒后的程式,故如果使能WDT喚醒,建議客戶P6,P74-P75口輸入喚醒禁止
            7 6 5 4 3 2 1 0
            /WUE7 /WUE6 /WUE5 /WUE4 /WUE3 /WUE2 /WUE1 /WUE0
            Bit0-bit7: 使能PORT6.1-PORT6.7引腳喚醒功能的控制位;
                    0: 使能內(nèi)部喚醒; 1: 禁止內(nèi)部喚醒
            4、 WDTC,使能看門狗定時器(WDT),將IOCE寄存器bit5與bit1置1
            7 6 5 4 3 2 1 0
            - ODE WDTE SLPC ROC - - /WUE
            Bit0: 使能P74、P75引腳喚醒功能。
               0: 使能喚醒功能;1: 禁止喚醒功能。
            Bit4:
            該位由喚醒信號低電平引起硬件觸發(fā)置1,有軟件清0,SLEP用于控制振蕩器的工作。在SLPC位從1變成0時,振蕩器被禁止(單片機(jī)進(jìn)入睡眠模式2),在SLPC位從0變成1,振蕩器使能(單片機(jī)由休眠模式喚醒)。
            Bit5: 看門狗使能控制位
               0: 禁止WDT;1: 使能WDT
            5、 使IOCE寄存器SLPC位由1到0,進(jìn)入SLEEP2

            1.2 WDT喚醒IC in sleep1
            1、 設(shè)定CONT寄存器中的bit3(PAB)位,確定是否使用預(yù)分頻器
            2、 設(shè)定預(yù)分頻系數(shù),即設(shè)定CONT寄存器的PSR2、PSR1、PSR0位;
            3、 WDTC,使能看門狗定時器(WDT),將IOCE寄存器bit5置1
            4、 下指令SLEP

            二、WDT喚醒時間計算
            1. SETUP TIME:19.6ms±30%(vdd==3v)
                注:當(dāng)vdd電壓變化時SET TIME會相應(yīng)變化
            2. WDT的喚醒時間
            CRYSTAL MODE RC MODE
            WDT的喚醒時間                Setup time*prescaler+ setup time
            3. 上表中setuptime*prescaler的時間
            對CONT寄存器的后4位
            當(dāng)PAB==0,setuptime*prescaler== setuptime
            當(dāng)PAB==1,setuptime*prescaler== NUM*setuptime
            NUM PS2 PS1 PS0
            1 0 0 0
            2 0 0 1
            4 0 1 0
            8 0 1 1
            16 1 0 0
            32 1 0 1
            64 1 1 0
            128 1 1 1


            三、應(yīng)用舉例
            以下代碼是實現(xiàn)用WDT喚醒EM78P447S的Demo
            Code,Port6.1端口輸出脈沖,可用來測量睡眠時間,也可接LED燈來進(jìn)行觀測。
            3.A WDT喚醒IC in sleep2
            Port6    ==      0x06           ; port6端口
            IOCB     ==      0x0B           ; Port6端口喚醒控制器
            IOCE0    ==      0x0E           ; WDT控制寄存器
            Wdt_buf  ==      0x20           ; 延時緩沖器
                     Num     ==      1
            ;----------------------------MAIN
            PROGRAM------------------------------;
                    ORG     0XFFF
                    JMP     Wdt_Start
                    ORG     0x10
            ;----------------------------------------------------------------------;
            Wdt_Delay:
                    MOV     Wdt_buf, A
            Wdt_Delay_Loop:
                    DJZ     Wdt_buf
                    JMP     Wdt_Delay_Loop
                    RET
            ;----------------------------------------------------------------------;
            Wdt_Start:
                    MOV     A, @0b00000000
                    IOW     PORT6
                    BS      PORT6, num
                    MOV     A, @255
                    CALL    Wdt_Delay
                    BC      PORT6, num
            ;----------------------------------------------------------------------;
                    CONTR
                    AND     A, @0b11110000  ; 保留不需要設(shè)置的狀態(tài)位
                    OR      A, @0b00001011  ; 把分頻器分配給WDT,預(yù)除數(shù)設(shè)為16
                    CONTW
                   
                    MOV     A, @0xFF        ; 禁止Port6內(nèi)部喚醒功能
                    IOW     IOCB
                    WDTC
                    MOV     A, @0b00110001  ; 打開看門狗
                    IOW     IOCE            ; 禁止P74、P75引腳喚醒功能

                    IOR     IOCE
                    AND     A, @0b11101111  ; 進(jìn)入SLEEP2
                    IOW     IOCE
                    NOP
            LOOP:
                    NOP
                    JMP     LOOP
                    END

               3.B WDT喚醒IC in sleep1
            Port6    ==      0x06           ; port6端口
            IOCB     ==      0x0B           ; Port6端口喚醒控制器
            IOCE0    ==      0x0E           ; WDT控制寄存器
            Wdt_buf  ==      0x20           ; 延時緩沖器
                     Num     ==      1
            ;----------------------------MAIN
            PROGRAM------------------------------;
                    ORG     0XFFF
                    JMP     Wdt_Start
                    ORG     0x10
            ;----------------------------------------------------------------------;
            Wdt_Delay:
                    MOV     Wdt_buf, A
            Wdt_Delay_Loop:
                    DJZ     Wdt_buf
                    JMP     Wdt_Delay_Loop
                    RET
            ;----------------------------------------------------------------------;
            Wdt_Start:
                    MOV     A, @0b00000000
                    IOW     PORT6
                    BS      PORT6, num
                    MOV     A, @255
                    CALL    Wdt_Delay
                    BC      PORT6, num
            ;----------------------------------------------------------------------;
                    CONTR
                    AND     A, @0b11110000  ; 保留不需要設(shè)置的狀態(tài)位
                    OR      A, @0b00001011  ; 把分頻器分配給WDT,預(yù)除數(shù)設(shè)為16
                    CONTW
                    WDTC
                    MOV     A, @0b00110001  ; 打開看門狗,
                    IOW     IOCE           

                    SLEP
                    NOP
            LOOP:
                    NOP
                    JMP     LOOP
                    END

  • 上一篇: EM78P451S WDT wakeup 的設(shè)定與使用
  • 下一篇: EM78P257 WDT wakeup 的設(shè)定與使用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1