導航:首頁 > 操作系統 > msp430單片機定時器斷了

msp430單片機定時器斷了

發布時間:2022-11-01 03:19:49

A. 在msp430f135單片機中定時器中中斷過多是不是會影響程序的執行准確率

會影響的
這個和CPU處理能力有關
所有中斷(不論什麼等級)時間之和一定要小於系統時間
否則時鍾就會變慢(或者低級中斷得不到執行)
這取決於你設計的調度機制是搶先式還是時間片式的
如果是搶先式,則可能出現高級中斷總能得到執行,低級中斷老是輪不到執行
如果是時間片輪轉的,則大家輪流坐莊,都能得到執行,但整個系統時鍾慢了(在單片機和台式機CPU都能得到驗證)

不論什麼單片機、DSP還是NP或台式機CPU都不例外

這與保護現場無關(那是必備的次序)

B. msp430定時器中斷的問題

你說的對的,這個是有溢出中斷,但你的初始化程序要稍微調整下:
TBCTL = TBSSEL_2 + MC_2+TBIE;;
打開溢出中斷,默認值是0;
然後再寫段中斷程序,例如:
#pragma vector=TIMERB1_VECTOR
__interrupt void Timer_B_1(void)
{
switch( TBIV )
{
case 2: break;
case 4: break;
case 14: P1OUT ^= 0x01;
break;
}
這個時候就能同時進入兩個中斷程序了。

C. MSP430單片機定時器溢出中斷

用IAR的話,可能要加:

#include<msp430f2012.h>

#defineucharunsignedchar

才能編譯通過。

我試了一下,程序沒有其它問題,中斷能進入。

D. msp430編程定時器B的中斷

微控論壇原創主貼 作者:bobo 微控論壇特約

因DC的邀請寫一個有關中斷的東東,我也接觸430不久只能以自己的心得體會更大家分享,若有紕漏懇請見諒。MSP430用戶手冊上有的中斷介紹我就不贅述了,大家可以看User Guider.我講的主要是書上沒有的,或者是點的不透的。希望對大家有用。

1.中斷嵌套,優先順序
430總中斷的控制位是狀態寄存器內的GIE位(該位在SR寄存器內),該位在復位狀態下,所有的可屏蔽中斷都不會發生響應。可屏蔽中斷又分為單中斷源和多中斷源的。單中斷源的一般響應了中斷服務程序中斷標志位就自動清零,而多中斷源的則要求查詢某個寄存器後中斷標志位才會清零。由於大多數人接觸的第一款單片機通常是51,51單片機CPU在響應低優先順序的中斷程序過程中若有更高優先順序的中斷發生,單片機就會去執行高優先順序,這個過程已經產生了中斷嵌套。而430單片機則不同,如果在響應低優先順序中斷服務程序的時候,即使來了更高優先順序的中斷服務請求,430也會置之不理,直至低優先順序中斷服務程序執行完畢,才會去響應高優先順序中斷。這是因為430在響應中斷程序的時候,總中斷GIE是復位狀態的,如果要產生類似51的中斷嵌套,只能在中斷函數內再次置位GIE位。

2.定時器TA
TimerA有2個中斷向量。TIMERA0,TIMERA1
TIMERA0隻針對CCR0的計數溢出
TIMERA1再查詢TAIV後可知道是CCR1,還是CCR2,亦或TAIFG引起的,至於TAIFG是什麼情況下置位的,則要看TA工作的模式
具體看用戶手冊。還有一點TA本身有PWM輸出功能,無須借用中斷功能。在這個問題上經常出現應用彎路的是如何結合TA和AD實行定時采樣的問題,很多人都是在TA中斷里打開AD這樣來做。這是不適宜的,因為430 的ADC10,ADC12(SD16不熟悉,沒發言權)模塊均有脈沖采樣模式和擴展采樣模式。只要選擇AD是由TA觸發采樣,然後把TA設置成PWM輸出模式,當然輸出PWM波的都是特殊功能腳,但是在這里它是不需要輸出的,所以引腳設置不必理會。值得關心的就是PWM的頻率,也就是你AD的采樣率。

3.看門狗復位
看門狗有2種工作模式:定時器 ,看門狗
定時器工作模式下WDTIFG在響應中斷服務程序有標志位自動復位,而在看門狗模式下,該標志位只能軟體清零。但是怎麼判斷復位是由於WDT工作在看門狗模式下的定時溢出引起的,還是看門狗寫密鑰錯誤引起的呢?………………………………
答案是沒有方法,至少我沒見過有什麼方法,也沒見過周邊的人有什麼方法。若有人知道方法謝謝分享。
4.經常有人會問這個語句的MOV.B #LPM0,0(SP)的作用。假如你在進入中斷函數之前,430是在LPM0下待機,若要求執行完中斷函數之後進入LPM3待機,在中斷函數里寫MOV.B #LPM3,SR是無效的。因為在進入中斷時430會把PC,SR壓棧,( SR內保存著低功耗模式的設置)即使你寫了MOV.B #LPM3,SR,在退出中斷出棧時SR會被重新設置成低功耗0,要達到這樣的目的,只能更改堆棧內SR的設置:MOV.B #LPM0,0(SP)。

5中斷向量:
430的中斷向量是FFE0H—FFFFH,一共32個位元組也就是FLASH的最後一段,430的FLASH有大有小,但是最後地址肯定是FFFFH(大FLASH超過64K的除外)所以它們的起始地址是不一樣的,而一般IAR默認編譯都是把程序放在FLASH開始的位置(不包括信息段)。
有個值得弄清楚的問題是:什麼是中斷向量?中斷向量實際就是保存中斷函數入口地址的存儲單元空間。就像FFFEH+FFFFH這2個位元組是復位中斷向量,那麼它存儲的就是主函數在FLASH內的起始地址,假如主函數保存在以0x1100為起始地址的FLASH塊內,那麼你會發現FFFFH 內保存的是0x11, FFFE內保存的是0x00.其他什麼TimerA,ADC12,所有的都一樣。只是你每次寫的程序長短不一,中斷函數放的位置不一樣。IAR編譯器都會給你定好,然後在你用JTAG燒寫程序的時候,把這個地址,燒寫到相應的中斷向量。因為中斷函數所處地址可以由用戶自定義,也可以讓IAR自動編譯,所以這個地址除了源代碼開發人員知道,其他人是不知道的,BSL就是應用這32個位元組的中斷向量內的內容的特殊性設置的密碼。但是有幾個東西在430是不變的,就是觸發中斷的條件滿足後,它到哪個地方去定址中斷服務函數的入口地址,是TI 在做430時就固化好,定死的。比方說上電復位的時候,它知道去FFFE,FFFF單元找地址,而不去FFE0,FFE2找地址,這個映射關系是430固化不變的。可有的時候你就是需要改變「中斷向量」,這怎麼辦?430FLASH程序自升級里有時就會碰到這個問題,方法是在430原來默認的中斷向量表內做一個跳轉操作,同樣以上電復位為例:
ORG 0x2345
PowerReset: mov.w &0xFCFE,PC
…………………………
…………………………
ORG 0xFFFE
DW PowerReset

E. MSP430定時器中斷問題

定時器+定時計數+標志位方式。
宏定義設置工作時間TIMER_INTERCAL_DOTRASNS為10
例如,設置定時器1s中斷一次,設置cnt1s變數,累加到TIMER_INTERCAL_DOTRASNS時,清0變數,置1標志位。
主循環檢測到標志位為1,則清0標志位並執行你要定時執行的程序即可。

F. msp430定時器捕獲中斷無法進入..., 感謝! 。怎麼辦

答案1:"我剛看錯了 你要測P1.2的周期,我感覺應當把P1.2口設置成中斷,上升沿或下降沿中斷,在P1.2口中斷中設置1個計數常數初值為0,當第一次進中斷的時候設置定時器開始計時,後來判別計數常數是不是等於你需求的值,不等於則加一,等於則停止定時器,這時定時器的定時時間除以計數常數就是周期了(你可把計數常數設置成10,100,1000...)這方便計算。知道怎麼做吧

G. 請教MSP430定時器捕獲功能,一直進中斷

你在捕獲的同時,打開了定時器中斷的緣故,沒有捕獲信號也會進定時器中斷的。

H. msp430定時器中斷

雖然程序退出中斷了,但單片機不改變P1.2口的高電平,應該在中斷退出時給一個低電平。

閱讀全文

與msp430單片機定時器斷了相關的資料

熱點內容
怎麼批量有順序的命名文件夾 瀏覽:209
杭州程序員健身 瀏覽:17
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151