MSP430 中断服务

MSP430 中断服务

ID:38209056

大小:98.36 KB

页数:4页

时间:2019-05-27

MSP430 中断服务_第1页
MSP430 中断服务_第2页
MSP430 中断服务_第3页
MSP430 中断服务_第4页
资源描述:

《MSP430 中断服务》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、当系统时钟发生器基本功能建立之后,CPU内状态寄存器SR的SCG1,SCG0,CPUOFF,OSCOFF位是重要的低功耗控制位。只要任意中断被响应,上述控制位就被压入堆栈保存,中断处理之后,又可恢复先前的工作方式。在中断处理子程序执行期间,通过间接访问堆栈数据,可以操作这些控制位;这样允许程序在中断返回(RETI)后,以另一种功耗方式继续运行。各控制位的作用如下:SCG1:复位,使能SMCLK;置位,禁止SMCLK。SCG0:复位,激活直流发生器,只有SCG0置位,并且DCOCLK没有被用作MCLK或SMCLK时,直流发生器才能被禁止。OSCOFF:

2、复位,激活LFXT1,只有当OSCOFF被置位并且LFXT1CLK不用于MCLK或SMCLK时,FLXT1才能被禁止;当使用晶体振荡器关闭选项OSCOFF时,需要考虑晶体振荡器的启动设置时间CPUOFF:复位,激活MCLK;置位,关闭MCLK。控制位SCG1、SCG0、CPUOFF、OSCOFF可由软件配制成六种不同的工作模式:工作模式控制位CPU状态、振荡器及时钟SCG1=0CPU活动SCG0=0MCLK活动AMCPUOFF=0SMCLK活动OSCOFF=0ACLK活动SCG1=0CPU禁止LPM0SCG0=0MCLK禁止OSCOFF=0SMCLK

3、活动CPUOFF=1ACLK活动SCG1=0CPU禁止MCLK禁止LPM1SCG0=1如果DCOCLK位用作MCLK或SMCLK,则直流发生器禁止,否则,仍然活动OSCOFF=0SMCLK活动CPUOFF=1ACLK活动SCG1=1CPU禁止如果DCO未被用作MCLK或SMCLK,自动禁止SCG0=0MCLK禁止LPM2OSCOFF=0SMCLK禁止CPUOFF=1ACLK活动SCG1=1CPU禁止DCO被禁止,直流发生器被禁止SCG0=1MCLK禁止LPM3OSCOFF=0SMCLK禁止CPUOFF=1ACLK活动SCG1=1CPU禁止SCG0=1

4、DCO被禁止,直流发生器被禁止LPM4OSCOFF=1所有振荡器停止工作MCLK、SMCLK禁止CPUOFF=1ACLK禁止低功耗的设计技巧问题1.LPM4:在振荡器关闭模式期间,处理机的所有部件工作停止,此时的电流消耗最小。此时只有在系统上电电路检测到低点电平或任一请求异步响应中断的外部中断事件时才会从新工作。因此在设计应含有可能需要用到的外部中断才采用这种模式,否则发生不可预料的结果。2.LPM3:在DC发生关闭期间,只有晶振是活动的。但此时设置基本时序条件的DC发生器的DC电流被关闭。由于此电路的高阻设计,使功耗被抑制。当从DC关闭到启动DC需

5、要一段时间(ns~us)3.LPM2:在此期间晶振和DC发生器是工作的,所以可以实现快速启动4.LPM1:在此期间振荡器已经工作,所以不存在启动延时问题_BIS_SR(LPM3_bits)_BIC_SR_IRQ(LPM3_bits)LPM3LPM3_EXIT系统响应中断过程:1.硬件自动中断服务a.PC入栈b.SR入栈c.中断向量赋给PCd.GIE、SCG1、CPOOFF和OSCOFF清楚e.IFG标志位清除(单源中断标志比如WDTIFG)2.执行中断处理子程序3.执行RETI指令4.SR出栈5.PC出栈低功耗应用voidmain(void){WDT

6、CTL=WDT_ADLY_1000;IE1

7、=WDTIE;P1DIR

8、=0X01;_EINT();for(;;){LPM3;_NOP();}}interrupt[WDT_VECTOR]watchdog_timer(void){P1OUT^=0X01;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。