您当前的位置:五五电子网电子知识单片机-工控设备义隆单片机EM78P447 WDT wakeup 的设定与使用 正文
EM78P447 WDT wakeup 的设定与使用

EM78P447 WDT wakeup 的设定与使用

点击数:7489 次   录入时间:03-04 11:49:50   整理:http://www.55dianzi.com   义隆单片机
 

一、WDT相关寄存器的设置
            1.1 WDT唤醒IC in sleep2
            1、 设定CONT寄存器中的bit3(PAB)位,确定是否使用预分频器;
            7 6 5 4 3 2 1 0
            /PHEN /INT TS TE PAB PSR2 PSR1 PSR0

            2、 设定预分频系数,即设定CONT寄存器的PSR2、PSR1、PSR0位;
            3、 如果使能WDT唤醒,建议客户P6,P74-P75口输入唤醒禁止。
              
            原因:WDT唤醒和P6,P74-P75口输入唤醒同时使能,当同时唤醒时,IC会优先reset,而不去执行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: 使能内部唤醒; 1: 禁止内部唤醒
            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:
            该位由唤醒信号低电平引起硬件触发置1,有软件清0,SLEP用于控制振荡器的工作。在SLPC位从1变成0时,振荡器被禁止( 单片机 进入睡眠模式2),在SLPC位从0变成1,振荡器使能( 单片机 由休眠模式唤醒)。
            Bit5: 看门狗使能控制位
               0: 禁止WDT;1: 使能WDT
            5、 使IOCE寄存器SLPC位由1到0,进入SLEEP2

            1.2 WDT唤醒IC in sleep1
            1、 设定CONT寄存器中的bit3(PAB)位,确定是否使用预分频器
            2、 设定预分频系数,即设定CONT寄存器的PSR2、PSR1、PSR0位;
            3、 WDTC,使能看门狗定时器(WDT),将IOCE寄存器bit5置1
            4、 下指令SLEP

            二、WDT唤醒时间计算
            1. SETUP TIME:19.6ms±30%(vdd==3v)
                注:当vdd电压变化时SET TIME会相应变化
            2. WDT的唤醒时间
            Crystal MODE RC MODE
            WDT的唤醒时间                Setup time*prescaler+ setup time
            3. 上表中setuptime*prescaler的时间
            对CONT寄存器的后4位
            当PAB==0,setuptime*prescaler== setuptime
            当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


            三、 应用 举例
            以下代码是实现用WDT唤醒EM78P447S的Demo
            Code,Port6.1端口输出脉冲,可用来测量睡眠时间,也可接LED灯来进行观测。
            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

[1] [2] [3]  下一页


本文关键字:暂无联系方式义隆单片机单片机-工控设备 - 义隆单片机