Stm8L系列单片机的低功耗

发布者:不加糖的302最新更新时间:2019-12-19 来源: eefocus关键字:Stm8L系列  单片机  低功耗 手机看文章 扫描二维码
随时随地手机看文章

Stm8L系列单片机的低功耗有五种模式:


wait模式


Low power run模式


Low power wait模式


Active-halt with full RTC模式


Halt模式


最低功耗的就是就是halt模式。这里也主要总结一下如何进入halt模式,进入以后可以通过什么方式唤醒,以及有很多客户会关心的如何自动唤醒。


Halt模式进入很简单,执行一条halt指令,调用库函数也就是halt()就行了。但是进入前要注意把所有的中断挂起标志给清除掉。要是不清零又恰巧有中断标志的时候进入该模式也会被立马唤醒。进入这种模式,所有的外设全都关闭了,所有时钟关闭。这时候它自己是醒不过来的,只能靠掐人中(给个外部中断)或者重新复活(重启复位)。当然这个在进入halt之前是要把中断引脚什么的该配置的给配置好了。


那现在有个问题就是在halt模式下只能通过外部中断和复位了,我需要它自动醒过来怎么办?那就在进入的时候定个闹铃了(打开rtc),到点了就要醒过来。既然开了闹铃了它也就不是纯halt模式了。这时候也就叫做active-halt模式。Active-halt模式下可以打开个rtc和lcd。这里要说明一下,在stm8s和stm8l101xx系列里面有AWU自动唤醒寄存器。


Halt模式下设置,达到0.4uA

 

I/O口设置,没有其它外设下,不用的IO口全部拉低输出,用到的IO口按使用情况设置,GPIO_Mode_In_PU_No_IT,与GPIO_Mode_In_Fu_No_IT,对GPIO的配置,功耗也是有差别的,各位各自去体会吧,哈哈。且主时钟默认是2MHz。


void GPIOInit(void)


{


      GPIO_TypeDef GPIO_Struct;


 


      GPIO_DeInit(&GPIO_Struct);


      


      GPIO_Init(GPIOB,GPIO_Pin_0  | GPIO_Pin_3|GPIO_Pin_5 | GPIO_Pin_6,GPIO_Mode_Out_PP_Low_Fast);


      GPIO_Init(GPIOB,GPIO_Pin_1 | GPIO_Pin_2| GPIO_Pin_7,GPIO_Mode_In_PU_No_IT);


      GPIO_Init(GPIOB,GPIO_Pin_4,GPIO_Mode_Out_PP_Low_Fast);


      


      GPIO_Init(GPIOD,GPIO_Pin_0 |GPIO_Pin_1 |GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 |GPIO_Pin_6 |GPIO_Pin_7 ,GPIO_Mode_Out_PP_Low_Fast);        


      //GPIO_ExternalPullUpConfig(GPIOC,GPIO_Pin_2 | GPIO_Pin_3,ENABLE);


      //GPIO_Init(GPIOD,GPIO_Pin_6 |GPIO_Pin_7 ,GPIO_Mode_Out_PP_High_Fast);        


 


      GPIO_Init(GPIOC,GPIO_Pin_4,GPIO_Mode_In_PU_No_IT); //RF_IRQ


      GPIO_Init(GPIOC,GPIO_Pin_0 | GPIO_Pin_6,GPIO_Mode_Out_PP_High_Fast); //MOSI 备用


      GPIO_Init(GPIOC,GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_5 | GPIO_Pin_7,GPIO_Mode_Out_PP_High_Fast);


      


      GPIO_Init(GPIOA,  GPIO_Pin_4|GPIO_Pin_5 |GPIO_Pin_6 , GPIO_Mode_In_PU_No_IT); //KEY


      GPIO_Init(GPIOA,  GPIO_Pin_0|GPIO_Pin_1 |GPIO_Pin_2 |GPIO_Pin_3|GPIO_Pin_7 , GPIO_Mode_Out_PP_Low_Fast);


      


      PD_ODR_ODR0=0; //oled_ce      


}


 


