找回密码
 注册
关于网站域名变更的通知
查看: 448|回复: 2
打印 上一主题 下一主题

MSP430的低功耗事件驱动工作模式

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-3-11 09:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
MSP430的低功耗事件驱动工作模式
0 z. \7 m* H& X! |# k% s6 t  ]7 l! D6 B; z: `3 p3 U- y
7 ]& E$ O' Q. ~5 X

MSP430的低功耗事件驱动工作模式

MSP430系列单片机的各个模块都可以独立运行,如定时器、输入/输出端口、A/D转换、看门狗、液晶显示器等都可以在CPU休眠的状态下独立工作。若需要主CPU工作,任何一个模块都可以通过中断唤醒CPU,从而使系统以最低功耗运行。

让CPU工作于突发状态可以充分利用CPU的低功耗性能。通常,使用软件将CPU设定到某一低功耗模式,在需要时使用中断将CPU从休眠状态中唤醒,完成工作后又可以进入相应的休眠状态。如:让CPU工作在LPM3状态,通过中断事件转换到AM活动模式,根据运行需要,又可以从AM状态进入相应的低功耗模式:LPM0/LPM3或LPM4。

系统的这些低功耗特性是靠系统对中断的响应来实现的。系统响应中断的过程:(1)硬件自动中断服务。包括PC入栈、SR入栈;中断向量赋给PC;GIE、CPUOFF、OSCOFF和SCG1清除;以及IFG标志位清除(单源中断标志)。(2)执行中断处理子程序。(3)执行RETI指令(中断返回),包括SR出栈C出栈。

例如:系统初始化完成后工作于低功耗模式0,中断事件触发到活动模式,中断处理结束后进入低功耗模式3。

;主程序

……;初始化操作开始

……;

……;初始化结束

BIS #GIE+CPUOFF, SR ; 主程序中设置低功耗模式0,LPM0

;……;程序在这里停止

;中断子程序

……

……; 中断处理结束

BIS #GIE+CPUOFF+SCG1+SCG0, 0(SP) ; 设置SR为低功耗模式3,LPM3

RETI; 中断返回

;系统进入低功耗模式3

……

如果主程序期待在中断返回之后继续执行某些操作,可以在中断处理子程序中改变SR的值为AM模式,系统中断退出后根据恢复的SR和PC的值,来执行设定的某些操作。

;主程序

……;初始化操作开始

……;

……;初始化结束

BIS #GIE+CPUOFF, SR ; 主程序中设置低功耗模式0,LPM0

L1 操作1

L2 操作2

……;

;中断子程序

…… ;中断处理开始

……

……; 中断处理结束

BIS #GIE+CPUOFF, 0(SP) ; 设置SR为活动模式,AM

RETI; 中断返回,系统进入活动模式

……

主程序执行到LPM0处停止执行,L1,L2等语句不执行。之后中断事件保存PC(L1指令地址)和SR(低功耗模式0),中断唤醒CPU,执行中断处理程序;由于在中断处理子程序中将SR设置为活动模式,所以中断返回后CPU处于活动状态,并从PC指向的L1指令处开始继续执行…… 。


' [' a' c6 [, I2 M2 M
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-27 23:25 , Processed in 0.140625 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表