微機(jī)原理與應(yīng)用-05 中斷系統(tǒng)_第1頁(yè)
微機(jī)原理與應(yīng)用-05 中斷系統(tǒng)_第2頁(yè)
微機(jī)原理與應(yīng)用-05 中斷系統(tǒng)_第3頁(yè)
微機(jī)原理與應(yīng)用-05 中斷系統(tǒng)_第4頁(yè)
微機(jī)原理與應(yīng)用-05 中斷系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章MCS-51的中斷系統(tǒng)主要內(nèi)容中斷的概念中斷系統(tǒng)結(jié)構(gòu)及中斷控制中斷處理過(guò)程外部中斷源的應(yīng)用§5-1中斷的概念

1.輸入輸出方式無(wú)條件傳送

不需要測(cè)試外部設(shè)備的狀態(tài),CPU可以根據(jù)需要隨時(shí)進(jìn)行數(shù)據(jù)傳送操作查詢傳送CPU在傳輸數(shù)據(jù)之前進(jìn)行查詢DMA方式 直接存儲(chǔ)器存取方式,CPU讓出數(shù)據(jù)總線,使得外部設(shè)備和存儲(chǔ)器之間直接傳輸。中斷方式實(shí)現(xiàn)計(jì)算機(jī)對(duì)外界發(fā)生的事件進(jìn)行及時(shí)實(shí)時(shí)處理。2.中斷的概念計(jì)算機(jī)暫時(shí)中止正在執(zhí)行的主程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,并在中斷服務(wù)程序執(zhí)行完了之后能自動(dòng)回到原主程序處繼續(xù)執(zhí)行,這個(gè)過(guò)程叫做“中斷”。某人看書 執(zhí)行主程序 日常事務(wù)電話鈴響 中斷信號(hào)INT=0中斷請(qǐng)求暫??磿?/p>

暫停執(zhí)行主程序中斷響應(yīng)書中作記號(hào)當(dāng)前PC入棧 保護(hù)斷點(diǎn)電話談話 執(zhí)行I/O程序中斷服務(wù)繼續(xù)看書 返回主程序 中斷返回2.中斷的概念日常事務(wù)主程序中斷服務(wù)程序中斷系統(tǒng):實(shí)現(xiàn)處理功能的硬件和軟件系統(tǒng)中斷源:產(chǎn)生中斷的請(qǐng)求源中斷請(qǐng)求:中斷源向CPU提出處理要求斷點(diǎn):原來(lái)程序被中斷的地方中斷服務(wù):對(duì)中斷事件響應(yīng)的處理過(guò)程中斷返回:結(jié)束中斷服務(wù)程序,返回被中斷的主程序3.中斷的產(chǎn)生I/O設(shè)備:I/O設(shè)備向CPU發(fā)出中斷請(qǐng)求數(shù)據(jù)通道中的中斷源:如磁盤、磁帶等硬件故障:如電源掉電、存儲(chǔ)出錯(cuò)等實(shí)時(shí)時(shí)鐘與計(jì)數(shù)為調(diào)試程序而設(shè)置的中斷4.中斷的功能分時(shí)操作。在多項(xiàng)外部設(shè)備同時(shí)提出中斷請(qǐng)求情況下,CPU能根據(jù)輕重緩急響應(yīng)外設(shè)的中斷請(qǐng)求;CPU可以分時(shí)為多個(gè)I/O設(shè)備服務(wù),提高了計(jì)算機(jī)的利用率;

