STC8 单片机低功耗延时方法
STC8 单片机低功耗延时方法
单片机延时通常方法就是跑while循环,但在低功耗要求下可以利用定时唤醒方式使MCU在延时期间睡眠,降低功耗。以STC8G1K08为例:
寄存器
WKTCH^8为使能,其余15位用于控制唤醒时间。并且在唤醒后系统会继续从掉电语句的下一句执行。
进入PD模式即可
延时计算
按照公式推导即可,支持1ms~16s单次延时
代码示例
//主频 32KHz
//延时cnt*1 ms
void Delayms_PD(unsigned int cnt)
{do{WKTCH = 0x80;WKTCL = 0x01;PCON |= PD;WKTCH = 0;WKTCL = 0;} while(--cnt);
}
//延时cnt*100 ms
void Delay100ms_PD(unsigned int cnt)
{do{WKTCH = 0x80;WKTCL = 0xcc;PCON |= PD;WKTCH = 0;WKTCL = 0;} while(--cnt);
}
简单测试
- 利用串口以0.5s间隔发送和万用表简单测试了一下STC8G1K08的效果,正常工作电流约2.7mA,PD延时后电流约0.25mA,尤其对于低功耗要求高的场合,还可以将PD延时放入主循环中。
- 但在中断方式下的串口接收测试中,该方法可能导致数据错误和丢失的情况,要么禁止中断响应改为查询方式,要么避免通讯中断与PD延时同时发生的情况。同样,为了避免频繁唤醒,在PD模式的出/入口应及时开/关中断响应。
STC8 单片机低功耗延时方法相关推荐
- c语言程序 5ms 延时,计算机单片机延时方法电脑c语言.docx
计算机单片机延时方法电脑C 语言 您需要登录后才可以回帖登录| 注册发布 单片机是一种集成电路芯片,是采用超大规模集成电路技术把 具有数据处理能力的中央处理器CPU.随机存储器RAM.只读存储器 RO ...
- 单片机的延时与中断问题及解决方法
延时与中断出错,是单片机新手在单片机开发应用过程中,经常会遇到的问题,本文汇总整理了包含了MCS-51系列单片机.MSP430单片机.C51单片机.8051F的单片机.avr单片机.STC89C52. ...
- STM8单片机低功耗---停机(Halt)模式实现
在上一篇文章 STM8单片机低功耗-等待(Wait)模式实现 中介绍了低功耗模式中的等待(Wait)模式代码实现方法,这篇文章就来演示一下 停机(Halt)模式的代码实现. 停机(Halt) ...
- 关于stm32单片机低功耗的实现和唤醒
关于stm32单片机低功耗的实现和唤醒 - 沙河淘金 - 博客园 关于stm32单片机低功耗的实现和唤醒 最近做的项目中要求低功耗,在单片机完成了手头上的工作之后,就进入低功耗模式,项目的需求是单片机 ...
- STM8单片机低功耗---活跃停机(Active Halt)模式实现-3
在上一篇文章中使用活跃停机模式实现单片机的定时自动唤醒功能.STM8单片机低功耗-活跃停机(Active Halt)模式实现-2 通过这个实验可以看出,自动唤醒功能和定时器定时功能很类似,那么能不 ...
- STM8单片机低功耗---等待(Wait)模式实现
在平时使用单片机的时候,一般不太关心功耗的问题.但是当产品需要使用电池供电的话,那么功耗问题就要必须重视起来.那么如何降低单片机的功耗呢?STM8官方资料上给我们提供了以下几点建议: 如果项目 ...
- STC8单片机ADC采样注意事项
STC8单片机ADC采样注意事项 STC8单片机ADC采样注意事项 最近在做一个模块,使用宏晶公司的STC8单片机开发,模块主要使用了单片机的ADC采样功能,因为需要10个以上的通道,而且模块要经常震 ...
- 单片机软件延时的时间计算
点亮LED以后,如果我们想实现LED间隔性的亮灭,我们又该怎么办呢?这里我们就需要使用单片机进行延时.延时的方法有两种,一个是使用软件延时,这个不精确,但能满足简单的需要:二是使用单片机内部的定时器, ...
- keil c语言 延迟程序,Keil C51程序设计中几种精确延时方法
前几天时间在做一个基于51单片机开发板的等精度频率计,用LCD1602液晶显示的,晶振是22.1184MHZ,用得是测频率法,目的是想做到能够测试0--900KHZ的信号. 液晶显示部分花了我好几天才 ...
最新文章
- MySQL——MySQL的数据查询功能
- CLOSE_WAIT?项目上线之际遇到这样的烦心事
- JS replace 回调
- 文献记录(part59)--多任务学习
- 【HDU - 5468】Puzzled Elena(容斥原理,dfs序,数学,素因子分解,有坑)
- 合格架构师的目标管理
- 在X++中使用IoC/DI模式应对不断变化的客户需求
- java 声波 噪音过滤_攻略||让噪音一边去的隔音材料全解析!
- NAnt 与 MS Build
- Linux命令--- /dev/null和/dev/tty
- iOS:延时执行的三种方式
- 《高质量程序设计指南——C++/C》(第三版)最新修订
- [RTMP协议]常用直播流地址
- Windows 10不能安装mini版迅雷的解决方法
- is not backed by gradle android,Module … is not backed by gradle
- Excel批注教学:一键给多个单元格添加相同批注
- vue在移动端实现电子签名手写板
- 使用代码操作WLAN
- 【纯干货】标题里的大学问,月薪10000元以上的运营,是这样写宝贝标题的
- 常微分方程(Ordinary Differential Equation I)