飛思卡爾2.7中斷_第1頁
飛思卡爾2.7中斷_第2頁
飛思卡爾2.7中斷_第3頁
飛思卡爾2.7中斷_第4頁
飛思卡爾2.7中斷_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1第7章 S12中斷系統(tǒng)7.1 中斷系統(tǒng)概述中斷系統(tǒng)概述 中斷概念:指某外部事件或異常發(fā)生時(shí),中斷概念:指某外部事件或異常發(fā)生時(shí),CPU暫暫時(shí)停止執(zhí)行當(dāng)前的程序時(shí)停止執(zhí)行當(dāng)前的程序(保護(hù)斷點(diǎn)保護(hù)斷點(diǎn)),轉(zhuǎn)向中斷服務(wù)程,轉(zhuǎn)向中斷服務(wù)程序;中斷處理完后返回原來的程序繼續(xù)運(yùn)行序;中斷處理完后返回原來的程序繼續(xù)運(yùn)行(恢復(fù)斷恢復(fù)斷點(diǎn)點(diǎn))。 中斷是中斷是MCU的重要功能。的重要功能。 S12MCU豐富的中斷源:豐富的中斷源: 多個(gè)普通中斷、多個(gè)特殊中斷。多個(gè)普通中斷、多個(gè)特殊中斷。2347.1.2 S12XS的中斷的中斷 不可屏蔽中斷:不可屏蔽中斷: 非法指令中斷非法指令中斷 TRAP 軟件中斷軟件中斷

2、SWI 外部中斷外部中斷 XIRQ 系統(tǒng)中斷系統(tǒng)中斷 SYS 偽中斷偽中斷 可屏蔽中斷可屏蔽中斷 ( I位可屏蔽中斷位可屏蔽中斷 ) IRQ、RTI、TIME、SCI、SPI、CAN等功能部件。等功能部件。 CCR的的X、I位位 - 0=允許中斷;允許中斷;1=屏蔽中斷,復(fù)位默認(rèn)屏蔽中斷,復(fù)位默認(rèn)1。 CCR的的X位可設(shè)置一次位可設(shè)置一次,不能發(fā)生不能發(fā)生0到到1的變化即不能關(guān)閉。的變化即不能關(guān)閉。5678中斷優(yōu)先級(jí):非中斷優(yōu)先級(jí):非I位可屏蔽位可屏蔽 I位可屏蔽;位可屏蔽;非非I位可屏蔽中斷可以中斷位可屏蔽中斷可以中斷I位可屏蔽中斷,且位可屏蔽中斷,且IPL不變;不變; 例如:例如: 在中斷

3、中加入在中斷中加入 SWI指令,可以中斷一個(gè)指令,可以中斷一個(gè)I位可屏蔽中斷。位可屏蔽中斷。 偽中斷偽中斷 :$FF10 , 最底部。優(yōu)先級(jí)最底部。優(yōu)先級(jí) ?。?。 系統(tǒng)中斷系統(tǒng)中斷 :$FF129IVBR = $FF : $FF10 TO $FFFE IVBR = $EF :$EF10 TO $EFFE107.1.3 中斷優(yōu)先級(jí)中斷優(yōu)先級(jí) 不可屏蔽中斷高于可屏蔽中斷,可以被多級(jí)嵌套。不可屏蔽中斷高于可屏蔽中斷,可以被多級(jí)嵌套。l 不可屏蔽中斷的優(yōu)先級(jí)不可屏蔽中斷的優(yōu)先級(jí) -由硬件規(guī)定,按以下次序遞減:由硬件規(guī)定,按以下次序遞減: 上電復(fù)位或外部上電復(fù)位或外部RESET引腳復(fù)位;引腳復(fù)位; 時(shí)

4、鐘監(jiān)視復(fù)位時(shí)鐘監(jiān)視復(fù)位 看門狗復(fù)位看門狗復(fù)位 指令陷阱指令陷阱TRAP 軟件中斷軟件中斷SWI 外部中斷外部中斷XIRQ1112可屏蔽中斷的優(yōu)先級(jí) 系統(tǒng)復(fù)位后,系統(tǒng)復(fù)位后, 小于等于小于等于$FF12的中斷向量激活狀態(tài)。的中斷向量激活狀態(tài)。 默認(rèn)優(yōu)先級(jí)為默認(rèn)優(yōu)先級(jí)為1級(jí),可以重新設(shè)置;級(jí),可以重新設(shè)置; 非屏蔽中斷、非屏蔽中斷、SYS中斷、偽中斷不能被屏蔽;中斷、偽中斷不能被屏蔽; 當(dāng)優(yōu)先級(jí)相等時(shí),當(dāng)優(yōu)先級(jí)相等時(shí), 中斷向量地址高的中斷優(yōu)先級(jí)高;中斷向量地址高的中斷優(yōu)先級(jí)高; 13 2.7.3 中斷處理過程、優(yōu)先級(jí)與嵌套中斷處理過程、優(yōu)先級(jí)與嵌套 1.中斷處理的基本流程中斷處理的基本流程 (1

5、)中斷請(qǐng)求及條件中斷請(qǐng)求及條件 中斷源中斷源未被屏蔽未被屏蔽,且,且中斷允許中斷允許觸發(fā)器被置位。觸發(fā)器被置位。 (2)中斷響應(yīng)中斷響應(yīng) 一般在現(xiàn)行指令結(jié)束時(shí)檢測(cè)中斷請(qǐng)求,如中斷響應(yīng)條一般在現(xiàn)行指令結(jié)束時(shí)檢測(cè)中斷請(qǐng)求,如中斷響應(yīng)條件滿足就進(jìn)入中斷響應(yīng)周期,件滿足就進(jìn)入中斷響應(yīng)周期,自動(dòng)進(jìn)行自動(dòng)進(jìn)行3件事件事: n關(guān)中斷,即將關(guān)中斷,即將CCR的的I位置位置1,以屏蔽其它中斷干擾。,以屏蔽其它中斷干擾。n保護(hù)斷點(diǎn)地址和標(biāo)志寄存器保護(hù)斷點(diǎn)地址和標(biāo)志寄存器CCR的內(nèi)容壓入到堆棧,的內(nèi)容壓入到堆棧,即現(xiàn)場(chǎng)保護(hù)。即現(xiàn)場(chǎng)保護(hù)。 跳轉(zhuǎn)到中斷服務(wù)程序的入口地址,即將中斷向量地址跳轉(zhuǎn)到中斷服務(wù)程序的入口地址,即