CPU與外部設(shè)備并行工作,以中斷方式相聯(lián)系,提高工作效率;實(shí)時(shí)響應(yīng)。根據(jù)現(xiàn)場(chǎng)隨時(shí)變化的各種參數(shù)、信息,做出實(shí)時(shí)監(jiān)控;對(duì)突發(fā)事故,做出緊急處理;可靠性高。CPU具有處理設(shè)備故障及掉電等突發(fā)性事件的能力,從而使系統(tǒng)可靠性提高。§5-2中斷系統(tǒng)的結(jié)構(gòu)一.中斷源信號(hào)2個(gè)外部中斷請(qǐng)求:INT0、INT12個(gè)定時(shí)器計(jì)數(shù)器溢出中斷請(qǐng)求:T0、T11個(gè)串行口1串行幀數(shù)據(jù)發(fā)送、接收結(jié)束中斷請(qǐng)求:TI、RI二.中斷允許控制總允許開關(guān):EA源允許開關(guān):ES、ET1、EX1、ET0、EX0三.2級(jí)中斷優(yōu)先級(jí)控制優(yōu)先級(jí)選擇開關(guān):PS、PT1、PX1、PT0、PX0P3.2P3.3P3.4P3.5P3.0P3.1一.中斷控制寄存器§5-3中斷系統(tǒng)的控制

1.中斷標(biāo)志位TF1、TF0、IE1、IE0——TCON;RI、TI——SCON=1,有中斷請(qǐng)求;=0,無(wú)中斷請(qǐng)求。CPU響應(yīng)中斷后,中斷標(biāo)志位自動(dòng)清零,但TI/RI標(biāo)志位須軟件清零。

2.外部中斷觸發(fā)方式選擇位:IT0、IT1——TCON=1:負(fù)跳沿觸發(fā)中斷請(qǐng)求;=0:低電平觸發(fā)中斷請(qǐng)求。

3.中斷允許控制位:EA、ES、ET1、EX1、ET0、EX0——IE=1開中斷;=0關(guān)中斷。

4.中斷優(yōu)先級(jí)控制位:PS、PT1、PX1、PT0、PX0——IP2級(jí)優(yōu)先級(jí):=1,為高優(yōu)先級(jí);=0,為低優(yōu)先級(jí)。 同一優(yōu)先級(jí)別按內(nèi)部查詢順序排列優(yōu)先級(jí):

高INT0、T0、INT1、T1、RX/TX低。

5.單片機(jī)復(fù)位時(shí)TCON、SCON、IE、IP清0,所有中斷請(qǐng)求被禁止,5個(gè)中斷源均為低級(jí)中斷,按中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)排列:高INT0、T0、INT1、T1、RX/TX低二.中斷的嵌套CPU執(zhí)行主程序CPU執(zhí)行低級(jí)中斷服務(wù)程序CPU執(zhí)行高級(jí)中斷服務(wù)程序CPU同一時(shí)間只能響應(yīng)一個(gè)中斷請(qǐng)求,同時(shí)多個(gè)中斷申請(qǐng)時(shí)必須有先有后:?不同優(yōu)先級(jí)的中斷同時(shí)申請(qǐng)——先高后低?相同優(yōu)先級(jí)的中斷同時(shí)申請(qǐng)——按序執(zhí)行?正處理低優(yōu)先級(jí)中斷又接到高級(jí)別中斷——高打斷低?正處理高優(yōu)先級(jí)中斷又接到低級(jí)別中斷——高不理低§5-4中斷的處理過(guò)程中斷請(qǐng)求中斷判優(yōu)中斷條件中斷響應(yīng)中斷處理中斷返回硬件自動(dòng)完成用戶編程完成1.中斷請(qǐng)求被響應(yīng)的條件一個(gè)中斷源的中斷請(qǐng)求被響應(yīng)的基本條件:CPU開中斷:EA=1,允許所有中斷源申請(qǐng)中斷;中斷源的中斷請(qǐng)求標(biāo)志位為1;中斷源的中斷允許標(biāo)志位為1;無(wú)同級(jí)或更高級(jí)的中斷正在被服務(wù);2.中斷被封鎖的情況CPU正在處理一個(gè)同級(jí)或更高級(jí)別的中斷請(qǐng)求。因?yàn)榇藭r(shí)相應(yīng)的中斷優(yōu)先級(jí)狀態(tài)觸發(fā)器被置1

