版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第五章MCS-51中斷系統(tǒng)§5.1中斷的概念§5.2MCS-51中斷系統(tǒng)的實(shí)現(xiàn)結(jié)構(gòu)§5.3中斷請(qǐng)求源§5.4中斷控制§5.5中斷響應(yīng)§5.6外部中斷的響應(yīng)時(shí)間§5.7外部中斷的觸發(fā)方式選擇§5.8中斷請(qǐng)求的撤消§5.9中斷服務(wù)程序的設(shè)計(jì)§5.10多外部中斷源系統(tǒng)設(shè)計(jì)§5.1中斷的概念
中斷的概念
中斷就是計(jì)算機(jī)處理一種異步突發(fā)性事件的功能。即CPU正在處理某件事情(程序)的時(shí)候,外部發(fā)生需CPU迅速去處理的異步事件時(shí),CPU能中斷當(dāng)前程序,轉(zhuǎn)入處理異步事件的程序,處理完后再返回到原被中斷的程序處,繼續(xù)原來(lái)的程序執(zhí)行。在CPU中實(shí)現(xiàn)該功能的部件為中斷系統(tǒng)?!?.2MCS-51中斷系統(tǒng)的結(jié)構(gòu)中斷系統(tǒng)結(jié)構(gòu)§5.3中斷請(qǐng)求源一.中斷源外部中斷INT0外部中斷INT1內(nèi)部定時(shí)器/計(jì)數(shù)器T0內(nèi)部定時(shí)器/計(jì)數(shù)器T1內(nèi)部定時(shí)器/計(jì)數(shù)器T2內(nèi)部串行通訊口RI/TI§5.3中斷請(qǐng)求源二.中斷源信號(hào)鎖存特殊寄存器TCON、SCON(88H、98H、0C8H)TF0、TF1內(nèi)部定時(shí)器溢出中斷標(biāo)志,“1”中斷請(qǐng)求有效IE0、IE1外部有中斷請(qǐng)求標(biāo)志,“1”中斷請(qǐng)求有效IT1、IT0外部中斷請(qǐng)求輸入信號(hào)形式選擇控制位,IT1=1,則外部輸入下降邊沿觸發(fā)方式,IT1=0,則外部輸入低電平觸發(fā)方式。外部中斷請(qǐng)求輸入信號(hào)由CPU在每一個(gè)機(jī)器周期的S5P2采樣,若IT1=0,則輸入為低電平使IE1置“1”,若IT1=1,則第一次為高電平,第二次為低電平使IE1置“1”。一個(gè)中斷有效脈沖寬度須保持12個(gè)振蕩周期。TF1TF0IE1IT1IE0IT0D7D0TF1TF0IE1IT1IE0IT0D7D0§5.3中斷請(qǐng)求源二.中斷源信號(hào)鎖存特殊寄存器TCON、SCON、T2CON
(88H、98H、0C8H
)TF2:T2的計(jì)數(shù)滿的中斷標(biāo)志。EXF2:T2外部中斷標(biāo)志。T2CON中其余各位的功能請(qǐng)參閱有關(guān)T2的功能資料。SCONTI:串行口發(fā)送完一個(gè)數(shù)據(jù)的中斷標(biāo)志,當(dāng)串行口發(fā)送完一個(gè)數(shù)據(jù),則TI=1。RI:串行口接收完一個(gè)數(shù)據(jù)的中斷標(biāo)志,當(dāng)串行口接收完一個(gè)數(shù)據(jù),則RI=1。T2CON§5.4中斷控制一.中斷使能寄存器IE(A8H)
當(dāng)中斷請(qǐng)求信號(hào)輸入時(shí),CPU是否響應(yīng)該中斷,可以由中斷允許使能寄存器的某一位控制。EACPU的中斷開(kāi)放標(biāo)志。EA=0,關(guān)蔽所有的中斷申請(qǐng),EA=1,允許所以的中斷源的中斷。ES
行口中斷允許位。ES=0,禁止中斷,ES?EA=1,允許。ET1、ET0
定時(shí)器/計(jì)數(shù)器中斷允許位。ET1=0,禁止中斷,ET1?EA=1,允許。EX1、EX0
外部中斷允許位。EX1=0,禁止中斷,EX1?EA=1,允許。
EAESET1EX1ET0EX0D7D0§5.4中斷控制一.中斷使能寄存器IE(A8H)
中斷允許寄存器的內(nèi)容可以由置位和清零以及立即數(shù)傳送指令改變。例4.1假設(shè)允許片內(nèi)定時(shí)器/計(jì)數(shù)器中斷,禁止其它中斷源的中斷請(qǐng)求。試根據(jù)假設(shè)條件設(shè)置IE的相應(yīng)值。解:(1)CLRES(2)MOVIE,#8AHCLREX1CLREX0SETBET1SETBET0SETBEA§5.4中斷控制二.中斷優(yōu)先級(jí)當(dāng)CPU正在處理中斷事件程序,此時(shí)又發(fā)生異步突發(fā)事件需要CPU處理,這時(shí)CPU是否響應(yīng),則由中斷優(yōu)先級(jí)控制器決定。高級(jí)別中斷源可以中斷低級(jí)別的中斷源。MCS-51有兩個(gè)中斷優(yōu)先級(jí),實(shí)現(xiàn)二級(jí)中斷嵌套。1.優(yōu)先級(jí)寄存器IP(0B8H)
MCS-51的每一中斷源的中斷優(yōu)先級(jí)可由中斷優(yōu)先級(jí)選擇寄存器的某一位內(nèi)容決定。PS
串行口中斷優(yōu)先級(jí)控制位,PS=1,則為高級(jí)中斷。PT1、PT0定時(shí)/計(jì)數(shù)器1、0中斷優(yōu)先級(jí)控制位,PT1=1,則為高級(jí)中斷。PX1、PX0外部中斷1、0中斷優(yōu)先級(jí)控制位,PX1=1,則為高級(jí)中斷。PSPT1PX1PT0PX0D7D0§5.4中斷控制二.中斷優(yōu)先級(jí)
2.同級(jí)中斷源的優(yōu)先級(jí)同級(jí)中斷源的優(yōu)先級(jí)別,如圖所示?!?.4中斷控制二.中斷優(yōu)先級(jí)例4.2設(shè)置IP寄存器的初始值,使得CPU的兩個(gè)外中斷為高優(yōu)先級(jí),其它中斷為低優(yōu)先級(jí)。解:(1)SETBPX0(2)MOVIP,#05HSETBPX1CLRPSCLRPT0CLRPT1§5.5中斷響應(yīng)一.中斷響應(yīng)
MCS-51的CPU在每一個(gè)機(jī)器周期的S6按順序檢查每一個(gè)中斷源標(biāo)志。如果查詢(xún)到被激活(中斷允許標(biāo)志為“1”)的中斷請(qǐng)求(該中斷源標(biāo)志為“1”),并且沒(méi)有下面的阻止條件,則在下一個(gè)機(jī)器周期的開(kāi)始狀態(tài)按優(yōu)先級(jí)別響應(yīng)中斷請(qǐng)求。阻止中斷響應(yīng)的條件:CPU正在處理相同的或更高優(yōu)先級(jí)的中斷,(同級(jí)或更高級(jí)中斷程序處理完才能響應(yīng)新的中斷程序)?,F(xiàn)行的機(jī)器周期不是所執(zhí)行指令的最后一個(gè)機(jī)器周期,(當(dāng)前指令執(zhí)行完畢才能響應(yīng)中斷)。CPU正在執(zhí)行RETI或?qū)E、IP的寫(xiě)操作指令,(這條指令執(zhí)行完后,需再執(zhí)行一條指令后才能響應(yīng)中斷)§5.5中斷響應(yīng)二.中斷響應(yīng)過(guò)程(中斷入口地址)
CPU響應(yīng)中斷,即轉(zhuǎn)入執(zhí)行中斷程序,進(jìn)入中斷程序的方法是自動(dòng)執(zhí)行一條子程序調(diào)用指令“LCALLaddr16”,調(diào)用指令的地址是由CPU的硬件規(guī)定(固定)。MCS-51中斷程序入口地址是:中斷源入口地址外部中斷00003H
定時(shí)/計(jì)數(shù)器T0000BH
外部中斷10013H
定時(shí)/計(jì)數(shù)器T1001BH
串行口中斷0023H
定時(shí)/計(jì)數(shù)器T2002BH
例響應(yīng)外部中斷1的長(zhǎng)調(diào)用指令為:
LCALL0013H§5.6外部中斷的響應(yīng)時(shí)間外部中斷的響應(yīng)時(shí)間
CPU從INT0或INT1采樣到中斷信號(hào)到開(kāi)始響應(yīng)中斷需一個(gè)機(jī)器周期,CPU從開(kāi)始響應(yīng)中斷到進(jìn)入中斷服務(wù)程序須兩個(gè)(執(zhí)行一條子程序調(diào)用指令需二個(gè)機(jī)器周期)。所以整個(gè)中斷響應(yīng)時(shí)間最少需要三個(gè)完整的機(jī)器周期。若CPU采樣到中斷信號(hào),而CPU正在執(zhí)行RETI或?qū)E和IP寫(xiě)數(shù)據(jù)指令(這些指令需二個(gè)機(jī)器周期),并且后面跟的是DIV或MUL指令(這些指令需四個(gè)機(jī)器周期),再加一條子程序調(diào)用指令(二個(gè)機(jī)器周期),所以需要8個(gè)機(jī)器周期。如果中斷請(qǐng)求被前面列出的第一條件所阻止,則中斷響應(yīng)需要跟長(zhǎng)的時(shí)間。該情況下中斷響應(yīng)時(shí)間由同級(jí)或高級(jí)的中斷程序的執(zhí)行時(shí)間決定。§5.7外部中斷觸發(fā)方式的選擇外部中斷的觸發(fā)有兩種方式:電平觸發(fā)方式和邊沿觸發(fā)方式外部中斷觸發(fā)方式使用要求1)電平觸發(fā)方式外部中斷輸入信號(hào)必須有效(保持低電平),直至CPU實(shí)際響應(yīng)中斷為止。中斷服務(wù)程序結(jié)束返回之前,應(yīng)使中斷請(qǐng)求信號(hào)變成無(wú)效,否則CPU返回后會(huì)再一次響應(yīng)。2)邊沿觸發(fā)方式一個(gè)中斷有效脈沖寬度須保持12個(gè)振蕩周期。才能被CPU在兩個(gè)機(jī)器周期的S5P2處采樣到,并將中斷請(qǐng)求標(biāo)志IE0(或IE1)自動(dòng)置為“1”。中斷響應(yīng)后,中斷請(qǐng)求信號(hào)IE0(或IE1)由硬件自動(dòng)清零?!?.8中斷請(qǐng)求信號(hào)的撤消一.定時(shí)器/計(jì)數(shù)器中斷請(qǐng)求的撤消定時(shí)器/計(jì)數(shù)器的中斷請(qǐng)求被響應(yīng)后,CPU會(huì)自動(dòng)清中斷請(qǐng)求標(biāo)志位(TF0或TF1),因此中斷請(qǐng)求自動(dòng)撤消。二.外部中斷請(qǐng)求的撤消
1.邊沿方式觸發(fā)請(qǐng)求中斷中斷請(qǐng)求被響應(yīng)后,CPU會(huì)自動(dòng)清中斷請(qǐng)求標(biāo)志位(IE0或IE1),此時(shí)外部中斷輸入脈沖已消失,因此中斷請(qǐng)求自動(dòng)撤消。
2.電平方式觸發(fā)請(qǐng)求中斷中斷請(qǐng)求被響應(yīng)后,CPU會(huì)自動(dòng)清中斷請(qǐng)求標(biāo)志位(IE0或IE1),
此時(shí)如外部中斷輸入電平繼續(xù)有效,中斷標(biāo)志會(huì)再次置“1”,因此中斷請(qǐng)求不能自動(dòng)撤消,所以應(yīng)該將中斷低電平撤消才能撤消中斷請(qǐng)求。實(shí)現(xiàn)電路如圖所示。INT0P1.0QDCPSDSETBP1.0CLRP1.0SETBP1.0外部中斷請(qǐng)求信號(hào)SD外部中斷請(qǐng)求信號(hào)外部中斷請(qǐng)求信號(hào)§5.9中斷服務(wù)程序設(shè)計(jì)一.中斷服務(wù)程序設(shè)計(jì)的任務(wù)1.設(shè)置中斷允許控制寄存器IE2.設(shè)置中斷優(yōu)先級(jí)寄存器IP3.若是外部中斷源,還設(shè)置中斷請(qǐng)求的觸發(fā)方式IT1或IT04.編寫(xiě)中斷服務(wù)程序,處理中斷請(qǐng)求功能5.前三條程序一般放在主程序的初始化程序段中。例6.3假設(shè)允許外部中斷0中斷,并設(shè)定它為高級(jí)中斷,其它中斷源為低級(jí)中斷,采用邊沿觸發(fā)方式。解:(1)SETBEA(2)MOVIE,#81HSETBEX0MOVIP,#01HSETBPX0MOVTCON,#01HSETBIT0
100000010000000100000001§5.9中斷服務(wù)程序設(shè)計(jì)二.采用中斷時(shí)的主程序結(jié)構(gòu)常用中斷時(shí)的主程序結(jié)構(gòu)如下:
ORG0000HLJMPMAIN:ORG中斷入口地址(如果是外部中斷1,則為0013H)
LJMPINT:MAIN:主程序:INT:中斷服務(wù)程序:注意:對(duì)于多個(gè)中斷請(qǐng)求,就有多個(gè)對(duì)應(yīng)的“ORG中斷入口地址”,并且這多個(gè)中斷入口地址應(yīng)由小到大排列§5.9中斷服務(wù)程序設(shè)計(jì)三.中斷服務(wù)程序的流程結(jié)構(gòu)1.現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)
PUSHACCPUSHPSW…POPPSWPOPACC2.關(guān)中斷和開(kāi)中斷
CLREA…SETBEA3.中斷處理4.中斷返回
RETI右邊程序流程圖用程序表示為:關(guān)中斷現(xiàn)場(chǎng)保護(hù)開(kāi)中斷中斷處理關(guān)中斷現(xiàn)場(chǎng)恢復(fù)開(kāi)中斷中斷返回INT:CLREAPUSHPSWPUSHACCSETBEA
CLREAPOPACCPOPPSWSETBEARETI中斷服務(wù)處理程序§5.9中斷服務(wù)程序設(shè)計(jì)若在一個(gè)MCS-51單片機(jī)應(yīng)用系統(tǒng)中,有四個(gè)中斷源,其中有外部中斷源INT0、INT1,定時(shí)器/計(jì)數(shù)器中斷源T0和T1。INT0為高級(jí)中斷,中斷信號(hào)為低電平信號(hào),中斷服務(wù)子程序入口地址(即存儲(chǔ)地址)為6000h;INT1為低級(jí)中斷,中斷信號(hào)為負(fù)脈沖信號(hào),中斷服務(wù)子程序的入口地址(存儲(chǔ)地址)為7000h;T0和T1均為高級(jí)中斷,它們的中斷服務(wù)子程序的入口地址(即存儲(chǔ)地址)分別為8000h和9000h。設(shè)系統(tǒng)中其它的中斷源不工作。要求:(1)編一段實(shí)現(xiàn)上述功能的中斷系統(tǒng)初始化程序。(2)如外部中斷INT0中斷產(chǎn)生時(shí),將外部數(shù)據(jù)存儲(chǔ)器8000H開(kāi)始的存儲(chǔ)器內(nèi)存放的10個(gè)數(shù)送到內(nèi)部數(shù)據(jù)存儲(chǔ)器40H到49H的單元里,傳送過(guò)中判斷是0則停止傳送。§5.9中斷服務(wù)程序設(shè)計(jì)解:(1)決定中斷功能寄存器的控制值
TCON=00000100
或IT0=0,IT1=1IE=10001111
或EA=1,EX0=1,EX1=1,
ET0=1,ET1=1IP=00001011
或PX0=1,PX1=0,PT0=1,PT1=1TMOD=00000000
§5.9中斷服務(wù)程序設(shè)計(jì)
(2)決定中斷入口地址
ORG0000HLJMPMAIN
:
ORG0003HLJMPINT0
:
ORG000BHLJMPT0
:
ORG0013HLJMPINT1
:
ORG001BHLJMPT1
:§5.9中斷服務(wù)程序設(shè)計(jì)
(3)編寫(xiě)中斷初始化主程序段
ORG0040hORG0040HMAIN:MOVSP,#60HMAIN:MOVSP,#60HMOVTCON,#04HCLRIT0MOVIE,#8FHSETBIT1MOVIP,#0BHSETBEA
:SETBEX0SETBEX1SETBET0SETBET1SETBPX0CLRPX1SETBPT0SETBPT1:§5.9中斷服務(wù)程序設(shè)計(jì)(4)編寫(xiě)外部中斷0(INN0)中斷服務(wù)字程序
ORG6000H INT0:PUSHACCPUSHPSWCLRRS0;改變工作寄存區(qū)
SETBRS1 MOVR0,#40H ;基礎(chǔ)地址
MOVR2,#10 ;傳遞數(shù)據(jù)的數(shù)量
MOVDPTR,#8000H ;數(shù)據(jù)地址LOOP:MOVXA,@DPTR;傳送循環(huán)
JZEXIT_LOOP ;遇到0跳出程序
MOV@R0,A INCR0 ;改變指針
INCDPTR DJNZR2,LOOPEXIT_LOOP:POPPSWPOPACC RETI§5.9中斷服務(wù)程序設(shè)計(jì)
其它中斷服務(wù)子程序
ORG7000HINT1:
:
ORG8000HT0::ORG9000HT1::§5.10多外部中斷源系統(tǒng)設(shè)計(jì)一.中斷和查詢(xún)結(jié)合的方法ORG0013HLJMPINT1:INT1:PUSHPSWPUSHACCJNBP1.0,IR1JNBP1.1,IR2JNBP1.2,IR3NJBP1.3,IR4INTIR:POP
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作室《高中生職業(yè)生涯規(guī)劃教育內(nèi)容及途徑的行動(dòng)研究》開(kāi)題報(bào)告初稿
- 借款合同個(gè)人協(xié)議書(shū)七篇
- 二婚離婚協(xié)議范本模板
- 《再塑生命的人》課件統(tǒng)編版語(yǔ)文七年級(jí)上冊(cè)
- 藥物性蕁麻疹病因介紹
- 中考政治總復(fù)習(xí)第四單元自然界的水教材知識(shí)梳理
- (立項(xiàng)備案申請(qǐng)模板)雕塑品項(xiàng)目可行性研究報(bào)告參考范文
- (案例)塑膠容器項(xiàng)目立項(xiàng)報(bào)告
- (2024)芒硝礦項(xiàng)目可行性研究報(bào)告寫(xiě)作范本(一)
- 專(zhuān)題23 走進(jìn)法治天地 (講義)(原卷版)
- 【MOOC】國(guó)際商務(wù)-暨南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2024年“新華三杯”全國(guó)大學(xué)生數(shù)字技術(shù)大賽備賽試題庫(kù)(含答案)
- 2024年新課標(biāo)培訓(xùn)2022年小學(xué)英語(yǔ)新課標(biāo)學(xué)習(xí)培訓(xùn)課件
- 人教版(2024新版)七年級(jí)上冊(cè)生物期末復(fù)習(xí)全冊(cè)知識(shí)點(diǎn)提綱
- 2024新版有限空間作業(yè)安全大培訓(xùn)
- 2024國(guó)家開(kāi)放大學(xué)電大專(zhuān)科《人文英語(yǔ)1》期末試題及答案
- 創(chuàng)業(yè)實(shí)務(wù)智慧樹(shù)知到期末考試答案章節(jié)答案2024年山東大學(xué)
- 中外石油文化智慧樹(shù)知到期末考試答案2024年
- 醫(yī)療器械售后服務(wù)能力證明資料模板
- 2024年中郵保險(xiǎn)公司招聘筆試參考題庫(kù)含答案解析
- 萬(wàn)能中國(guó)地圖模板(可修改)
評(píng)論
0/150
提交評(píng)論