MSP430微控制器常用程式框架

2022-08-13 16:33:23 字數 1490 閱讀 6812

前一段時間一直在用ti公司的msp430系列的微控制器,總結了點430常用的程式框架。

a.迴圈低功耗、中斷服務程式喚醒

void main()

關閉開門狗;

初始化時鐘;

初始化埠;

初始化螢幕;

其他外圍必要的初始化;

開中斷;

while(1)

進入低功耗模式;

執行某函式;

中斷函式1

退出低功耗;

中斷服務程式;

例如:view code

1

#pragma vector=adc12_vector

2 __interrupt void adc12isr (void) //

ad轉換中斷服務程式317

if(8==index)

18 s_judge=1;19

break;20

default: break;21

}22}23

24void

main()

2526

49 m=fsum/num_of_results;

50 sprintf(str,"

%02.1f

",m);

51 putstringen24(104,260

,str);

52 fsum=0

;53 s_judge=0

;54 adc12ctl0 |=adc12sc;

5556

}57 }

b.低功耗、中斷服務程式

該種結構比較簡單,與第一種結構的差別在於主程式沒有迴圈執行某函式。

void main()

關閉開門狗;

初始化時鐘;

初始化埠;

初始化螢幕;

其他外圍必要的初始化;

開全域性中斷;

進入低功耗;

中斷服務程式1

退出低功耗;

中斷服務程式;

c.開機設定、低功耗、中斷服務程式

void main()

關閉開門狗;

初始化時鐘;

初始化埠;

初始化螢幕、鍵盤;

初始化其他外圍;

開全域性中斷;

鍵盤設定資料,開機初始化;

鍵入低功耗;

中斷服務程式1

退出低功耗;

中斷服務程式;

比如在第一種模式裡加入開機設定的部分。

d.選單按鍵方式

void main()

關閉開門狗;

初始化時鐘;

初始化埠;

初始化螢幕、鍵盤;

初始化其他外圍;

開全域性中斷;

while(1)

掃瞄按鍵;

switch(鍵值)

case...

更改顯示;

MSP430微控制器 中斷服務

430的中斷是按照下圖1的優先順序順序定義的,有三種中斷 1.系統重置 2.不可遮蔽中斷 nmi 3.可遮蔽中斷。圖1.中斷優先順序 部分具體的中斷優先順序由高到低為 port2 vector 1 2u 0xffe2 port 2 port1 vector 4 2u 0xffe8 port 1 ti...

MSP430微控制器的中斷

中斷是msp430微處理器的一大特色,有效地利用中斷可以簡化程式和提高執行效率。msp430的幾乎每個外圍模組都能夠產生中斷,為msp430針對事件 即外圍模組產生的中斷 進行的程式設計打下基礎。msp430在沒有事件發生時進入低功耗模式,事件發生時,通過中斷喚醒cpu,事件處理完畢後,cpu再次進...

MSP430教程8 MSP430微控制器復位電路

msp430 微控制器系統復位電路 從上msp430 系統復位電路功能模組圖中可以看到了兩個復位訊號,乙個是上電復位訊號 por power on reset 和上電清除訊號 puc power up clear por 訊號是器件的復位訊號,此訊號只有在以下的事件發生時才會產生 器件上電時。rst...