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

下載本文檔

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

文檔簡介

第5章 中斷系統(tǒng)

《單片機原理與應用系統(tǒng)設計》

電子工業(yè)出版社,2009.7

歐偉明何靜凌云劉劍等編著

2/5/20231本章主要內(nèi)容中斷的概念

89S51的中斷系統(tǒng)結(jié)構(gòu)與控制

中斷應用舉例

2/5/202325.1.1中斷的概念當CPU在處理某項任務的過程中,若計算機系統(tǒng)內(nèi)部或外部因為某一事件的發(fā)生,而向CPU發(fā)出請求信號,則CPU會暫時終止當前的工作,迅速轉(zhuǎn)去完成相應的處理程序,待事件處理結(jié)束之后再返回來繼續(xù)原來的工作。中斷的流程如右圖所示2/5/20233中斷能改善計算機的性能有效地解決了快速CPU與慢速外設之間的矛盾,使CPU與外設可以并行工作,從而可大大提高工作效率;

可以及時處理控制系統(tǒng)中許多隨機產(chǎn)生的參數(shù)與信息,使計算機具有了實時處理能力,從而可提高控制系統(tǒng)的性能;使系統(tǒng)具備了故障處理能力,從而可提高系統(tǒng)自身的可靠性。

2/5/202345.1.2中斷的條件與響應過程中斷響應的條件:

⑴中斷允許總開關接通,即系統(tǒng)開中斷;⑵有中斷源發(fā)出中斷請求;⑶發(fā)出請求的中斷源允許中斷;⑷無同級或更高級中斷正在被處理。2/5/202355.1.2中斷的條件與響應過程中斷響應的過程:

⑴檢測中斷;⑵清除中斷標志位;⑶保護現(xiàn)場;⑷中斷服務;(執(zhí)行中斷服務程序)⑸恢復現(xiàn)場;⑹中斷返回。2/5/202365.2中斷系統(tǒng)結(jié)構(gòu)與控制89S51的中斷源和中斷矢量89S51的中斷系統(tǒng)結(jié)構(gòu)中斷的控制

2/5/202375.2.189S51的中斷源和中斷矢量89S51的中斷源2/5/202385.2.189S51的中斷源和中斷矢量89S51的中斷矢量(中斷入口地址)

89S51的各個中斷源對應的中斷矢量由硬件自動生成。2/5/202395.2.289S51的中斷系統(tǒng)結(jié)構(gòu)由5個中斷源、4個與中斷有關的特殊功能寄存器、中斷入口、順序查詢邏輯電路等組成

2/5/2023105.2.3中斷的控制定時器/計數(shù)器控制寄存器TCON

(只用到其中6位)串行口控制寄存器SCON

(只用到其中2位)中斷允許寄存器IE中斷優(yōu)先級寄存器IP2/5/202311中斷請求標志

⑴TCON中的中斷請求標志位:TF1TF0IE1IE0⑵SCON中的中斷請求標志位:TIRI2/5/202312中斷請求的撤除

⑴定時器/計數(shù)器溢出中斷請求:硬件自動撤除⑵外部中斷請求的撤除

外部中斷請求被CPU響應后,硬件自動將中斷請求標志位IE0或IE1清“0”。而外部中斷信號的撤除則要根據(jù)不同的觸發(fā)方式采取不同的處理方法。

①下降沿觸發(fā)方式的外部中斷信號產(chǎn)生過后即會消失,因此它是自動撤除的。

②電平觸發(fā)方式的外部中斷信號:通過外部硬件電路實現(xiàn)外部中斷信號強制撤除的參考方案(如下圖所示)。

2/5/202313中斷請求的撤除

ORL P1,#01H ;P1.0置“1”ANL P1,#0FEH ;P1.0清“0”O(jiān)RL P1,#01H ;P1.0置“1”2/5/202314中斷請求的撤除

⑶串行口中斷請求的撤除:軟件編程撤除串行口中斷請求被響應后,CPU還需通過檢測TI、RI兩個中斷請求標志位的狀態(tài),才能判定是接收中斷還是發(fā)送中斷,所以中斷請求標志位不會自動清“0”,而是必須在中斷服務程序中通過軟件的方法清“0”,對串行口中斷請求的撤除可通過如下指令完成。

CLR TI ;TI標志位清“0” CLR RI ;RI標志位清“0”2/5/202315中斷允許控制

89S51的CPU對中斷源的開放或屏蔽,是由片內(nèi)的中斷允許寄存器IE控制的。2/5/202316中斷優(yōu)先級控制

89S51中5個中斷源可通過編程人為地設定為高、低兩個優(yōu)先級。中斷嵌套:多個中斷源同時發(fā)出中斷請求時,高優(yōu)先級中斷將被CPU優(yōu)先響應。而CPU一旦響應了任何一個中斷,在中斷處理過程中不會再響應同優(yōu)先級中斷源發(fā)出的中斷請求,但卻會響應高優(yōu)先級的中斷請求,并轉(zhuǎn)去處理高優(yōu)先級中斷,待處理完畢后,再返回來接著處理低優(yōu)先級中斷。這一過程稱為中斷嵌套,如右圖所示。2/5/202317中斷優(yōu)先級控制