6、將中斷向量地址的內(nèi)容載入的內(nèi)容載入PC。14154. 中斷嵌套中斷嵌套中斷向量地址:中斷向量地址: $FF00 TO $FFFF , 共共16*8=128個(gè)個(gè).中斷請(qǐng)求配置地址寄存器中斷請(qǐng)求配置地址寄存器INT_CFADDR:高高4為可以寫入為可以寫入$0 TO $F , 共共16個(gè)地址。個(gè)地址。例如:例如: $E0 對(duì)應(yīng)選擇了對(duì)應(yīng)選擇了8個(gè)中斷源個(gè)中斷源 $FFE0 ,$FFE2 ,.$FFEE (TC7 TC0 計(jì)時(shí)器計(jì)時(shí)器)1617中斷請(qǐng)求配置數(shù)據(jù)寄存器中斷請(qǐng)求配置數(shù)據(jù)寄存器INT_CFDATA0 - 718INT_CFADDR = $E0INT_CFDATA7 設(shè)置設(shè)置TC7 優(yōu)先級(jí)優(yōu)

7、先級(jí) . . . .INT_CFDATA0 設(shè)置設(shè)置TC0優(yōu)先級(jí)優(yōu)先級(jí)19Bit7Bit6Bit5 Bit4 Bit3 Bit2 Bit1 Bit0IRQEIRQEN0000007.3 中斷程序設(shè)計(jì)中斷程序設(shè)計(jì) 主程序中進(jìn)行中斷初始化,并執(zhí)行占用時(shí)間較多的程序;主程序中進(jìn)行中斷初始化,并執(zhí)行占用時(shí)間較多的程序; 中斷服務(wù)程序要求簡(jiǎn)短、高效,條件苛刻時(shí)盡量使用匯編語言中斷服務(wù)程序要求簡(jiǎn)短、高效,條件苛刻時(shí)盡量使用匯編語言; 在整個(gè)源程序的末尾聲明中斷子程序的所對(duì)應(yīng)的矢量地址,格在整個(gè)源程序的末尾聲明中斷子程序的所對(duì)應(yīng)的矢量地址,格式如例式如例; 以上所有源程序會(huì)通過以上所有源程序會(huì)通過IDE集成

8、開發(fā)環(huán)境自動(dòng)進(jìn)行編譯、鏈集成開發(fā)環(huán)境自動(dòng)進(jìn)行編譯、鏈接、定位,形成可執(zhí)行機(jī)器代碼。接、定位,形成可執(zhí)行機(jī)器代碼。20程序說明:程序說明:IRQ中斷觸發(fā)的中斷觸發(fā)的LED跑馬燈跑馬燈,LED接接B口,口, B口高口高4位輸出低電平時(shí)點(diǎn)亮位輸出低電平時(shí)點(diǎn)亮.MY_EXTENDED_RAM: SECTION FLAG EQU $2000 MyCode: SECTION ; code sectionmain:Entry: LDS #_SEG_END_SSTACK LDAA #$FF STAA DDRB ;設(shè)置設(shè)置B口為輸出口為輸出 LDAA #$C0 STAA IRQCR ;設(shè)置外部中斷設(shè)置外部中斷I

9、RQ使能使能, ;下降沿觸發(fā)下降沿觸發(fā) CLI ;開中斷開中斷 LDAA #$FF STAA PORTB ;先全熄滅先全熄滅 LDAA #$00 STAA FLAG ;送停止標(biāo)志送停止標(biāo)志$00給給FLAG 21WAIT: CMPA FLAG BEQ WAIT ;FLAG為為$00等待等待 SEC ;C置置1 LDAA #$FE SHIFT: STAA PORTB ;亮亮1個(gè)燈個(gè)燈 BSR DELAY ;延時(shí)延時(shí) ROLA ;循環(huán)左移循環(huán)左移 BRCLR PTP,#$01,CANCEL ;檢測(cè)檢測(cè)P口最低位的按鍵口最低位的按鍵 BRA SHIFT ;持續(xù)循環(huán)持續(xù)循環(huán)CANCEL: LDAA #$00 STAA FLAG ;送停止標(biāo)志送停止標(biāo)志$00給給FLAG BRA WAIT ;跳回等待跳回等待 22IRQ_ISR: ; 中斷服務(wù)子程序中斷服務(wù)子程序 LDAA #$FF STAA FLAG ; 送跑馬標(biāo)志送跑馬標(biāo)志$FF給給FLAG RTI ; 中斷返回中斷返回 DELAY: ; 子程序子程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論