前一段時間一直在用ti公司的msp430系列的微控制器,總結了點430常用的程式框架。
a.迴圈低功耗、中斷服務程式喚醒
void main()
關閉開門狗;
初始化時鐘;
初始化埠;
初始化螢幕;
其他外圍必要的初始化;
開中斷;
while(1)
進入低功耗模式;
執行某函式;
中斷函式1
退出低功耗;
中斷服務程式;
例如:view code
1b.低功耗、中斷服務程式#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 }
該種結構比較簡單,與第一種結構的差別在於主程式沒有迴圈執行某函式。
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...