中斷系統(tǒng)-4剖析_第1頁
中斷系統(tǒng)-4剖析_第2頁
中斷系統(tǒng)-4剖析_第3頁
中斷系統(tǒng)-4剖析_第4頁
中斷系統(tǒng)-4剖析_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

甘肅冶金高級技術(shù)學(xué)院單片機接口技術(shù)及應(yīng)用8/13/20241甘肅冶金高級技術(shù)學(xué)院第四章 中斷系統(tǒng)

4.1

中斷概述8/13/20242甘肅冶金高級技術(shù)學(xué)院一、中斷的概念計算機系統(tǒng)根據(jù)需要,可以中斷正常的工作程序,改去處理外部需要處理的事件。當(dāng)外部事件處理完后再回到正常的工作程序中。8/13/20243甘肅冶金高級技術(shù)學(xué)院中斷系統(tǒng)是計算機的重要指標(biāo)之一。某人看書 執(zhí)行主程序

日常事務(wù)電話鈴響 中斷信號如INT=0

中斷請求暫??磿?/p>

暫停執(zhí)行主程序

中斷響應(yīng)書中作記號當(dāng)前PC入棧

保護(hù)斷點電話談話 執(zhí)行中斷程序

中斷服務(wù)繼續(xù)看書 返回主程序

中斷返回日常事務(wù)程序中斷服務(wù)程序日常生活中的中斷與計算機中斷的比較:8/13/20244甘肅冶金高級技術(shù)學(xué)院中斷源:能夠打斷當(dāng)前程序的外部事件。中斷優(yōu)先級和中斷優(yōu)先權(quán)中斷嵌套。8/13/20245甘肅冶金高級技術(shù)學(xué)院子程序是預(yù)先安排好的,使用軟件調(diào)用;中斷是隨機發(fā)生的,硬件主動執(zhí)行。中斷與子程序的區(qū)別8/13/20246甘肅冶金高級技術(shù)學(xué)院二、中斷的作用實現(xiàn)高速CPU與慢速外設(shè)之間的配合;實現(xiàn)實時處理;實現(xiàn)故障的緊急處理;便于人機聯(lián)系。8/13/20247甘肅冶金高級技術(shù)學(xué)院三、中斷處理過程中斷請求--保護(hù)斷點--中斷響應(yīng)--中斷返回(恢復(fù)斷點)使用堆棧保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場。開中斷、關(guān)中斷:是否允許中斷嵌套,防止重復(fù)中斷,現(xiàn)場處理時關(guān)中斷。中斷服務(wù)程序的編寫。中斷返回:RETI不同于RET。8/13/20248甘肅冶金高級技術(shù)學(xué)院第四章 中斷系統(tǒng)

4.2