當(dāng)前正執(zhí)行指令,不是該指令的最后一個(gè)周期。當(dāng)前正執(zhí)行的指令是返回指令(RETI)(本次中斷還沒(méi)有處理完)或訪問(wèn)IP、IE寄存器(可能會(huì)開、關(guān)中斷或改變中斷的優(yōu)先級(jí))的指令,則CPU至少再執(zhí)行一條指令才響應(yīng)中斷。CPU每個(gè)機(jī)器周期順序檢查每個(gè)中斷源,當(dāng)檢測(cè)到有中斷請(qǐng)求時(shí),能否響應(yīng)中斷,還要看下述情況是否存在:存在上述情況之一,CPU不對(duì)中斷進(jìn)行響應(yīng)。3.外部中斷的響應(yīng)時(shí)間外部中斷響應(yīng)時(shí)間:從CPU查詢外部中斷請(qǐng)求標(biāo)志位到轉(zhuǎn)入中斷服務(wù)程序的入口地址所需的時(shí)間。對(duì)于1個(gè)單一中斷:中斷響應(yīng)最短3個(gè)機(jī)器周期:恰在當(dāng)前正執(zhí)行指令的最后1個(gè)機(jī)器周期查詢中斷請(qǐng)求標(biāo)志位+執(zhí)行LCALL指令(響應(yīng)中斷時(shí)由硬件自動(dòng)生成)需2個(gè)機(jī)器周期;中斷響應(yīng)最長(zhǎng)8個(gè)機(jī)器周期:恰在當(dāng)前正執(zhí)行RETI或與IP、IE寄存器有關(guān)的指令需2個(gè)機(jī)器周期+4(再執(zhí)行一條最長(zhǎng)的乘、除法指令)+2(執(zhí)行LCALL指令)4.外部中斷的觸發(fā)方式外部中斷觸發(fā)方式選擇位:IT0、IT1=1:負(fù)跳沿觸發(fā)中斷請(qǐng)求;=0:低電平觸發(fā)中斷請(qǐng)求。低電平觸發(fā)方式:外部中斷請(qǐng)求觸發(fā)器的狀態(tài)隨外部中斷輸入電平的變化而變化,適合外部中斷以低電平輸入且中斷程序能使輸入的低電平變?yōu)楦唠娖降那闆r;負(fù)跳沿觸發(fā)方式:CPU在前一機(jī)器周期采到INT0/INT1引腳為高,后一機(jī)器周期采到為低,則外部中斷請(qǐng)求觸發(fā)器被置1并鎖存負(fù)跳變,適合以負(fù)脈沖(負(fù)脈沖寬度至少保持1個(gè)機(jī)器周期,持續(xù)到中斷發(fā)生)形式輸入的外部中斷請(qǐng)求。5.中斷的撤銷CPU在中斷返回前,把它響應(yīng)的中斷標(biāo)志位(TCON、SCON中的IE0、IE1、TF0、TF1、TI、RI位)復(fù)位成“0”狀態(tài)。中斷源撤消中斷標(biāo)志的方法INT0/INT1負(fù)跳沿觸發(fā)中斷時(shí),硬件置位,硬件復(fù)位。中斷請(qǐng)求信號(hào)自動(dòng)撤銷。電平觸發(fā)中斷時(shí),硬件置位,盡管CPU響應(yīng)中斷時(shí)可用硬件自動(dòng)復(fù)位成“0”狀態(tài),但必須人為撤消中斷請(qǐng)求信號(hào)(軟硬件結(jié)合)T0/T1由硬件置位和復(fù)位(也可由軟件清零),硬件自動(dòng)撤消中斷請(qǐng)求。RI/TI由硬件置位,必須由軟件清零(CLRRI,CLRTI)電平方式外部中斷請(qǐng)求信號(hào)的軟硬件結(jié)合撤銷(教材P110頁(yè))5.中斷的撤銷所需的負(fù)脈沖可通過(guò)在中斷服務(wù)程序中增加3條指令得到:0RLP1,#01H;P1.0為1ANLP1,#0FEH;P1.0為0

