版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第五章 中斷系統(tǒng)5.1 中斷的概念5.2 MCS-51中斷系統(tǒng)結(jié)構(gòu)5.3 中斷請求源和中斷標志位5.4 中斷控制5.5 響應(yīng)中斷請求的條件5.6 外部中斷的響應(yīng)時間5.7 外部中斷的觸發(fā)方式選擇5.8 中斷請求的撤消5.9 中斷服務(wù)程序的設(shè)計5.10 多外部中斷源系統(tǒng)設(shè)計 5.1 中斷的概念中斷處理中斷CPU執(zhí)行程序返回、繼續(xù)處理完該事件后,再回到原來被中止的地方,繼續(xù)原來的工作CPU暫時中止當(dāng)前的工作,轉(zhuǎn)到中斷服務(wù)子程序處理所發(fā)生的事件。中斷請求單片機外部或內(nèi)部發(fā)生某一事件,請求CPU立即去處理。執(zhí)行程序中斷處理(或中斷服務(wù))對事件的整個處理過程,稱為中斷處理(或中斷服務(wù))中斷系統(tǒng):能夠?qū)崿F(xiàn)
2、中斷處理功能的部件中斷請求源:產(chǎn)生中斷的請求源中斷請求:中斷源向CPU提出的處理請求,(或稱為中斷申請) 5.2 MCS-51中斷系統(tǒng)結(jié)構(gòu) 有5個中斷請求源,兩個中斷優(yōu)先級,可兩級嵌套。5.3 中斷請求源和中斷標志位外部中斷(2個)/INT0:外部中斷0請求,由P3.2腳輸入。通過IT0(TCON.0)來決定是低電平有效還是下跳變有效。一旦輸入信號有效,則向CPU申請中斷,并且建立IE0標志;/INT1:外部中斷1請求,由P3.3腳輸入。通過IT1(TCON.2)來決定是低電平有效還是下跳變有效。一旦輸入信號有效,則向CPU申請中斷,并且建立IE1標志;內(nèi)部中斷(3個)TF0:定時器T0溢出中
3、斷請求。當(dāng)定時器T0產(chǎn)生溢出時,定時器T0 中斷請求標志TF0置位,請求中斷處理。TF1:定時器T1溢出中斷請求。當(dāng)定時器T1產(chǎn)生溢出時,定時器T1 中斷請求標志TF1置位,請求中斷處理。RI或TI:串行中斷請求。當(dāng)接收或發(fā)送完一串行幀時,置位內(nèi)部串 行口中斷請求標志RI或TI,請求中斷。 中斷源中斷程序入口 外部中斷0(/INT0)0003H定時器/ 計數(shù)器0(T0)000BH外中斷1(/INT1)0013H定時器/ 計數(shù)器1(T1)001BH串行口0023HDescription of the companys sub contents定時器/計數(shù)器的控制寄存器TCON串行口控制寄存器SC
4、ON中斷標志位外部中斷定時器溢出中斷串行口中斷中斷標志位TCON 定時器/計數(shù)器的控制寄存器。 字節(jié)地址為88H。格式如下所示:(1)IT0 /INT0為跳沿觸發(fā)方式還是電平觸發(fā)方式 IT0=0,電平觸發(fā)方式;IT0=1,跳沿觸發(fā)方式。(2)IE0 /INT0中斷請求標志位。 IE0=0,無中斷請求;IE0=1,有中斷請求。(3)IT1 /INT1為跳沿觸發(fā)方式還是電平觸發(fā)方式。(4)IE1 /INT1中斷請求標志位。(5)TF0 T0溢出中斷請求標志位。 (6)TF1 T1溢出中斷請求標志位,功能和TF0類似。 TCON各標志位的功能 SCON 串行口控制寄存器。 字節(jié)地址為98H。格式如下
5、: SCON各標志位的功能:(1)TI 發(fā)送中斷請求標志位。 串口每發(fā)送完一幀串行數(shù)據(jù),硬件自動置TI“1”。 必須在中斷服務(wù)程序中用軟件對TI標志清“0”。(2)RI 接收中斷請求標志位。 串口接收完一個數(shù)據(jù)幀,硬件自動置RI“1” 。 必須在中斷服務(wù)程序中用軟件對RI標志清“0”。5.4 中斷控制 IE總中斷控制位EA單個中斷控制位IP 兩個中斷優(yōu)先級,可實現(xiàn)兩級中斷嵌套中斷允許寄存器中斷優(yōu)先級寄存器5.4.1 中斷允許寄存器IE CPU對中斷源的開放或屏蔽,由片內(nèi)的中斷允許寄存器IE控制。 字節(jié)地址為A8H,可位尋址。 格式如下:IE對中斷的控制分為兩級控制:(1)總中斷控制位EA(IE
6、.7位): EA=0,所有中斷請求被屏蔽; EA=1,CPU開放總中斷控制。(2)單個中斷控制位 五個中斷源的中斷請求是否被允許,還要由IE 中的5個中斷請求允許控制位決定。IE中各位的功能如下:(1)EA:中斷允許總控制位 0:CPU屏蔽所有的中斷請求(CPU關(guān)中斷); 1:CPU開放所有中斷(CPU開中斷)。(2)ES:串行口中斷允許位 0:禁止串行口中斷;1:允許串行口中斷。(3)ET1:定時器/計數(shù)器T1的溢出中斷允許位 0:禁止T1溢出中斷;1:允許T1溢出中斷。(4)EX1:外部中斷1中斷允許位 0:禁止外部中斷1中斷;1:允許外部中斷1中斷。(5)ET0:定時器/計數(shù)器T0的溢出
7、中斷允許位 0:禁止T0溢出中斷;1:允許T0溢出中斷。(6)EX0:外部中斷0中斷允許位。 0:禁止外部中斷0中斷;1:允許外部中斷0中斷。例 若允許片內(nèi)2個定時器/計數(shù)器中斷,禁止其它 中斷源的中斷請求。編寫設(shè)置IE的相應(yīng)程序。(1)用位操作指令來編寫如下程序段:CLR ES ;禁止串行口中斷 CLR EX1 ;禁止外部中斷1中斷CLR EX0;禁止外部中斷0中斷 SETB ET0 ;允許定時器/計數(shù)器T0中斷 SETB ET1 ;允許定時器/計數(shù)器T1中斷 SETB EA ;CPU開中斷(2)用字節(jié)操作指令來編寫: MOV IE,#8AH 或者用: MOV 0A8H,#8AH ;A8H為
8、IE寄存器字節(jié)地址兩個中斷優(yōu)先級,可實現(xiàn)兩級中斷嵌套。可歸納為下面兩條基本規(guī)則:(1)低優(yōu)先級可被高優(yōu)先級中斷,反之則不能。(2)同級中斷不會被它的同級中斷源所中斷。5.4.2 中斷優(yōu)先級寄存器IP 中斷優(yōu)先級寄存器IP 字節(jié)地址為B8H 若CPU正在執(zhí)行高優(yōu)先級的中斷, 則不能被任何中斷源所中斷。IP各個位的含義:(1)PS 串行口中斷優(yōu)先級控制位 1:高優(yōu)先級中斷;0:低優(yōu)先級中斷。(2)PT1 定時器T1中斷優(yōu)先級控制位 1:高優(yōu)先級中斷;0:低優(yōu)先級中斷。(3)PX1 外部中斷1中斷優(yōu)先級控制位 1:高優(yōu)先級中斷;0:低優(yōu)先級中斷。(4)PT0 定時器T0中斷優(yōu)先級控制位 1:高優(yōu)先級
9、中斷;0:低優(yōu)先級中斷。(5)PX0 外部中斷0中斷優(yōu)先級控制位 1:高優(yōu)先級中斷;0:低優(yōu)先級中斷。MCS-51內(nèi)部有兩個不可尋址的“優(yōu)先級激活觸發(fā)器”: 一個用來指示某高優(yōu)先級中斷正在執(zhí)行,所有后來的中斷均被阻止。 另一個用來指示某低優(yōu)先級中斷正在執(zhí)行,所有同級中斷都被阻止,但不阻斷高優(yōu)先級的中斷請求。 在同時收到幾個同一優(yōu)先級的中斷請求時,優(yōu)先響應(yīng)哪一個中斷,取決于內(nèi)部的查詢順序。同級中斷內(nèi)部查詢順序: 中斷源 查詢順序外部中斷0 先T0溢出中斷外部中斷1T1溢出中斷串行口中斷 后例 設(shè)置IP寄存器的初始值,使2個外中斷請求為高優(yōu)先 級,其它中斷請求為低優(yōu)先級。(1)用位操作指令 SET
10、B PX0 ;2個外中斷為高優(yōu)先級 SETB PX1 CLR PS ;串口為低優(yōu)先級中斷CLR PT0 ;2個定時器/計數(shù)器低優(yōu)先級中斷CLR PT1(2)用字節(jié)操作指令 MOV IP,#05H或:MOV 0B8H,#05H ;B8H為IP寄存器的字節(jié)地址5.5 響應(yīng)中斷請求的條件 一個中斷請求被響應(yīng),需滿足以下必要條件總允許位EA=1中斷允許位=1請求標志為=1 優(yōu)先級IE寄存器中的中斷總允許位EA=1該中斷源發(fā)出中斷請求,即該中斷源對應(yīng)的中斷請求標志為“1”該中斷源的中斷允許位=1,即該中斷沒有被屏蔽 無同級或更高級中斷正在被服務(wù)中斷響應(yīng)是有條件的,遇到下列三種情況之一時,中斷響應(yīng)被封鎖:
11、 (1)CPU正在處理同級的或更高優(yōu)先級的中斷。(2)所查詢的機器周期不是當(dāng)前正在執(zhí)行指令的最后一個機 器周期。只有當(dāng)前指令執(zhí)行完后,才能進行中斷響應(yīng)。(3)正在執(zhí)行的指令是RETI或是訪問IE或IP的指令。并且需 要再去執(zhí)行完一條指令,才能響應(yīng)新的中斷請求。 如果存在上述三種情況之一,CPU將丟棄中斷查詢結(jié)果, 不能對中斷進行響應(yīng)。5.6 外部中斷的響應(yīng)時間 外部中斷的最短的響應(yīng)時間為3個機器周期: (1)中斷請求標志位查詢占1個機器周期。 (2)子程序調(diào)用指令LCALL轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序 入口,需2個機器周期。 外部中斷響應(yīng)的最長的響應(yīng)時間為8個機器周期: (1)發(fā)生在CPU進行中斷標
12、志查詢時,剛好是開始執(zhí)行 RETI或訪問IE或IP的指令,需把當(dāng)前指令執(zhí)行完, 最長需2個機器周期。 (2)需再執(zhí)行一條指令,才能響應(yīng)中斷,按最長指令 (乘法或除法指令)來算,有4個機器周期。 (3)加上硬件子程序調(diào)用指令LCALL的執(zhí)行,需要 2個機器周期。 如果已在處理同級或更高級中斷,響應(yīng)時間無法計算。5.7 外部中斷的觸發(fā)方式選擇 兩種觸發(fā)方式:電平觸發(fā)方式和跳沿觸發(fā)方式5.7.1 電平觸發(fā)方式 CPU在每個機器周期采樣外部中斷輸入線的電平。 在中斷服務(wù)程序返回之前,外部中斷請求輸入必須撤消,否則CPU返回主程序后會重復(fù)響應(yīng)中斷。 適于外中斷以低電平輸入且中斷服務(wù)程序能清除外部中斷 請
13、求的情況。 5.7.2 跳沿觸發(fā)方式 連續(xù)兩次采樣; 一個機器周期采樣到外部中斷輸入為高;下一個機器周期采樣到外部中斷輸入為低;則置“1”中斷請求標志,直到CPU響應(yīng)此中斷時,該標志才清0。 輸入的負脈沖寬度至少保持1個機器周期。5.8 中斷請求的撤消硬件自動撤消清TF0或TF1硬件自動撤消軟硬件結(jié)合方法撤銷用軟件撤消定時器/計數(shù)器外部跳沿方式外部電平方式串行口電平方式外部中斷請求的撤消 除了標志位清“0”之外,還需在中斷響應(yīng)后把中斷請求信號引腳從低電平強制改變?yōu)楦唠娖健?P1.0端作應(yīng)答線輸出一個負脈沖就可以使D觸發(fā)器置“1”,從而撤消了低電平的中斷請求信號。所需的負脈沖可增加如下兩條指令得
14、到: ANL P1,#0FEH ;P1.0為“0” ORL P1,#01H ;P1.0為“1” 電平方式的外部中斷請求信號的完全撤消,是通過軟硬件相結(jié)合的方法來實現(xiàn)的。串行口中斷請求的撤消 響應(yīng)串行口的中斷后,CPU無法知道是接收中斷還是發(fā)送中斷,還需測試這兩個中斷標志位的狀態(tài),以判定是接收操作還是發(fā)送操作。 串行口中斷請求的撤消只能用軟件清除: CLR TI ;清TI標志位 CLR RI ;清RI標志位5.9 中斷服務(wù)程序的設(shè)計一、初始化程序 (1)設(shè)置中斷允許控制寄存器IE。 (2)設(shè)置中斷優(yōu)先級寄存器IP。 (3)對外中斷源,設(shè)置電平觸發(fā)還是跳沿觸發(fā)。二、中斷服務(wù)程序 編寫中斷服務(wù)程序,
15、處理中斷請求。例 假設(shè)允許外部中斷0中斷,并設(shè)定它為高級中斷,其它 中斷源屏蔽,采用跳沿觸發(fā)方式。 在主程序中編寫如下初始化程序段: SETB EA ;CPU開中斷 SETB ET0 ;允許外中斷0產(chǎn)生中斷 SETB PX0 ;外中斷0為高級中斷 SETB IT0 ;外中斷0為跳沿觸發(fā)方式 常用的主程序結(jié)構(gòu)如下: ORG 0000H LJMP MAIN ORG (中斷入口地址) LJMP INT ORG 0100H MAIN: 主 程 序 INT: 中斷服務(wù)程序三、采用中斷時的主程序結(jié)構(gòu)四、中斷服務(wù)程序的流程INT:CLR EA;CPU關(guān)中斷PUSH PSW;現(xiàn)場保護PUSH ACC; SET
16、B EA;CPU開中斷 ;(中斷處理程序段) CLR EA;CPU關(guān)中斷POP ACC;現(xiàn)場恢復(fù)POP PSW SETB EA;CPU開中斷RETI;中斷返回,恢復(fù)斷點例 根據(jù)上圖的中斷服務(wù)程序流程,編出中斷服務(wù)程序。假設(shè),現(xiàn)場保護只需將PSW和A的內(nèi)容壓入堆棧中保護。幾點說明:(1)現(xiàn)場保護僅涉及到PSW和A的內(nèi)容,如還有其它需保護的 內(nèi)容,只需要在相應(yīng)位置加幾條PUSH和POP指令即可。(2)“中斷處理程序段”,應(yīng)根據(jù)任務(wù)的具體要求來編寫。(3)如果本中斷服務(wù)程序不允許被其它的中斷所中斷。可將 “中斷處理程序段”前后的“SETB EA”和“CLR EA”兩條指令去掉。(4)中斷服務(wù)程序的最
17、后一條指令必須是返回指令RETI。例:利用定時器T0定時,在P1.0端輸出一方波,方波周期為20ms,已知晶振頻率為12MHZ。 ORG0000H AJMPMAIN ORGOOOBH AJMPINTT0MAIN:MOVTMOD,#01HMOVTL0,#0F0HMOVTH0,#0D8HMOVIE,#82H;CPU開中斷,T0開中斷SETBTR0;啟動T0HERE:SJMPHERE;循環(huán)等待RETINTT0:MOVTL0,#0F0HMOVTH0,#0D8HCPLP1.0RETI本例的中斷服務(wù)程序中沒有關(guān)中斷,也沒有保護現(xiàn)場,因為只有一個中斷源,且主程序中沒有需要保護的內(nèi)容;沒有CLR TF0,因為
18、進入中斷服務(wù)程序后,硬件可自動清0。例:已知某8051單片機采用6M晶振,現(xiàn)要求P1.0輸出一個5KHZ的方波,同時對外部輸入的脈沖信號進行計數(shù),每當(dāng)計滿200時,使內(nèi)部數(shù)據(jù)存儲單元60H內(nèi)容增1,當(dāng)增到100時停止計數(shù),并使P1.3輸出高電平,定時器T1被設(shè)置為串行口的波特率發(fā)生器。分析:定時器T0設(shè)置為工作方式3,利用T0引腳作為外部脈沖計數(shù)輸入,用TL0計數(shù),把TL0置初值256-200=56=38H由P1.0輸出5KHZ的方波,即每隔100us使P1.0的電平變化一次。用TH0作為8位定時,則初值為(256-50=206=0CEH)ORG2000HAJMPMAINORG000BHAJM
19、PINTTL0ORG001BHAJMPINTTH0MAIN:MOVTL0,#38H;賦計數(shù)初值MOVTH0,#0CE;賦定時初值MOVTL1,#BAND;根據(jù)波特率要求設(shè)定常數(shù)BANDMOVTH1,#BANDMOVTMOD,#27H;T1為方式2定時,T0為方式3計數(shù)MOVTCON,#55H;T0、T1均置外中斷邊沿觸發(fā), ;啟動T0、T1工作 MOVIE,#9AH;開放CPU中斷,開放串口、T0、T1中斷MOV60H,#00;60H單元清0HERE:SJMPHERE;循環(huán)等待INTTLO:MOVTL0,#38H;重賦初值INC60HMOVA,60HCJNEA,#100,LPSETBP1.3CLRA9HCLRTR0LP:RETIINTTH0:MOVTH0,#0CEH;重賦初值CPLP1.0RETI5.10 多外部中斷源系統(tǒng)設(shè)計 8051單片機有兩個外部中斷請
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 縱橫軟件課程設(shè)計總結(jié)
- 打印報表課程設(shè)計
- 吉林省四平市第三高級中學(xué)2024-2025學(xué)年高一上學(xué)期第二次質(zhì)量檢測歷史試題
- 甜品糖水教學(xué)課程設(shè)計
- 茶藝插畫課程設(shè)計案例
- 物理有沒有進展課程設(shè)計
- 2024年演員聘用合同
- 電子商務(wù)行業(yè)客服工作回顧
- 外科部門手術(shù)治療工作年度總結(jié)
- 2024年社區(qū)工作者測試題庫
- 公交車站臺服務(wù)規(guī)范與安全意識
- 2024電商消費趨勢年度報告-flywheel飛未-202412
- 慢阻肺護理個案病例范文
- 《農(nóng)機安全》課件
- 公共廁所清潔保養(yǎng)協(xié)議
- 浙江省溫州市2023-2024學(xué)年六年級上學(xué)期期末科學(xué)試卷(含答案)3
- 深圳大學(xué)《激光原理與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西安市高新第一中學(xué)八年級上冊地理期末試卷(含答案)
- 中國普通食物營養(yǎng)成分表(修正版)
- 駕駛證學(xué)法減分(學(xué)法免分)試題和答案(50題完整版)1650
- 期末測試卷(試題)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
評論
0/150
提交評論