MCS-51單片機的中斷系統(tǒng)8/13/20249甘肅冶金高級技術(shù)學(xué)院MCS-51中斷系統(tǒng)內(nèi)部結(jié)構(gòu)8/13/202410甘肅冶金高級技術(shù)學(xué)院一、中斷源及其中斷服務(wù)程序入口地址1、MCS-51單片機有5個中斷源,2個中斷優(yōu)先級;它的中斷處理程序可實現(xiàn)兩級嵌套,有較強的中斷處理能力;單片機對中斷系統(tǒng)的管理是通過相關(guān)的專用寄存器來實現(xiàn)的。8/13/202411甘肅冶金高級技術(shù)學(xué)院8/13/202412甘肅冶金高級技術(shù)學(xué)院2、中斷入口地址:外中斷0(INT0):0003H定時器0(T0):000BH外中斷1(INT1):0013H定時器1(T1):001BH串行口(RI/TI):0023H8/13/202413甘肅冶金高級技術(shù)學(xué)院二、與中斷有關(guān)的SFR8/13/202414甘肅冶金高級技術(shù)學(xué)院1、中斷允許控制寄存器IE字節(jié)地址為0A8H位地址是0A8H~0AFH(IE.0~IE.7)各位為“1”表示允許中斷;為“0”表示禁止中斷。IEEAESET1EX1ET0EX0位地址AFACABAAA9A88/13/202415甘肅冶金高級技術(shù)學(xué)院1、中斷允許控制寄存器IEEA-中斷允許的總控制位,IE.7EX0-外部中斷0(INT0)允許控制位,IE.0EX1-外部中斷1(INT1)允許控制位,IE.2ET0-定時計數(shù)器0(T0)允許控制位,IE.1ET1-定時計數(shù)器1(T1)允許控制位,IE.3ES -串行口(RI/TI)允許控制位,IE.4IEEAESET1EX1ET0EX0位地址AFACABAAA9A88/13/202416甘肅冶金高級技術(shù)學(xué)院1、中斷允許控制寄存器IEIE復(fù)位值是00H,即總中斷開關(guān)關(guān)閉。禁止所有中斷。單片機在響應(yīng)中斷后不能自動關(guān)中斷,若想禁止中斷嵌套,必須用軟件關(guān)閉。軟件關(guān)閉可以用字節(jié)尋址也可位尋址。例:開放外部中斷0:MOVIE,#81H或MOV0A8H,#81H或SETBEASETBEX0IEEAESET1EX1ET0EX0位地址AFACABAAA9A88/13/202417甘肅冶金高級技術(shù)學(xué)院2、定時器控制寄存器TCON字節(jié)地址為88H位地址是88H~8FH(TCON.0~TCON.7)TR0、TR1、TFO、TF1已學(xué)。TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A89888/13/202418甘肅冶金高級技術(shù)學(xué)院2、定時器控制寄存器TCONIT0:外中斷0(INT0)請求信號方式控制位(ICON.0)IT0=0,低電平有效,即低電平引起中斷;IT0=1,負(fù)跳變有效,即高電平跳變到低電平時引起中斷。IT1:外中斷1(INT1)請求信號方式控制位(ICON.2)作用同IT0TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A89888/13/202419甘肅冶金高級技術(shù)學(xué)院2、定時器控制寄存器TCONIE0:外中斷0申請標(biāo)志位(TCON.1)IE1:外中斷1申請標(biāo)志位(TCON.3)TF0:定時計數(shù)器T0溢出標(biāo)志位(TCON.5)TF1:定時計數(shù)器T1溢出標(biāo)志位(TCON.7)以上各位等于1時即申請中斷。在中斷響應(yīng)后轉(zhuǎn)向中斷服務(wù)程序時,均有硬件自動清0TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A89888/13/202420甘肅冶金高級技術(shù)學(xué)院3、串行口控制寄存器SCON字節(jié)地址為98H位地址為98H~9FH,SCON.0~SCON.7與串行中斷有關(guān)的是RI和TI(SCON.0、SCON.1)RI(SCON.0):串行口接收中斷申請標(biāo)志位,有軟件置0TI(SCON.1):串行口發(fā)送中斷申請標(biāo)志,有軟件置0SCONSM0SM1SM2RENTB8RB8TIRI位地址9F9E9D9C9B9A99988/13/202421甘肅冶金高級技術(shù)學(xué)院有兩個物理上獨立的串行數(shù)據(jù)緩沖器SBUF,發(fā)送緩沖器只能寫入,不能讀出;接收緩沖器只能讀出,不能寫入,故他們都用SBUF表示,共用一個地址99H。8/13/202422甘肅冶金高級技術(shù)學(xué)院注:RI、TI的中斷入口都是0023H,所以CPU響應(yīng)后轉(zhuǎn)入0023H開始執(zhí)行服務(wù)程序,首先必須判斷是RI中斷還是TI中斷,然后進(jìn)行相應(yīng)服務(wù)。在返回主程序之前必須用軟件將RI或TI清除,否則會出現(xiàn)一次請求多次響應(yīng)的錯誤。8/13/202423甘肅冶金高級技術(shù)學(xué)院4、中斷優(yōu)先級寄存器IP字節(jié)地址為B8H位地址為B8H~BCH,IP.0~IP.4定義了高、低兩個優(yōu)先級,可實現(xiàn)二級中斷嵌套。IPPSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8H8/13/202424甘肅冶金高級技術(shù)學(xué)院4、中斷優(yōu)先級寄存器IP中斷優(yōu)先級:有軟件對IP設(shè)置PX0:外中斷0IP.0PT0:定時器T0IP.1PX1:外中斷1IP.2PT1:定時器T1IP.3PS:串行口中斷IP.4各位設(shè)置為1時為高優(yōu)先級,各位設(shè)置為0時為低優(yōu)先級。IPPSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8H8/13/202425甘肅冶金高級技術(shù)學(xué)院中斷優(yōu)先權(quán):當(dāng)5個中斷源在同一個優(yōu)先級的情況下,由硬件順序排列了優(yōu)先權(quán):INT0>T0>INT1>T1>串行口8/13/202426甘肅冶金高級技術(shù)學(xué)院在開放中斷的條件下(IE),使用中斷優(yōu)先級的原則:非中斷服務(wù)程序可被任一個中斷申請所中斷;若干中斷同時申請中斷時,CPU先選擇優(yōu)先級高的進(jìn)行中斷響應(yīng);CPU同時接收到幾個優(yōu)先級相同的中斷申請時,先響應(yīng)中斷優(yōu)先權(quán)高的;低優(yōu)先級可被高優(yōu)先級的中斷申請所中斷,但同級不能嵌套。8/13/202427甘肅冶金高級技術(shù)學(xué)院中斷原因入口地址中斷開關(guān)(EA)中斷方式中斷申請標(biāo)志位清0方式優(yōu)先級標(biāo)志位外部中斷INT0P3.2引腳0003HEX0(IE.0)IT0(TCON.0)=1為負(fù)脈沖IE0(TCON.1)自動PX0(IP.0)IT0(TCON.0)=0為低電平軟件INT1P3.3引腳0013HEX1(IE.2)IT1(TCON.2)=1為負(fù)脈沖IE1(TCON.3)自動PX1(IP.2)IT1(TCON.2)=0為低電平軟件內(nèi)部中斷T0T0溢出000BHET0(IE.1)T0溢出TF0(TCON.5)自動PT0(IP.1)T1T1溢出001BHET1(IE.3)T1溢出TF1(TCON.7)自動PT1(IP.3)串行口RI:接收完一幀數(shù)0023HES(IE.4)接收完一幀數(shù)RI(SCON.0)軟件PS(IP.4)TI:發(fā)送完一幀數(shù)發(fā)送完一幀數(shù)TI(SCON.1)8/13/202428甘肅冶金高級技術(shù)學(xué)院三、MCS-51單片機對中斷的響應(yīng)1、響應(yīng)條件前提:中斷源有中斷申請;此中斷源的中斷允許位為“1”;CPU開中斷,即總開關(guān)EA=1。8/13/202429甘肅冶金高級技術(shù)學(xué)院