┆0RLP1,#01H;P1.0為1利用D觸發(fā)器的置位端SD實(shí)現(xiàn)中斷請(qǐng)求的撤銷6.中斷的響應(yīng)過(guò)程CPU自動(dòng)完成:CPU在T機(jī)器的S5P2,查詢中斷源,設(shè)置中斷標(biāo)志位;判斷中斷響應(yīng)條件滿足,CPU響應(yīng)中斷;由硬件自動(dòng)生成LCALL指令(例如對(duì)INT1的響應(yīng)產(chǎn)生的LCALL指令為:LCALL0013H),自動(dòng)把斷點(diǎn)地址壓入堆棧,并將對(duì)應(yīng)中斷入口地址裝入PC,執(zhí)行中斷服務(wù)程序。用戶必須完成:中斷初始化:開相應(yīng)中斷源的中斷(IE)、設(shè)定中斷優(yōu)先級(jí)(IP)、設(shè)定外部中斷的觸發(fā)方式;在中斷入口地址存放跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶編寫的中斷服務(wù)程序起始地址;開發(fā)設(shè)計(jì)中斷服務(wù)程序。1.主程序結(jié)構(gòu)

ORG0000HAJMPMAINORG0003HLJMPINT1O(jiān)RG000BHLJMPINT2┆ORG主程序入口地址MAIN:中斷初始化程序┆HERE:SJMPHERE;原地等待中斷申請(qǐng)(或:執(zhí)行其它任務(wù))ORG中斷服務(wù)程序1入口地址

INT1:┆

RETI

ORG中斷服務(wù)程序2入口地址

INT2:┆

RETI§5-5中斷服務(wù)程序設(shè)計(jì)復(fù)位后,PC置成0000H,CPU從0000H單元開始執(zhí)行指令,所以用無(wú)條件轉(zhuǎn)移指令跳轉(zhuǎn)到主程序。每個(gè)中斷向量地址間隔8個(gè)單元,完成中斷程序空間少,在中斷處安排一個(gè)無(wú)條件轉(zhuǎn)移指令中斷源入口地址INT00003HT0000BHINT10013HT1001BHTI/RI0023H2.中斷初始化§5-5中斷服務(wù)程序設(shè)計(jì)例5-1設(shè)置IP寄存器的初始值,使得MCS-51的2個(gè)外中斷請(qǐng)求為高優(yōu)先級(jí),其它中斷請(qǐng)求為低優(yōu)先級(jí)。

(1)用位操作指令SETBPX0;2個(gè)外中斷為高優(yōu)先級(jí)SETBPX1CLRPS;串行口、2個(gè)定時(shí)器/計(jì)數(shù)器為低優(yōu)先級(jí)中斷CLRPT0

CLRPT1(2)用字節(jié)操作指令

MOVIP,#05H或者用:

MOV0B8H,#05H;B8H為IP寄存器的字節(jié)地址MOVIP,#00000101B;例5-3假設(shè)允許外部中斷0中斷,并設(shè)定它為高級(jí)中斷,其它中斷源為低級(jí)中斷,采用跳沿觸發(fā)方式。在主程序中應(yīng)有如下程序段:SETBEA;EA位置1,CPU開中斷SETBEX0;EX0位置1,允許外部中斷0產(chǎn)生中斷SETBPX0;PX0位置1,外部中斷0為高級(jí)中斷SETBIT0;IT0位置1,外部中斷0為跳沿觸發(fā)方式

2.中斷初始化§5-5中斷服務(wù)程序設(shè)計(jì)§5-5中斷服務(wù)程序設(shè)計(jì)SETBEACLREAPUSHPSWPUSHACCPUSHDPHPUSHDPL