int main( void )


{  


   asm("sim");   //全局中断关


 


   GPIOInit();   //IO初始化


 


asm("rim");   //全局中断开启


   CLK_DeInit();


   PWR_UltraLowPowerCmd(ENABLE);


    halt();


    /*infinite loop begin*/


while(1);


此设置下STM8L151芯片功耗达到0.4uA,无其它外设的初始化

关键字:Stm8L系列  单片机  低功耗 引用地址:Stm8L系列单片机的低功耗

上一篇:STM8S之内外部16M晶振
下一篇:STM8L超低功耗程序编写教学,简单易懂

推荐阅读最新更新时间:2024-11-14 00:06

基于PSD32xx系列单片机无线远程IAP的实现
传统的MCU控制系统在下载程序时一般都是通过取下芯片用编程器烧写,或者采用ISP方式进行在线编程。 随着用户需求和使用环境的不断变化,就会要求系统程序被升级,而采用上述两种方式进行程序升级时都必须要有开发人员进行现场操作。这种升级方式对于终端分散的控制系统来说无疑极大地增加了开发成本,也延缓了程序的更新时间。因此,本文结合无线基站动态环境监控系统, 给出了基于 PSD32xx系列单片机无线远程IAP(应用内编程)的具体实现方法,解决了上述问题。   系统架构   无线基站电源、空调、基站的室内环境等条件对整个系统能否正常运行是至关重要的,为了让无线基站有一个稳定、可靠的运行环境,因而设计了此采集系统。   针对以上环境,本采集
[单片机]
基于PSD32xx<font color='red'>系列</font><font color='red'>单片机</font>无线远程IAP的实现
提高MSP430G系列单片机的Flash擦写寿命的方法
摘要 在嵌入式设计中,许多应用设计都需要使用EEPROM 存储非易失性数据,由于成本原因,某些单片机在芯片内部并没有集成EEPROM。MSP430G 系列处理器是TI 推出的低成本16 位处理器,在MSP430G 系列单片机中并不具备EEPROM。为了存储非易失性数据,MSP430G 系列处理器在芯片内部划分出了256 字节的Flash 空间作为信息Flash,可用于存储非易失性数据,但是由于Flash 与EEPROM 在擦写寿命上存在一定差距,所以在实际应用中,这种应用方式并不能够满足所有客户的需求。本应用笔记介绍了使用代码区域Flash 来模拟EEPROM,通过一定的软件处理算法,可以大大增加数据存储周期的一种方法。本文给出了
[单片机]
提高MSP430G<font color='red'>系列</font><font color='red'>单片机</font>的Flash擦写寿命的方法
51单片机~数码管电路原理分析,计算
数码管简介: 2. 电路分析:(原理如图)==74H573芯片原理分析 74H573芯片相当于一个锁存器,给公共引脚高电平就是给P2.6=1,之后给P0=0XFF,最后再给P2.6=0,就完成输出了。 最后当给了P2.6=0,后0XFF锁存在Q1~Q7,无论P0输入在变化,输出还是0XFF固定 加上210欧电阻防止数码管过亮,WEI对应输出端,前面的芯片对应A~G数码管输入端。所以想让数码管亮,需要给前一个芯片(接a ~g的)加0X00,后一个芯片(接WEI)接0XFF,这样才达到正负导通。 数码管断码编码表计算方法: 代码区:(详细解释看代码区)(调用74H595芯片是用来关闭其他电器的) 段选控制数字显
[单片机]
51<font color='red'>单片机</font>~数码管电路原理分析,计算
单片机产生占空比可调方波(PWM)
/**************************************************************** 程序名称: 发光二极管D1进行亮度控制 版本: VER1.0 适用板本: 51hei学习板 利用定时器控制产生占空比可变的PWM波对发光二极管D1进行亮度控制 按S2,PWM值增加,则占空比减小,D1灯变亮。 按S3,PWM值减小,则占空比增加,D1灯变暗。 当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。 ********************************************
[单片机]
嵌入式学习笔记13——51单片机之D/A转换器
1. 在很多应用系统中,测控对象是模拟量,单片机只能处理数字量,因此必须进行数字量和模拟量之间的转换。这就需要A/D和D/A转换器件。 2. 假如某D/A可输入8位数字,最高输出5V电压,则输入x,输出电压值为x*(5/256)V。 3. 分辨率是指输入数字量的最低有效位(LSB)发生变化时,所对应的的输出模拟量(电压或电流)的变化量。它反映了输出模拟量的最小变化值。即,最大输出模拟量/(2^位数)。 4. 线性度(也称非线性误差)是实际转换特性曲线与理想直线特性之间的最大偏差。常以相对于满量程(即最大输出模拟量)的百分数表示。(假设DAC位8位,满量程为5V,则理想直线为连接(0,0V)和(255,5V)之间的直线。 5.
[单片机]
以C8051F340单片机为核心的数据采集系统设计
1引言 电子设备运行状态的稳定性直接影响到现代企业的生产, 设备发生故障后高昂的维修费以及设备停机后给企业生产带来的损失, 使得各个企业纷纷采取措施, 降低设备的故障率。通过数据采集系统准确的获取设备运行特征数据, 并对数据进行分析,判断设备的运行状态是否良好, 达到提前预防故障出现、减少停机检修的目的。实际应用中对数据采集系统的可靠性, 准确性和便携性要求很高。目前常用的数据传输网络(如RS232 /RS485, CAN 等)已经不能满足大量采集数据和高速实时数据传输的要求。而USB传输具有高速可靠传输的优势, 具有成本低、可靠性高、维护方便等优点。本文以带有片上USB 和高速AD转换器的C8051F340为核心控制器件, 利用
[单片机]
以C8051F340<font color='red'>单片机</font>为核心的数据采集系统设计
国产MCU挑战老牌厂商,进入汽车领域
虽然IC产品众多,但规模上千亿元、销售上百亿颗的IC仍屈指可数,而MCU(微控制器)就荣列其中。毕竟,从1971年走到现在,不断进阶的MCU已然成为行走的“微型计算机”,被广泛地应用在消费电子、计算机和通信、工业、汽车电子、物联网等领域。而传统应用的升级以及新兴应用的带动,仍不断触发其潜力。据IC Insights研究报告,全球MCU市场于2020年再创高峰,销售额将达209亿美元、销售突破267亿颗。虽然在MCU领域排名前十的厂商还未见中国厂商的身影,但或许改变已在悄然发生。 走高 MCU可谓“集大成者”,通过将功能部件如CPU、存储器、I/O端口、时钟、A/D转换、PWM等,以及SPI、I2C、ISP等数据传输接口整合,形
[嵌入式]
国产<font color='red'>MCU</font>挑战老牌厂商,进入汽车领域
【GD32 MCU 入门教程】GD32 MCU 常见外设介绍(13)DAC 模块介绍
DAC是一种把二进制数字量形式的离散信号转换成以标准量(或参考量)为基准的模拟量的转换器,它常用于过程控制计算机系统的输出通道,与执行器相连,实现对生产过程的自动控制。 13.1.GD32 DAC 外设原理简介 因篇幅有限,本文无法详细介绍GD32所有系列的DAC,下面以GD32F30x为例,先着重介绍下GD32F30x的DAC及其结构框图,然后介绍下各个系列DAC的差异。 GD32F30x DAC 主要特性 ◼ 8位或12位分辨率,数据左对齐或右对齐; ◼ 每个通道带有DMA功能; ◼ 同步更新转换; ◼ 外部事件触发转换; ◼ 可配置的内部缓冲区; ◼ 输入参考电压VREF+; ◼ 噪声波生成(LSFR噪声模式和三角噪
[单片机]
【GD32 <font color='red'>MCU</font> 入门教程】GD32 <font color='red'>MCU</font> 常见外设介绍(13)DAC 模块介绍
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved