![MSP430中斷系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/b04ffb71-af59-42ef-8c7f-df3b15c773af/b04ffb71-af59-42ef-8c7f-df3b15c773af1.gif)
![MSP430中斷系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/b04ffb71-af59-42ef-8c7f-df3b15c773af/b04ffb71-af59-42ef-8c7f-df3b15c773af2.gif)
![MSP430中斷系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/b04ffb71-af59-42ef-8c7f-df3b15c773af/b04ffb71-af59-42ef-8c7f-df3b15c773af3.gif)
![MSP430中斷系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/b04ffb71-af59-42ef-8c7f-df3b15c773af/b04ffb71-af59-42ef-8c7f-df3b15c773af4.gif)
![MSP430中斷系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/b04ffb71-af59-42ef-8c7f-df3b15c773af/b04ffb71-af59-42ef-8c7f-df3b15c773af5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1第第6章章 MSP430 中斷系統(tǒng)中斷系統(tǒng)第一節(jié)第一節(jié) 中斷的基本概念中斷的基本概念第二節(jié)第二節(jié) MSP430中斷系統(tǒng)中斷系統(tǒng)第三節(jié)第三節(jié) 中斷程序設計中斷程序設計本章教學目標:本章教學目標:1、了解中斷基本概念、了解中斷基本概念2、掌握中斷控制機制和中斷響應過程、掌握中斷控制機制和中斷響應過程3、掌握中斷編程技術(shù)、掌握中斷編程技術(shù)2第一節(jié)第一節(jié) 中斷的基本概念中斷的基本概念什么是中斷什么是中斷中斷源(中斷分類)中斷源(中斷分類)中斷優(yōu)先級及其裁決規(guī)則中斷優(yōu)先級及其裁決規(guī)則斷點和中斷現(xiàn)場斷點和中斷現(xiàn)場CPU對中斷的響應條件(中斷控制)對中斷的響應條件(中斷控制)CPU對中斷的響應過程對中斷的
2、響應過程中斷的返回過程中斷的返回過程3 CPU執(zhí)行流程執(zhí)行流程中斷服中斷服務程序務程序1 中斷服中斷服 務程序務程序 2非預料非預料事件事件1非預料非預料事件事件 2無中斷時無中斷時有中斷時有中斷時什么是中斷什么是中斷中斷是暫停中斷是暫停CPU正在運行的程序,正在運行的程序,轉(zhuǎn)去執(zhí)行相應的轉(zhuǎn)去執(zhí)行相應的中斷服務程序中斷服務程序,完,完畢后返回被中斷的程序繼續(xù)運行的畢后返回被中斷的程序繼續(xù)運行的現(xiàn)象和技術(shù)?,F(xiàn)象和技術(shù)。4中斷源(中斷分類)中斷源(中斷分類)中斷首先需要有中斷首先需要有中斷源中斷源發(fā)出中斷請求,并征得系統(tǒng)允許(發(fā)出中斷請求,并征得系統(tǒng)允許(屏屏蔽、優(yōu)先權(quán)蔽、優(yōu)先權(quán))后才會發(fā)生。轉(zhuǎn)去
3、執(zhí)行中斷服務程序前需)后才會發(fā)生。轉(zhuǎn)去執(zhí)行中斷服務程序前需保護保護中斷現(xiàn)場中斷現(xiàn)場,執(zhí)行完中斷服務程序后應,執(zhí)行完中斷服務程序后應恢復恢復中斷現(xiàn)場。中斷現(xiàn)場。軟件中斷(內(nèi)中斷)軟件中斷(內(nèi)中斷)硬件中斷(外中斷)硬件中斷(外中斷)非屏蔽中斷非屏蔽中斷可屏蔽中斷可屏蔽中斷中斷分類中斷分類5舉例:奔騰中斷系統(tǒng)中的中斷源(分類)舉例:奔騰中斷系統(tǒng)中的中斷源(分類) 1、內(nèi)中斷(軟中斷)、內(nèi)中斷(軟中斷) 被零除被零除或或OF=1時執(zhí)行時執(zhí)行INTO指令引起指令引起 使用使用DEBUG中的單步或斷點設置操作引起中的單步或斷點設置操作引起 執(zhí)行執(zhí)行INT n 指令引起指令引起2 2、外中斷(硬中斷)、外
4、中斷(硬中斷) 可屏蔽中斷可屏蔽中斷INTR 非屏蔽中斷非屏蔽中斷NMI6中斷優(yōu)先級及其裁決規(guī)則中斷優(yōu)先級及其裁決規(guī)則q事有事有輕重緩急輕重緩急,不同的中斷請求表示不同的事件,因此,不同的中斷請求表示不同的事件,因此CPU對不同中斷請求的響應也應有輕重緩急之分。對不同中斷請求的響應也應有輕重緩急之分。 q在計算機中,給每個中斷源指定(固定的或可通過程序在計算機中,給每個中斷源指定(固定的或可通過程序設置的)一個優(yōu)先權(quán),稱為設置的)一個優(yōu)先權(quán),稱為中斷優(yōu)先權(quán)(優(yōu)先級)中斷優(yōu)先權(quán)(優(yōu)先級)q當多個中斷源同時發(fā)出中斷請求時,當多個中斷源同時發(fā)出中斷請求時,CPU按照中斷優(yōu)先按照中斷優(yōu)先權(quán)的高低順序依
5、次響應。在有些權(quán)的高低順序依次響應。在有些CPU的中斷系統(tǒng)中還規(guī)的中斷系統(tǒng)中還規(guī)定高優(yōu)先級的中斷可以中斷低優(yōu)先級的中斷子程;低優(yōu)定高優(yōu)先級的中斷可以中斷低優(yōu)先級的中斷子程;低優(yōu)先級的中斷不能中斷高優(yōu)先級的中斷子程;任何中斷不先級的中斷不能中斷高優(yōu)先級的中斷子程;任何中斷不能中斷同一優(yōu)先級的中斷子程。能中斷同一優(yōu)先級的中斷子程。7舉例:奔騰中斷系統(tǒng)中的優(yōu)先級舉例:奔騰中斷系統(tǒng)中的優(yōu)先級 高高 低低 內(nèi)中斷內(nèi)中斷 ( 除零,除零,INT 指令,斷點,指令,斷點,INTO指令指令 ) 非屏蔽中斷非屏蔽中斷 可屏蔽中斷可屏蔽中斷 低低 內(nèi)中斷內(nèi)中斷( 單步單步 ) 奔騰中斷優(yōu)先級規(guī)則:奔騰中斷優(yōu)先級規(guī)
6、則: 當多個中斷源同時發(fā)出中斷請求時,當多個中斷源同時發(fā)出中斷請求時,CPU按照中斷優(yōu)先按照中斷優(yōu)先級的高低順序依次響應;級的高低順序依次響應; 高優(yōu)先級的中斷可以中斷低優(yōu)先級的中斷子程;高優(yōu)先級的中斷可以中斷低優(yōu)先級的中斷子程; 低優(yōu)先級的中斷不能中斷高優(yōu)先級的中斷子程;低優(yōu)先級的中斷不能中斷高優(yōu)先級的中斷子程; 任何中斷不能中斷同一優(yōu)先級的中斷子程。任何中斷不能中斷同一優(yōu)先級的中斷子程。8 MOV #0 , R5 ADD R4, R5 MOV R5, 0(R6) 斷點斷點: :是指是指CPU執(zhí)行的現(xiàn)行程序被執(zhí)行的現(xiàn)行程序被中斷時的中斷時的下一條指令下一條指令的的地址地址, ,又又稱稱斷點地
7、址斷點地址。中斷現(xiàn)場中斷現(xiàn)場: :是指是指CPU轉(zhuǎn)去執(zhí)行中斷轉(zhuǎn)去執(zhí)行中斷服務程序前的運行狀態(tài),包括服務程序前的運行狀態(tài),包括CPU內(nèi)部某些寄存器(如內(nèi)部某些寄存器(如SR)的值和斷點地址等。的值和斷點地址等。斷點斷點 0150h現(xiàn)行指令現(xiàn)行指令現(xiàn)行程序現(xiàn)行程序斷點和中斷現(xiàn)場斷點和中斷現(xiàn)場9CPU對中斷的響應條件(中斷控制)對中斷的響應條件(中斷控制)中斷請求信號是否有效(高電平中斷請求信號是否有效(高電平/低電平低電平/上升沿上升沿/下降沿)?下降沿)?CPU是否執(zhí)行完當前指令?是否執(zhí)行完當前指令?當前指令是否能被中斷?當前指令是否能被中斷?中斷請求是否被屏蔽?中斷請求是否被屏蔽?是否已經(jīng)開中
8、斷(是否置位中斷總控位)?是否已經(jīng)開中斷(是否置位中斷總控位)?請求的中斷是否具有足夠高的優(yōu)先級?請求的中斷是否具有足夠高的優(yōu)先級?10舉例:奔騰可屏蔽中斷的控制機制舉例:奔騰可屏蔽中斷的控制機制IF屏蔽控制屏蔽控制CPU優(yōu)先權(quán)裁決優(yōu)先權(quán)裁決可屏蔽可屏蔽中斷請求中斷請求CPU中斷響應中斷響應舉例:奔騰非屏蔽中斷的控制機制舉例:奔騰非屏蔽中斷的控制機制CPU優(yōu)先權(quán)裁決優(yōu)先權(quán)裁決非屏蔽非屏蔽中斷請求中斷請求CPU中斷響應中斷響應11CPU對中斷的響應過程對中斷的響應過程自動入棧保護斷點和中斷現(xiàn)場;自動入棧保護斷點和中斷現(xiàn)場;自動修改中斷控制位和其它標志處理;自動修改中斷控制位和其它標志處理;自動獲
9、取中斷子程入口地址(中斷向量);自動獲取中斷子程入口地址(中斷向量);自動轉(zhuǎn)去運行中斷子程。自動轉(zhuǎn)去運行中斷子程。12保存現(xiàn)場保存現(xiàn)場取中斷子程取中斷子程入口地址入口地址舉例:奔騰舉例:奔騰CPU響應中斷的過程響應中斷的過程當中斷源發(fā)出當中斷源發(fā)出中斷申請中斷申請后,不論是內(nèi)中斷、非屏蔽中斷,后,不論是內(nèi)中斷、非屏蔽中斷,還是可屏蔽中斷,只要還是可屏蔽中斷,只要滿足響應條件滿足響應條件,在執(zhí)行完當前指令,在執(zhí)行完當前指令后,后,CPU內(nèi)部硬件會自動完成下列響應中斷的過程:內(nèi)部硬件會自動完成下列響應中斷的過程: 取中斷類型號取中斷類型號N 當前當前PSW的內(nèi)容入棧的內(nèi)容入棧 清清IF、TF標志為
10、標志為0 當前當前CS的內(nèi)容入棧的內(nèi)容入棧 當前當前IP的內(nèi)容入棧的內(nèi)容入棧 取內(nèi)存單元取內(nèi)存單元( 0 : N 4 )字內(nèi)容送字內(nèi)容送IP取內(nèi)存單元取內(nèi)存單元( 0 : N 4 + 2 )字內(nèi)容送字內(nèi)容送CS 此時此時CS:IP指向中斷程序的入口,開始執(zhí)行中斷程序。指向中斷程序的入口,開始執(zhí)行中斷程序。13奔騰中斷系統(tǒng)中的中斷類型號、奔騰中斷系統(tǒng)中的中斷類型號、中斷向量與中斷向量表中斷向量與中斷向量表主主程程序序中中斷斷子子程程間接調(diào)用間接調(diào)用中斷向量中斷向量NINT N中斷向量表中斷向量表N0:N40:N4+2IRET據(jù)據(jù)N查表得查表得中斷向量中斷向量中斷向量中斷向量OFFSETSEG中斷
11、向量中斷向量255中斷向量中斷向量254中斷向量中斷向量1中斷向量中斷向量001255254中斷類型號中斷類型號中斷子程的中斷子程的入口地址入口地址14奔騰奔騰CPU獲取獲取中斷類型號的方法總結(jié)中斷類型號的方法總結(jié)INTOINTO指令指令 被零除被零除 固定類型號固定類型號00H OF=1 固定類型號固定類型號04H DEBUGDEBUG的單步和斷點操作的單步和斷點操作 單步單步 固定類型號固定類型號01H 斷點斷點 固定類型號固定類型號03H 內(nèi)內(nèi)中中斷斷INT NINT N指令指令 指令中指定類型號指令中指定類型號N 非屏蔽中斷非屏蔽中斷 固定類型號固定類型號02H 外外中中斷斷 可屏蔽中
12、斷可屏蔽中斷CPUCPU按中斷響應周期時序按中斷響應周期時序從數(shù)據(jù)總線上從數(shù)據(jù)總線上獲取中斷類型號獲取中斷類型號 15 CPUCPU通過引腳通過引腳INTA INTA 發(fā)中斷響應信號,通發(fā)中斷響應信號,通知接口芯片開始準備知接口芯片開始準備中斷類型號;中斷類型號; 對于對于可屏蔽中斷可屏蔽中斷,當,當INTR引腳變?yōu)楦唠娖?,并引腳變?yōu)楦唠娖?,并IF=1且有足夠的優(yōu)先權(quán),且有足夠的優(yōu)先權(quán),則在執(zhí)行完當前指令后,則在執(zhí)行完當前指令后,CPU將發(fā)出下列將發(fā)出下列中斷響應周期時序:中斷響應周期時序:中斷類型號中斷類型號 INTACLKAD7AD0T1T2T3T4第一個中斷響應周期第一個中斷響應周期T1
13、T2T3T4第二個中斷響應周期第二個中斷響應周期CPU再發(fā)再發(fā)INTA通知接口芯片將通知接口芯片將中斷類型號送至中斷類型號送至數(shù)據(jù)總線數(shù)據(jù)總線上上CPU從數(shù)據(jù)總線讀從數(shù)據(jù)總線讀取中斷類型號,并取中斷類型號,并完成前述的響應中完成前述的響應中斷的過程斷的過程16中斷返回中斷返回中斷返回通常通過執(zhí)行中斷返回通常通過執(zhí)行中斷返回中斷返回指令實現(xiàn)指令實現(xiàn)。中斷返回指令自動完成中斷返回指令自動完成恢復現(xiàn)場的工作(出棧恢復現(xiàn)場的工作(出棧操作)操作),然后繼續(xù)執(zhí)行被其中斷的程序。,然后繼續(xù)執(zhí)行被其中斷的程序。17第二節(jié)第二節(jié) MSP430的中斷系統(tǒng)的中斷系統(tǒng)18MSP430 中斷控制與 中斷返回指令EIN
14、T;Enable general INTerruptsDINT;Disable general INTerruptsRETI19EINT仿真operarion 1 - GIE開中斷指令開中斷指令 enable general interruptBIS #8 , SR對對 SR 的影響:的影響:Status Bits: are not affectedMode Bits: GIE=1OSCOFF and CPUOFF are not affectedOSCOFFCPUOFFNGIESCG0SCG1VZCreserved15 9 8 7 6 5 4 3 2 1 0 Note:The instruc
15、tion following the EINT is always executed, even if an interrupt service request is pending when the interrupts are enable.20DINT仿真operarion 0 - GIE關(guān)中斷指令關(guān)中斷指令 disable general interruptBIC #8 , SR對對 SR 的影響:的影響:Status Bits: are not affectedMode Bits: GIE=0OSCOFF and CPUOFF are not affectedOSCOFFCPUOFF
16、NGIESCG0SCG1VZCreserved15 9 8 7 6 5 4 3 2 1 0 Note: If any code sequence needs to be protected from interrupt, the DINT should be executed at least one instruction before the beginning of the uninterruptible sequence, or should be followed by a NOP instruction.21中斷子程返回指令RETIoperation SP SRSP+2 SPSP
17、PCSP+2 SPPOP SRPOP PC對對 SR 的影響:的影響:Status Bits: N,Z,C,V: restored from system stackMode Bits: GIE,OSCOFF and CPUOFF are restored fromsystem stack22MSP430的三大中斷源的三大中斷源 系統(tǒng)復位(系統(tǒng)復位(system reset) 非屏蔽中斷(非屏蔽中斷((Non)-maskable NMI) 可屏蔽中斷(可屏蔽中斷(maskable)非屏蔽中斷非屏蔽中斷不可屏蔽中斷不可屏蔽中斷23舉例:舉例:MSP430F149 的中斷源、中斷向量和優(yōu)先級的中斷
18、源、中斷向量和優(yōu)先級24MSP430F149 的系統(tǒng)復位和非屏蔽中斷源的系統(tǒng)復位和非屏蔽中斷源25MSP430F149 的可屏蔽中斷源的可屏蔽中斷源26中斷向量表:中斷向量表: 0FFE0h0FFFEh表中可存放表中可存放16個中斷向量個中斷向量每個中斷向量為每個中斷向量為16BIT由編程者負責編程由編程者負責編程中斷向量中斷向量:中斷服務子程的入口地址中斷服務子程的入口地址注:注:MSP430的某些外設還有的某些外設還有其其“子向量表子向量表”,用以區(qū)分共,用以區(qū)分共享同一個中斷向量的不同中斷享同一個中斷向量的不同中斷請求請求27中斷優(yōu)先級中斷優(yōu)先級 interrupt priority在在
19、MSP430中,不同的中斷有各自固定的中斷優(yōu)先中,不同的中斷有各自固定的中斷優(yōu)先級。當有多個中斷同時請求時,級。當有多個中斷同時請求時,MSP430 CPU將響將響應優(yōu)先級最高的中斷請求。應優(yōu)先級最高的中斷請求。注意:注意:在在MSP430中,中斷優(yōu)先級僅用于裁決中,中斷優(yōu)先級僅用于裁決同時產(chǎn)生的同時產(chǎn)生的中斷請求。如果在某一中斷服務子程中置位中斷請求。如果在某一中斷服務子程中置位GIE(即允許嵌(即允許嵌套),則任何中斷請求均將中斷正在執(zhí)行的中斷服務子程套),則任何中斷請求均將中斷正在執(zhí)行的中斷服務子程(中斷嵌套),而不管中斷的優(yōu)先級如何。即在允許嵌套(中斷嵌套),而不管中斷的優(yōu)先級如何。即
20、在允許嵌套的情況下,低優(yōu)先級的中斷請求可以中斷高優(yōu)先級的中斷的情況下,低優(yōu)先級的中斷請求可以中斷高優(yōu)先級的中斷服務子程的運行,同級的中斷也可以相互嵌套。服務子程的運行,同級的中斷也可以相互嵌套。28非屏蔽中斷的控制機制非屏蔽中斷的控制機制individual enable bitCPU優(yōu)先權(quán)裁決優(yōu)先權(quán)裁決中斷請求中斷請求CPU中斷響應中斷響應(non)_maskable interruptCPU優(yōu)先權(quán)裁決優(yōu)先權(quán)裁決GIECPU中斷響應中斷響應可屏蔽中斷的控制機制(分控位、總控位)可屏蔽中斷的控制機制(分控位、總控位)individual enable bit中斷請求中斷請求maskable i
21、nterrupt1-enable0-disable1-enable0-disable1-enable0-disable29中斷響應過程中斷響應過程當前指令執(zhí)行完畢當前指令執(zhí)行完畢,且滿足響應條件(,且滿足響應條件(?););入棧保護斷點入棧保護斷點:相當于執(zhí)行:相當于執(zhí)行 PUSH PC;入棧保護入棧保護SR:相當于執(zhí)行:相當于執(zhí)行 PUSH SR;優(yōu)先級裁決:優(yōu)先級裁決:若有多個中斷同時請求,則若有多個中斷同時請求,則CPU選擇優(yōu)先選擇優(yōu)先級最高的中斷請求進行響應;級最高的中斷請求進行響應;中斷請求標志的處理:中斷請求標志的處理:對于單一中斷標志的中斷源請求,對于單一中斷標志的中斷源請求,則
22、由則由CPU自動清零該中斷標志;對于有多個中斷標志的自動清零該中斷標志;對于有多個中斷標志的中斷源請求,則中斷標志的清零處理交由中斷服務子程中斷源請求,則中斷標志的清零處理交由中斷服務子程完成(以便于中斷服務子程區(qū)分本次中斷到底是由哪一完成(以便于中斷服務子程區(qū)分本次中斷到底是由哪一個個/哪些中斷標志請求的);哪些中斷標志請求的);清零清零SR(關(guān)中斷,結(jié)束低功耗方式);(關(guān)中斷,結(jié)束低功耗方式);裝載中斷向量至裝載中斷向量至PC,轉(zhuǎn)去執(zhí)行中斷服務子程。,轉(zhuǎn)去執(zhí)行中斷服務子程。30注意:中斷響應過程需要占用堆棧注意:中斷響應過程需要占用堆棧31POP SRPOP PC中斷返回中斷返回在中斷子程
23、中執(zhí)行在中斷子程中執(zhí)行 RETI 指令指令,即可實現(xiàn)中斷返回,即可實現(xiàn)中斷返回,實現(xiàn)恢復中斷現(xiàn)場,并從斷點處繼續(xù)運行被中斷的程實現(xiàn)恢復中斷現(xiàn)場,并從斷點處繼續(xù)運行被中斷的程序(相當于執(zhí)行序(相當于執(zhí)行POP SR 和和 POP PC指令)。指令)。 32ISR33關(guān)中斷關(guān)中斷設置相關(guān)的中斷控制位等設置相關(guān)的中斷控制位等中斷子程中斷子程有關(guān)量的初始化有關(guān)量的初始化開中斷開中斷主程其它工作處理主程其它工作處理開始開始主程序主程序保護現(xiàn)場保護現(xiàn)場清零中斷標志清零中斷標志完成中斷源完成中斷源請求的任務請求的任務恢復現(xiàn)場恢復現(xiàn)場RETI中斷返回中斷返回開始開始中斷子程中斷子程中斷程序結(jié)構(gòu)中斷程序結(jié)構(gòu)34
24、中斷編程舉例中斷編程舉例本章僅舉例本章僅舉例 P1 , P2 和非屏蔽中斷的編程;和非屏蔽中斷的編程;對外設中斷的編程在后續(xù)的相應章節(jié)中講解。對外設中斷的編程在后續(xù)的相應章節(jié)中講解。35P1 和和 P2 中斷中斷外部輸入可屏蔽中斷外部輸入可屏蔽中斷P1和和P2端口的任一引腳均具有中斷功能,即具有端口的任一引腳均具有中斷功能,即具有16個外部個外部輸入可屏蔽中斷源;輸入可屏蔽中斷源;P1端口的端口的8個引腳中斷源共享同一個中斷向量(對于個引腳中斷源共享同一個中斷向量(對于MSP430F149,該中斷向量存放在,該中斷向量存放在0FFE8h0FFE9h中),中),P1中斷的配置通過編程中斷的配置通
25、過編程P1IE,P1IFG和和P1IES三個寄存器三個寄存器實現(xiàn)(實現(xiàn)(set GIE););P2端口的端口的8個引腳中斷源共享同一個中斷向量(對于個引腳中斷源共享同一個中斷向量(對于MSP430F149,該中斷向量存放在,該中斷向量存放在0FFE2h0FFE3h中),中),P2中斷的配置通過編程中斷的配置通過編程P2IE,P2IFG和和P2IES三個寄存器三個寄存器和其它相關(guān)寄存器實現(xiàn)(和其它相關(guān)寄存器實現(xiàn)(set GIE) ;36P1 和和 P2 中斷的配置寄存器介紹中斷的配置寄存器介紹3738P1IES.x=0: 上升沿上升沿P1IES.x=1: 下降沿下降沿P1中斷中斷沿選擇沿選擇寄存
26、器寄存器39P1中斷標志寄存器中斷標志寄存器P1IFG.x=0: No interrupt pendingP1IFG.x=1: An interrupt pending需由軟件清零需由軟件清零P1IFG.x40P1IE.x=0: 屏蔽中斷屏蔽中斷P1IE.x=1: 允許中斷允許中斷P1中斷屏蔽寄存器中斷屏蔽寄存器41P1SEL.x=1: 屏蔽中斷屏蔽中斷P1SEL.x=0: 允許中斷允許中斷P1功能選擇寄存器對功能選擇寄存器對P1中斷的影響中斷的影響低電平有效低電平有效42P1中斷編程中斷編程43P1中斷編程要點中斷編程要點P1SEL.x=0;digital I/OP1IE.x=1;允許中斷;
27、允許中斷GIE=1 ;可屏蔽中斷;可屏蔽中斷P1DIR.x=0;輸入;輸入P1IES.x=?;沿選擇;沿選擇44;*; Port Interrupt on P1.4; A hi to low transition on P1.4 will trigger P1_ISR which toggles P1.0 ;*#include msp430 x149.h;- ORG 0F800h ; Program Reset;-RESET mov #0280h,SP ; Initialize stackpointermov #WDTPW+WDTHOLD,&WDTCTL ; Stop WDTmov.b#00h
28、 , &P1SEL; digital I/Obis.b #001h,&P1DIR ; P1.0 output, P1.4 input bis.b #010h,&P1IE ; P1.4 Interrupt enabled bis.b #010h,&P1IES ; P1.4 hi to low edge bic.b #010h,&P1IFG ; P1.4 IFG Cleared;需由軟件清零需由軟件清零P1IFG.xbis #GIE,SR ; enable interruptsP1中斷編程舉例中斷編程舉例45loop nop ; Required only for debuggerjmploop
29、;-P1_ISR; Toggle P1.0 Outputxor.b #001h,&P1OUT ; P1.0 = toggle bic.b #010h,&P1IFG ; P1.4 IFG Cleared;需由軟件清零需由軟件清零P1IFG.x reti ; Return from ISR;-; Interrupt Vectors;- ORG 0FFFEh ; MSP430 RESET Vector DW RESET ; ORG 0FFE8h ; P1.x Vector DW P1_ISR ; END46思考:如果允許多個思考:如果允許多個 P1 引腳中斷,則程序中引腳中斷,則程序中應如何區(qū)分中斷
30、是由哪一個引腳請求的?應如何區(qū)分中斷是由哪一個引腳請求的?47如果在中斷服務子程中置位如果在中斷服務子程中置位GIE,則允許中斷嵌套。,則允許中斷嵌套。在允許中斷嵌套的情況下,任何中斷請求均將中斷正在執(zhí)在允許中斷嵌套的情況下,任何中斷請求均將中斷正在執(zhí)行的中斷服務子程,而不管中斷的優(yōu)先級如何。行的中斷服務子程,而不管中斷的優(yōu)先級如何。(中斷優(yōu)先級僅用于裁決同時產(chǎn)生的中斷請求)(中斷優(yōu)先級僅用于裁決同時產(chǎn)生的中斷請求)中斷嵌套的條件中斷嵌套的條件 中斷嵌套中斷嵌套 interrupt nesting48CPU正在執(zhí)行某一中斷子程,又被其它中斷源中斷,正在執(zhí)行某一中斷子程,又被其它中斷源中斷,使使
31、CPU轉(zhuǎn)去執(zhí)行另一中斷子程,這個過程叫中斷嵌套轉(zhuǎn)去執(zhí)行另一中斷子程,這個過程叫中斷嵌套 嵌套的概念嵌套的概念中斷子程序中斷子程序1中斷申請中斷申請CPU執(zhí)行流程執(zhí)行流程中斷子程序中斷子程序2set GIE49P1.0中斷請求信號中斷請求信號MSP430F149中斷嵌套中的問題中斷嵌套中的問題t50P1.0中斷子程中斷子程set GIEP1.0中斷子程中斷子程set GIEP1.0中斷子程中斷子程set GIEP1.0中斷子程中斷子程思考:思考:若若P1.0中斷子程運行時間中斷子程運行時間t,則上圖所示的,則上圖所示的中斷嵌套結(jié)構(gòu)將導致怎樣的結(jié)果?中斷嵌套結(jié)構(gòu)將導致怎樣的結(jié)果? 51P1.0 P
32、1.11/3600Hz方波方波實現(xiàn)實現(xiàn)1小時定時小時定時車輛信號車輛信號每一個正脈沖代每一個正脈沖代表檢測到一輛車表檢測到一輛車下圖是某車流量自動檢測系統(tǒng)的原理圖局部及相應的核心下圖是某車流量自動檢測系統(tǒng)的原理圖局部及相應的核心程序段,實現(xiàn)對觀測點的程序段,實現(xiàn)對觀測點的“車輛數(shù)車輛數(shù)/小時小時”的實時檢測與打的實時檢測與打印功能,其定時與車輛計數(shù)均采用中斷實現(xiàn)。印功能,其定時與車輛計數(shù)均采用中斷實現(xiàn)。MSP430F149中斷應用中的互斥操作問題中斷應用中的互斥操作問題52車輛計數(shù)中斷子程車輛計數(shù)中斷子程定時打印并清零中斷子程定時打印并清零中斷子程;開中斷開中斷INCCOUNTRETI;開中斷
33、開中斷CALL PRINT_COUNTMOV #00h,COUNTRETI思考:思考:上述程序有無問題?上述程序有無問題?若有,則將導致怎樣的錯誤結(jié)果?若有,則將導致怎樣的錯誤結(jié)果? 53車輛計數(shù)中斷子程車輛計數(shù)中斷子程定時打印并清零中斷子程定時打印并清零中斷子程;開中斷開中斷MOV COUNT,R4INCR4MOV R4,COUNTRETI;開中斷開中斷CALL PRINT_COUNTMOV #00h,COUNTRETI思考:思考:上述程序有無問題?上述程序有無問題?若有,則將導致怎樣的錯誤結(jié)果?若有,則將導致怎樣的錯誤結(jié)果? 54P2中斷編程中斷編程(自學)(自學)55CAPD : Comparator_A Port Disable(05Bh)x=0,1,2,6,75657P2 (P2.5除外除外)中斷編程要點中斷編程要點CAPD.x=0P2SEL.x=0P2IE.x=1GIE=1P2DIR.x=058
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年重慶貨運從業(yè)資格證模擬試題答案大全及答案
- 2025年貴州貨運從業(yè)資格證500道題目答案
- 2025年池州道路貨運駕駛員從業(yè)資格證考試
- 2025年巴彥淖爾貨運從業(yè)資格證考試模擬考試
- 病人護理服務合同(2篇)
- 北京課改版歷史七年級下冊第2課《貞觀之治》聽課評課記錄
- 2024-2025學年八年級數(shù)學上冊第十三章軸對稱13.1軸對稱教案新版新人教版
- 2024-2025學年高中數(shù)學課時分層作業(yè)13向量的概念含解析新人教B版必修4
- 2024-2025學年七年級數(shù)學上冊第1章有理數(shù)1.5有理數(shù)的乘法和除法作業(yè)設計新版湘教版
- 英語七年級聽評課記錄
- 西門子starter軟件簡易使用手冊
- 暢捷通g6財務管理系統(tǒng)專業(yè)版使用手冊
- 化工儀表及自動化ppt課件匯總?cè)譸pt完整版課件最全教學教程整套課件全書電子教案全套電子講義
- 2022注冊電氣工程師專業(yè)考試規(guī)范清單匯總
- 桂花-作文ppt-PPT課件(共14張)
- 高一數(shù)學概率部分知識點總結(jié)及典型例題解析 新課標 人教版 必修
- 鐵路運費計算方法
- 《小腦梗死護理查房》
- 免疫及炎癥相關(guān)信號通路
- 某風電場設備材料設備清單
- —橋梁專業(yè)施工圖設計審查要(終)
評論
0/150
提交評論