msp430f149的低功耗模式

2021-10-06 03:14:03 字數 2250 閱讀 9033

430的低功耗確實很強啊,雖然和vr微控制器比起來速度慢了好多。在cpu進行工作時,如果沒有什麼事情幹,就得進入低功耗模式啦,lmpx(0~4)這幾種模式的具體事項就是如下的,得記住了。

一,執行模式

msp430具有一種活動模式和五種軟體可選的低功耗執行模式。乙個中斷事件可以將晶元從五種低功耗模式中的任何一種喚醒,為請求服務並在從中斷程式返回時恢復低功耗模式。下面6種運算模式由軟體配置。

● 活動模式am:

-所有時鐘活動

● 低功耗模式0(lpm0)

-cpu關閉

aclk和smclk保持活動,mclk關閉

● 低功耗模式1(lpm1)

-cpu關閉

aclk和smclk保持活動,mclk關閉

如果dco在活動模式中沒有使用,dco的直流發生器將關閉

● 低功耗模式2(lpm2)

-cpu關閉

mclk、fll+,dcoclk關閉

dco的直流發生器保持活動

aclk保持活動

● 低功耗模式3(lpm3)

-cpu關閉

mclk、fll+,dcoclk關閉

aclk保持活動

● 低功耗模式4(lpm4)

-cpu關閉

aclk關閉

mclk、fll+,dcoclk關閉

dco的直流發生器關閉

晶體振盪器停止

/* low power modes coded with bits 4-7 in sr */

#ifndef __iar_systems_icc__ /* begin #defines for assembler */

#define lpm0                (cpuoff)

#define lpm1                (scg0+cpuoff)

#define lpm2                (scg1+cpuoff)

#define lpm3                (scg1+scg0+cpuoff)

#define lpm4                (scg1+scg0+oscoff+cpuoff)

/* end #defines for assembler */

#else /* begin #defines for c */

#define lpm0_bits           (cpuoff)

#define lpm1_bits           (scg0+cpuoff)

#define lpm2_bits           (scg1+cpuoff)

#define lpm3_bits           (scg1+scg0+cpuoff)

#define lpm4_bits           (scg1+scg0+oscoff+cpuoff)

#include "in430.h"

#define lpm0      _bis_sr(lpm0_bits)     /* enter low power mode 0 */

#define lpm0_exit _bic_sr_irq(lpm0_bits) /* exit low power mode 0 */

#define lpm1      _bis_sr(lpm1_bits)     /* enter low power mode 1 */

#define lpm1_exit _bic_sr_irq(lpm1_bits) /* exit low power mode 1 */

#define lpm2      _bis_sr(lpm2_bits)     /* enter low power mode 2 */

#define lpm2_exit _bic_sr_irq(lpm2_bits) /* exit low power mode 2 */

#define lpm3      _bis_sr(lpm3_bits)     /* enter low power mode 3 */

#define lpm3_exit _bic_sr_irq(lpm3_bits) /* exit low power mode 3 */

#define lpm4      _bis_sr(lpm4_bits)     /* enter low power mode 4 */

#define lpm4_exit _bic_sr_irq(lpm4_bits) /* exit low power mode 4 */

#endif /* end #defines for c */

msp430f149外中斷問題

msp430的外中斷歸根到底 其實只需要兩個部分的配置就可以了 1.引腳配置 2.中斷函式配置 一 引腳配置 以引腳p2.1為例 p2dir 0x01 配置為輸入 p2ie 0x01 p2ies 0x01 其他暫存器可配置,可不配置。注意引腳功能選擇為一般引腳,不是功能引腳。雖然引腳的配置很簡單,但...

MSP430 f149 學習筆記 紅外遙控發射

最近由於專案需求,研究了一下msp430,總體感覺msp430還是非常不錯的微控制器,不虧是ti的產品。專案中用msp430實現了紅外遙控功能,下面我們先來分析一下紅外的傳送原理。紅外傳送原理 紅外傳送實際上是按照一定的時間間隔,斷斷續續的傳送紅外射線來進行資料傳輸,為了提高資料傳輸的準確定和降低功...

MSP430 F149 學習筆記 紅外置收

用msp430 f149 做紅外置收比傳送更為簡單,我採用的紅外感測器是hs0038b,這個原件在接收到38k紅外時輸出低電平,否則輸出高電平,因此,我們就可以從這點開始編寫程式了,由於hs0038b的電路圖很多,我這裡就不貼出來了,下面是具體的 include include delay.h st...