5個中斷源的中斷優(yōu)先級,是通過片內(nèi)的中斷優(yōu)先級寄存器IP進行設置的。2/5/202318中斷優(yōu)先級控制

5個中斷源的自然優(yōu)先級順序。2/5/2023195.3中斷應用舉例單外部中斷源系統(tǒng)的設計多外部中斷源系統(tǒng)的設計2/5/2023205.3.1單外部中斷源系統(tǒng)的設計例5.4下圖給出了一個采用單外部中斷源的數(shù)據(jù)采集系統(tǒng)示意圖。將89S51的P1口設置成數(shù)據(jù)輸入口,外圍設備每準備好一個數(shù)據(jù)時,發(fā)出一個選通信號(負脈沖),經(jīng)D觸發(fā)器74LS74送給單片機引腳INT1,通知CPU進行處理。試編寫主程序及中斷服務程序。2/5/202321⑴主程序如下

ORG 0000H LJMP MAIN ;跳轉(zhuǎn)至主程序

ORG 0013H LJMP INT1 ;跳轉(zhuǎn)至外部中斷1的中斷服務程序

ORG 0030H MAIN: CLR IT1 ;設置為電平觸發(fā)方式

SETB EA ;CPU開中斷

SETB EX1 ;外部中斷1允許中斷

MOV DPTR,#1000H;設置數(shù)據(jù)緩沖區(qū)地址指針

…2/5/202322⑵

中斷服務程序如下

ORG 0200H INT1: PUSH PSW ;保護現(xiàn)場

PUSH ACC CLR P3.0 ;由P3.0引腳輸出低電平0,撤除中斷請求信號

NOP NOP SETB P3.0 ;P3.0引腳輸出高電平1(對74LS74無效的電平)

MOV A,P1 ;讀取輸入數(shù)據(jù)到累加器A MOVX @DPTR,A ;存入外部數(shù)據(jù)緩沖區(qū)

INC DPTR ;修改數(shù)據(jù)指針,指向下一個存儲單元

… POP ACC ;恢復現(xiàn)場

POP PSW RETI ;中斷返回2/5/2023235.3.2多外部中斷源系統(tǒng)的設計當外部中斷源多于兩個時,可采用外部硬件申請中斷與軟件查詢相結(jié)合的方法,把多個中斷源經(jīng)或非門引入單片機的外部中斷源輸入端(INT0或

INT1),同時又連到某個I/O口,如下圖所示。發(fā)光二極管LED可實現(xiàn)系統(tǒng)的故障顯示。2/5/202324⑴主程序如下

ORG 0000H ;系統(tǒng)復位時入口地址

AJMP MAIN ;跳轉(zhuǎn)至主程序

ORG 0003H ;外部中斷0入口

AJMP INSER ;跳轉(zhuǎn)至外部中斷0的中斷服務程序MAIN: MOVP1,#0FFH ;定義P1.7、P1.5、P1.3、P1.1為輸入引腳并使4個LED全滅

SETB IT0 ;設置外部中斷0為下降沿觸發(fā)方式

SETB EX0 ;允許外部中斷0中斷

SETB EA ;CPU開中斷HERE:SJMP HERE ;等待中斷2/5/202325⑵

外部中斷0的中斷服務程序如下INSER: JNB P1.1,L1 ;查詢中斷源,若P1.1為0,跳轉(zhuǎn)至L1執(zhí)行

CLR P1.0 ;令P1.0輸出為0,點亮對應的發(fā)光二極管LEDL1: JNB P1.3,L2 CLR P1.2L2: JNB P1.5,L3 CLR P1.4 L3: JNB P1.7,L4 CLR P1.6L4: RETI ;返回主程序2/5/202326思考題與習題簡述中斷、中斷源、中斷嵌套及中斷優(yōu)先級的含義。簡述中斷響應條件及響應過程。中斷響應過程中,為什么通常要保護現(xiàn)場?如何保護?89S51提供了哪些中斷源?各中斷源所對應的中斷入口地址是多少?89S51對各中斷源提出的中斷請求如何進行控制?外部中斷源的觸發(fā)方式有哪些?如何設定?如何撤除外部中斷源產(chǎn)生的中斷請求標志?2/5/202327思考題與習題試分析對89S51五個中斷源安排的以下幾種中斷優(yōu)先級的排列順序(級別由高到低)是否可能?若可能,應如何設置各中斷源的中斷優(yōu)先級別?否則,請簡述不可能的理由。⑴定時器0,定時器1,外中斷0,外中斷1,串行口中斷。⑵串行口中斷,外中斷0,定時器0,外中斷1,定時器1。⑶外中斷0,定時器1,外中斷1,定時器0,串行口中斷。⑷外中斷0,外中斷1,串行口中斷,定時器0,定時器1。⑸串行口中斷,定時器0,外中斷0,外中斷1,定時器1。⑹外中斷0,外中斷1,定時器0,串行口中斷,定時器1。⑺外中斷0,定時器1,定時器0,外

溫馨提示

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

評論

0/150

提交評論