CPU在每個機器周期的S6都對中斷源進(jìn)行檢測,并對其排列順序。在滿足下列條件時才響應(yīng)中斷:無同級或更高級中斷正在服務(wù);當(dāng)前指令周期已經(jīng)結(jié)束;若現(xiàn)行指令為RETI或訪問IE、IP指令時,執(zhí)行該指令以及緊接著的下一條指令也執(zhí)行完成。

CPU將在下一個機器周期S1響應(yīng)中斷。若中斷申請已置1,但因上述條件封鎖未被立即響應(yīng),且當(dāng)封鎖解除后申請已復(fù)位,則中斷不再被響應(yīng)。8/13/202430甘肅冶金高級技術(shù)學(xué)院2、中斷響應(yīng)時間從產(chǎn)生外部中斷請求到開始執(zhí)行中斷服務(wù)程序的第一條指令的時間。8/13/202431甘肅冶金高級技術(shù)學(xué)院最短需要三個周期:一個用于查詢中斷請求標(biāo)志位,且這個周期恰好是指令的最后一個周期,則在這個機器周期結(jié)束后,中斷請求被CPU響應(yīng),產(chǎn)生一條硬件自動生成的長調(diào)用指令LCALL,以使CPU轉(zhuǎn)到相應(yīng)的服務(wù)程序入口。這條指令需兩個機器周期,故最少需三個機器周期。最長需8個機器周期:若在中斷查詢時正好開始執(zhí)行RET、RETI或訪問IE、IP,則需當(dāng)前指令完成后再繼續(xù)執(zhí)行一條指令,才進(jìn)行中斷響應(yīng)。RET、RETI用2個機器周期+MUL、DIV4個機器周期+LCALL2個機器周期=8個機器周期8/13/202432甘肅冶金高級技術(shù)學(xué)院3、外中斷的采樣:INT0、INT1只有外中斷源才有采樣問題MCS-51單片機在每個機器周期的S5P2對外中斷請求引腳(P3.2、P3.3)采樣,若有中斷請求,則置位IE0和IE1。由于每個機器周期只采樣一次,故為確保采樣,在P3.2、P3.3引腳上的信號電平至少保持1個機器周期。8/13/202433甘肅冶金高級技術(shù)學(xué)院電平觸發(fā)方式:ICON.0=IT0=0(或ICON.2=IT1=0)時若CPU采樣到INT0或INT1為低電平(該電平來自外部硬件,CPU無法控制)即可申請中斷。在CPU響應(yīng)前引腳必須保持低電平,但若低電平保持時間過長,在執(zhí)行了一次中斷程序后仍未撤銷,還會引起中斷。故在采用電平觸發(fā)情況時,在這次中斷服務(wù)程序執(zhí)行完之前,引腳上必須變成高電平。一般很少使用電平觸發(fā)方式8/13/202434甘肅冶金高級技術(shù)學(xué)院邊沿觸發(fā)方式:ICON.0=IT0=1(或ICON.2=IT1=1)時

