十一,低功耗

十一,低功耗

一;低功耗主要有两种方式:

1空闲模式:系统不给CPU提供时钟,除了CPU以外一切外设正常运行。

空闲模式下外设工作正常,IO口保持进入空闲之前的正常状态。

2掉电模式:时钟全部停止震荡。由内部供应时钟的外设全部关断。

此时可以通过外部中断CCP中断、内部掉电唤醒计时器等方式唤醒。

掉电模式下RAMSFRIO都保持不变。唤醒以后会直接从进入掉电模式的下一个指令开始执行。

二;看寄存器配置

B01配置为空闲模式,B11配置为掉电模式。

三;唤醒,进入的低功耗模式,单片机会一直保持低功耗状态,通常用外中断或定时器唤醒


1,外中断唤醒,触发外中断3的按钮,单片机就被唤醒了。


2,定时器唤醒,需要配置掉电计时器,设置掉电计时器唤醒的时间。

这个掉电唤醒寄存器的速度和单片机主频没有关系;

计算公式如下:

如果32766次换算成16进制7FFE,即 WKTCL = 0X7F; WKTCH = 0XEH;

假设Fwt = 32Kmz

在初始化里配置一下就行,下面就是1秒唤醒一次,WKTCL里面写的就算计数次数。

如果想精确设置唤醒时间,需要在idata区读出实际Fwt的准确值。

获得的x就是精确的Fwt值,但是他有可能是负数,我们要使用绝对值来计算。

//if(x>>31)if(x<0)是一个意思。

x绝对值 (((x) >> 31) ? -(x) : (x)) //如果x小于0,则x= x,负负得正;如果x大于于0x=x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值