MSP430微控制器的中斷

2022-04-09 23:23:22 字數 1077 閱讀 3497

中斷是msp430微處理器的一大特色,有效地利用中斷可以簡化程式和提高執行效率。msp430的幾乎每個外圍模組都能夠產生中斷,為msp430針對事件(即外圍模組產生的中斷)進行的程式設計打下基礎。msp430在沒有事件發生時進入低功耗模式,事件發生時,通過中斷喚醒cpu,事件處理完畢後,cpu再次進入低功耗狀態。由於cpu的運算速度和退出低功耗的速度很快,所以在應用中,cpu大部分時間都處於低功耗狀態。

msp430的中斷分為3種:系統復位、不可遮蔽中斷、可遮蔽中斷。

(1)系統復位的中斷向量為0xfffe。

(2)不可遮蔽中斷的中斷向量為0xfffc。響應不可遮蔽中斷時,硬體自動將ofie、nmie、accvie復位。軟體首先判斷中斷源並復位中斷標誌,接著執行使用者**。退出中斷之前需要置位ofie、nmie、accvie,以便能夠再次響應中斷。需要特別注意點:置位ofie、nmie、accvie後,必須立即退出中斷相應程式,否則會再次觸發中斷,導致中斷巢狀,從而導致堆疊溢位,致使程式執行結果的無法預料。

(3)可遮蔽中斷的中斷**於具有中斷能力的外圍模組,包括看門狗定時器工作在定時器模式時溢位產生的中斷。每乙個中斷都可以被自己的中斷控制位遮蔽,也可以由全域性中斷控制位遮蔽。

多個中斷請求發生時,響應最高優先順序中斷。響應中斷時,msp430會將不可遮蔽中斷控制位sr.gie復位。因此,一旦響應了中斷,即使有優先順序更高的可遮蔽中斷出現,也不會中斷當前正在響應的中斷,去響應另外的中斷。但sr.gie復位不影響不可遮蔽中斷,所以仍可以接受不可遮蔽中斷的中斷請求。

中斷響應的過程:(1)如果cpu處於活動狀態,則完成當前指令;(2)若cpu處於低功耗狀態,則退出低功耗狀態;(3)將下一條指令的pc值壓入堆疊;(4)將狀態暫存器sr壓入堆疊;(5)若有多個中斷請求,響應最高優先順序中斷;(6)單中斷源的中斷請求標誌位自動復位,多中斷源的標誌位不變,等待軟體復位;(7)總中斷允許位sr.gie復位。sr狀態暫存器中的cpuoff、oscoff、scg1、v、n、z、c位復位;(8)相應的中斷向量值裝入pc暫存器,程式從此位址開始執行。

中斷返回的過程:(1)從堆疊中恢復pc值,若響應中斷前cpu處於低功耗模式,則可遮蔽中斷仍然恢復低功耗模式;(2)從堆疊中恢復pc值,若響應中斷前cpu不處於低功耗模式,則從此位址繼續執行程式。

MSP430微控制器 中斷服務

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

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

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

MSP430微控制器低功耗結構

各控制位的作用如下 scg1 復位,使能smclk 置位,禁止smclk。scg0 復位,啟用直流發生器,只有scg0置位,並且dcoclk沒有被用作mclk或smclk時,直流發生器才能被禁止。oscoff 復位,啟用lfxt1,只有當oscoff被置位並且lfxt1clk不用於mclk或smcl...