CPU在S5P2采樣,如果在相鄰的兩次采樣中,第一次采到引腳=1,第二次采樣引腳=0則置位IE0或IE1,申請中斷。IE0和IE1狀態(tài)可一直保持,直到CPU響應(yīng)中斷。進(jìn)入中斷服務(wù)程序后,IE0和IE1有硬件自動清08/13/202435甘肅冶金高級技術(shù)學(xué)院4、中斷請求的撤除CPU響應(yīng)中斷后,應(yīng)及時撤除中斷請求,否則會引起重復(fù)中斷。定時器中斷申請標(biāo)志位(TF0和TF1)以及外中斷的邊沿觸發(fā)方式產(chǎn)生的中斷(IE0和IE1)CPU可自動撤除。但外中斷的電平觸發(fā)方式和串行口中斷必須通過外部硬件或軟件撤除。8/13/202436甘肅冶金高級技術(shù)學(xué)院5、堆棧的應(yīng)用:保護(hù)斷點、保護(hù)現(xiàn)場

在中斷服務(wù)程序開始,就需要保護(hù)現(xiàn)場,由PUSH入棧;在中斷服務(wù)程序最后,由POP出棧。8/13/202437甘肅冶金高級技術(shù)學(xué)院注:入棧、出棧的順序相反;入棧和出棧數(shù)目相同;PUSH和POP必須成對出現(xiàn);設(shè)為堆棧區(qū)的字節(jié)單元不能再做數(shù)據(jù)緩沖區(qū);SP初始值為07H,在初始化程序必須對SP置初值;在發(fā)生中斷嵌套時,為防止入棧錯誤,可以:主程序只使用工作寄存器0區(qū)、第一個中斷服務(wù)程序使用1區(qū)、第二個中斷服務(wù)程序使用2區(qū)8/13/202438甘肅冶金高級技術(shù)學(xué)院6、中斷服務(wù)程序入口地址

由于各個入口地址只相差8個字節(jié)單元,一般難以存放一個完整的中斷服務(wù)程序,因此常在中斷入口地址處存放一條無條件轉(zhuǎn)移指令LJMPaddr16,使服務(wù)程序轉(zhuǎn)到后面充足的地址單元。8/13/202439甘肅冶金高級技術(shù)學(xué)院7、中斷響應(yīng)全過程中斷申請準(zhǔn)備:考慮:使用哪個中斷源、允許哪些中斷嵌套、堆棧深度;初始化程序:賦值SFR,如清楚中斷標(biāo)志位、置外中斷方式、開中斷、決定優(yōu)先級。中斷申請的提出:標(biāo)志位的狀態(tài)可以保存,但自動查詢結(jié)果不被保存。響應(yīng)中斷的條件,優(yōu)先級、優(yōu)先權(quán)的問題

溫馨提示

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

評論

0/150

提交評論