POPDPLPOPDPHPOPACCPOPPSW3.中斷服務(wù)程序保護(hù)現(xiàn)場(chǎng):當(dāng)前PC值,PSW、工作寄存器和SFR等?;謴?fù)現(xiàn)場(chǎng):完成中斷服務(wù)后,將保存在堆棧中的現(xiàn)場(chǎng)數(shù)據(jù)恢復(fù)。如果當(dāng)前中斷服務(wù)程序不允許被中斷,則其前后的開中斷和關(guān)中斷2條指令可去掉。RETI可去掉響應(yīng)過(guò)程:(假設(shè)已使某中斷請(qǐng)求標(biāo)志置1)(1)先使相應(yīng)優(yōu)先級(jí)狀態(tài)觸發(fā)器置1;(2)執(zhí)行一個(gè)硬件子程序的調(diào)用:1)硬件清零相應(yīng)中斷請(qǐng)求標(biāo)志(TI、RI除外)2)將當(dāng)前PC內(nèi)容壓入堆?!Wo(hù)斷點(diǎn);3)將中斷服務(wù)子程序入口地址送PC——轉(zhuǎn)移。返回過(guò)程:(RETI執(zhí)行后)(1)使相應(yīng)優(yōu)先級(jí)狀態(tài)觸發(fā)器清0。(2)從堆棧中彈出棧頂?shù)膬蓚€(gè)字節(jié)內(nèi)容送PC——恢復(fù)斷點(diǎn)。(3)CPU接著中斷處繼續(xù)執(zhí)行原主程序?!?-5中斷服務(wù)程序設(shè)計(jì)3.中斷服務(wù)程序例5-4:中斷舉例用中斷控制完成這一輸入輸出過(guò)程,每請(qǐng)求中斷一次,完成一個(gè)讀/寫操作單片機(jī)讀P1.0口的狀態(tài),把這個(gè)狀態(tài)送到P1.7的指示燈去。當(dāng)P1.0為高電平時(shí)指示燈亮,當(dāng)P1.0為低電平時(shí)則指示燈不亮。RS觸發(fā)器INT0+5VP1.7P1.0+5V+5V&&1KΩ1KΩ8051O(jiān)RG0000HAJMPMAIN;上電自動(dòng)轉(zhuǎn)向主程序ORG0003H;INT0的入口地址AJMPWINT;指向中斷服務(wù)程序子程序ORG0100H;主程序MAIN:SETBIT0;選擇邊沿觸發(fā)方式SETBEX0;允許外部中斷0SETBEA;允許總中斷HERE:AJMPHERE;主程序踏步ORG0200HWINT:MOVA,#0FFH;

MOVP1,A;P1準(zhǔn)雙向口設(shè)定輸入態(tài)MOVA,P1;取開關(guān)數(shù)RRA;P1.0送P1.7MOVP1,A;輸出驅(qū)動(dòng)燈泡發(fā)光RETI;中斷返回END中斷返回到何處?例5-5:中斷舉例通過(guò)外部中斷1,在中斷服務(wù)中將B寄存器里的內(nèi)容左環(huán)移一位。已知:(B)=01H,要求采用邊沿觸發(fā),低優(yōu)先級(jí)。此例的實(shí)際意義:在INT1引腳接一個(gè)按鈕開關(guān)到地,每按一下按鈕就申請(qǐng)一次中斷,中斷服務(wù)則是依次點(diǎn)亮八盞燈中的一盞P1.0P1.7INT13008051ORG0000HLJMPMAINORG0013H;中斷矢量LJMPINTMAIN:SETBEA;開總中斷允許“開關(guān)”SETBEX1;開外部中斷1允許“開關(guān)”CLRPX1;0優(yōu)先級(jí)(也可不要此句)SETBIT1;邊沿觸發(fā)MOVB,#01H;給B寄存器賦初值HERE:SJMPHERE;原地等待中斷申請(qǐng)INT:MOVA,B;自B寄存器中取數(shù)RLA;左環(huán)移一次MOVB,A;存回B,備下次取用MOVP1,A;輸出到P1口RETI;中斷返回當(dāng)外部中斷源多于中斷輸入引腳時(shí),可采取以下措施:1.用定時(shí)器計(jì)數(shù)輸入信號(hào)端T0、T1作外部中斷入口引腳;2.用串行口接收端RXD作外部中斷入口引腳;3.用一個(gè)中斷入口接受多個(gè)外部中斷源,并加入中斷查詢

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論