完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
典型的低消耗,省粮食模式,套用到电子技术就是低功耗,省点模式。这很重要,因为在某些情况下,系统用电的确是数着u库伦过日子。MSP430就是个过日子的好手。 数米过日子,处理器有几个考虑,一个是降低工作电压;第二个就是把暂时不用的模块功能关闭掉;使之不耗电,第三个方法就是降低工作时钟频率。 MSP430的电压已经降到了3.3v,虽然不是最低的(ARM的部分芯片内核工作电压降到了1.8v),但是这已经是比较低的了;MSP430比较出彩的地方一个是把一颗芯片分成了N个不同的模块部分,不用的部分功能模块可以关闭掉,电流近似为零;另一个出彩的地方是,可以有三个时钟源,并产生更多的内部可用工作频率,让内部各个模块工作在不同的频率,不用的时钟还可以关掉(具体参看上一节MSP430之系统时钟篇)。后两种方法主要是通过软件的方式进行设置的,具体来讲,MSP430可以有6种不同的工作模式: 补充:设置其工作模式主要是设置寄存器SR的SCG0、SCG1、OscOff、CPUOff位。SCG0=1且DCOCLK没有用于MCLK和SMCLK时,直流发生器禁止;SCG1=1时,SMCLK禁止; CPUOff=1时,MCLK被禁止;只有CPUOff=1时,OscOff才可以=1,此时晶振被禁止。 1、活动模式-----AM 正常的工作模式,这时CPU消耗的电能最大. 2、低功耗模式0----- LPM0 CPUOff置位,CPU停止活动,但外围模块继续工作,ACLK和MCLK信号保持活动,MCLK的锁频坏控制正常工作.有关控制位设置为:SCG0=0,SCG1=0,OscOff=0,CPUOff=1。 3、低功耗模式1-----LPM1 CPUOff置位,CPU停止活动,但外围模块继续工作,MCLK的锁频环控制停止工作,ACLK与MCLK保持活动,有关控制位设置为:SCG0=0,SCG1=1,OscOff=0,CPUOff=1。 4、低功耗模式2-----LPM2 CPUOff置位,CPU停止活动,但外围模块继续工作,MCLK的锁频环控制停止,ACLK活动,MCLK停止,有关控制位设置为:SCG0=0,SCG1=1,OscOff=0,CPUOff=1。 5、低功耗模式3-----LPM3 CPUOff置位,CPU停止活动,但外围模块继续工作,MCLK的锁频环控制和MCLK停止工作,DCO的DC发生器关闭,但ACLK信号仍保持活动,有关控制位设置为:SCG0=1,SCG1=1,OscOff=0,CPUOff=1。 6、低功耗模式4-----LPM4 CPUOff置位,CPU停止活动,但外围模块继续工作,MCLK的锁频环控制和MCLK停止工作,晶振停止,有关控制位设置为:SCG0=x,SCG1=x,OscOff=1,CPUOff=1。 处理器进入低功耗模式以后,一般由中断来唤醒。可以是外部中断,也可以是内部的定时器等中断。 范例: #include void main(void) { WDTCTL = WDT_ADLY_250; // 看门狗定时250mS IE1 |= WDtiE; // 使能看门狗中断 FLL_CTL0 |= XCAP14PF; // 装载匹配电容 P2DIR |= 0x02; // 设置P2.1输出方向 _BIS_SR(LPM3_bits + GIE); //进入低功耗3,允许可屏蔽中断响应 } // Watchdog Timer interrupt service routine #pragma vector=WDT_VECTOR __interrupt void watchdog_timer(void) { P2OUT ^= 0x02; // 定时翻转P2.1 } 在上面的程序中,main函数执行完毕之后即进入了低功耗模式,只是在中断中,才能执行功能操作。其次,可以看出:1、从中断返回后,依然是中断状态;2、main函数永远不会返回,因为_BIS_SR(LPM3_bits + GIE)之后的语句永远不可能执行。 思考:怎么才能够在满足某些条件下,main之后的程序继续执行呢? 讨论:要想执行main之后的程序,那么就需要在程序从中断返回后摆脱低功耗状态,这就需要修改SR寄存器;进一步,考虑到中断的响应是自动保存PC和SR寄存器,所以只需要在中断程序中修改堆栈中保存的SR即可。显然,在C语言中解决堆栈操作问题不是一件容易的事情 |
|
相关推荐
8 个讨论
|
|
|
|
|
|
。
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3052个成员聚集在这个小组
加入小组2966 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3687 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2364 浏览 1 评论
4829 浏览 1 评论
2590 浏览 1 评论
1368浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3691浏览 2评论
2968浏览 1评论
1562浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 08:20 , Processed in 1.526427 second(s), Total 62, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号