




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
§6MCS-51中斷系統(tǒng)一、概述與上對比,單片機中也有同樣的問題。CPU正在執(zhí)行原程序,突然,被意外事情打斷,轉(zhuǎn)去執(zhí)行新程序。CPU執(zhí)行新程序結(jié)束后,又回到原程序中繼續(xù)執(zhí)行。這樣的過程就叫。中斷
什么叫中斷?
舉例:某同學(xué)正在教室寫作業(yè),忽然被人叫出去,回來后,繼續(xù)寫作業(yè)。這就是生活中中斷的例子。
對突發(fā)事故,做出緊急處理。根據(jù)現(xiàn)場隨時變化的各種參數(shù)、信息,做出實時監(jiān)控。
CPU與外部設(shè)備并行工作,以中斷方式相聯(lián)系,提高工作效率。解決快速CPU與慢速外設(shè)之間的矛盾。在多項外部設(shè)備同時提出中斷請求情況下,CPU能根據(jù)輕重緩急響應(yīng)外設(shè)的中斷請求。
中斷的作用:對于MCS-51單片機中斷系統(tǒng)的組成可以用一句話來講,叫做:“五源中斷,兩級管理”
五個中斷源:入口地址外部中斷0(/INT0)0003HT0溢出中斷000BH
外部中斷1(/INT1)0013HT1溢出中斷001BH
串口中斷
0023H
二、中斷請求源(“五源中斷”)中斷源的中斷請求,如何通知CPU?利用中斷請求標(biāo)志位來通知?。?!CPU識別中斷申請的依據(jù):
CPU在每個機器周期的S5P2期間,會自動查詢各個中斷申請標(biāo)志位,若查到某標(biāo)志位被置位,將啟動中斷機制。2.中斷控制
MCS-51單片機設(shè)置了4個專用寄存器用于中斷控制,用戶通過設(shè)置其狀態(tài)來管理中斷系統(tǒng)。一個機器周期P1P2P1P2以上6個中斷請求標(biāo)志位分別分布在TCON、SCON兩個寄存器中。TCONIT0IE0IT1IE1TR0TF0TR1TF1TF1——T1的溢出中斷標(biāo)志硬件置1,硬件清0(也可軟件清0)TF0——T0的溢出中斷標(biāo)志。(同TF1,只是針對T0的)IE1——外部中斷1(/INT1)請求標(biāo)志。外部有中斷請求時,硬件使IE1置1,硬件清0。IE0——外部中斷0(/INT0)請求標(biāo)志。IT1——外部中斷1(/INT1)觸發(fā)類型控制位。
IT1=0,低電平觸發(fā)。IT1=1,下降沿觸發(fā)。
IT0——
外中斷0(/INT0)觸發(fā)類型控制位,用法同IT1。
SCON
RI
TIRB8TB8RENSM2SM1SM0TI——串口發(fā)送中斷標(biāo)志位。
發(fā)送完數(shù)據(jù),硬件使TI置1,軟件清0(CLRTI)
RI——串行口接收中斷標(biāo)志位。
硬件置1,軟件清0。
在中斷源與CPU之間有二級中斷允許控制邏輯電路,類似開關(guān),其中第一級為一個總開關(guān),第二級為五個分開關(guān),由IE控制。
三、中斷控制(兩級管理)1、中斷屏蔽(第一級管理)IEEX0ET0EX1ET1ES
——
——EAEA——
總控制位
“—”——未定義位ES——
串口控制位
ET1——T1中斷控制位
EX1——/INT1控制位
ET0——T0中斷控制位
EX0——/INT0控制位
若為“1”,開關(guān)接通,允許例如SETBEA若為“0”,開關(guān)斷開,不允許例如CLRIE.72、中斷優(yōu)先級(第二級管理)為什么要有中斷優(yōu)先級?CPU同一時間只能響應(yīng)一個中斷請求。若同時來了兩個或兩個以上中斷請求,就必須有先有后。!??!
為此將5個中斷源分成高級、低級兩個級別,高級優(yōu)先,由IP控制。
IPPX0PT0PX1PT1PS——————PS——串口的中斷優(yōu)先級別PT1——定時/計數(shù)器T1的中斷優(yōu)先級別PX1——外部中斷1的中斷優(yōu)先級別PT0——定時/計數(shù)器T0的中斷優(yōu)先級別PX0——外部中斷0的中斷優(yōu)先級別該位是“1”時,為高級優(yōu)先級該位是“0”時,為低級優(yōu)先級同一級中的5個中斷源的優(yōu)先順序是:
/INT0中斷
T0溢出中斷
/INT1中斷
T1溢出中斷
串口中斷
高低出廠前已由廠家固化順序——事先約定中斷優(yōu)先原則:(概括為四句話)1、低級不打斷高級2、高級不睬低級3、同級不能打斷4、同級、同時中斷,事先約定。
事件1事件2子程序2子程序1中斷嵌套的概念:
主程序中斷中斷四、MCS-51中斷的響應(yīng)過程
日常生活中的中斷與單片機中斷的比較:
某同學(xué)
單片機過程說明正在看書
執(zhí)行主程序有人找出去
中斷信號
中斷請求暫??磿?/p>
暫停執(zhí)行主程序
中斷響應(yīng)書中作記號
當(dāng)前PC入棧
保護斷點出去做事
執(zhí)行中斷程序
中斷服務(wù)回來繼續(xù)看
返回主程序
中斷返回中斷請求的撤消1.定時器/計數(shù)器中斷請求的撤消
中斷請求被響應(yīng)后。硬件會自動清TF0或TF1。2.外部中斷請求的撤消
(1)跳沿方式外部中斷請求的撤消是自動撤消的。(2)電平方式外部中斷請求的撤消。除了標(biāo)志位清“0”之外,還需在中斷響應(yīng)后把中斷請求信號引腳從低電平強制改變?yōu)楦唠娖?,如下圖所示。只要P1.0端輸出一個負(fù)脈沖就可以使D觸發(fā)器置“1”,從而撤消了低電平的中斷請求信號。所需的負(fù)脈沖可增加如下兩條指令得到:
ORLP1,#01H ;P1.0為“1” ANLP1,#0FEH ;P1.0為“0”
電平方式的外部中斷請求信號的完全撤消,是通過軟硬件相結(jié)合的方法來實現(xiàn)的。3.串行口中斷請求的撤消響應(yīng)串行口的中斷后,CPU無法知道是接收中斷還是發(fā)送中斷,還需測試這兩個中斷標(biāo)志位的狀態(tài),以判定是接收操作還是發(fā)送操作,然后才能清除。所以串行口中斷請求的撤消只能使用軟件的方法
CLRTI;清TI標(biāo)志位
CLRRI;清RI標(biāo)志位例1外部中斷的應(yīng)用:8051單片機的P1口控制8個LED燈,要求8個燈加1移位點亮,當(dāng)中斷來時,燈全滅后全亮,然后繼續(xù)加1移位點亮。
ORG0HAJMPSTORG0003HAJMPEXT0ORG0030HST:MOVSP,#70HMOVIE,#81HMOVIP,#01HMOVTCON,#00HRES:MOVR1,#08H MOVA,#0FFHLOOP:MOVP1,ADECAACALLDELAYACALLDELAYDJNZR1,LOOPSJMPRES 中斷服務(wù)程序EXT0:PUSHACCMOVA,#00 MOVP1,AACALLDELAYACALLDELAYCPLAMOVP1,AACALLDELAYACALLDELAYPOPACCRETI
處理外部中斷舉例要求每次按動按鍵,使外接發(fā)光二極管LED改變一次亮滅狀態(tài)。解:INT0輸入按鍵信號,P1.0輸出改變LED狀態(tài)。1.跳變觸發(fā):每次跳變引起一次中斷請求。
ORG 0000H;復(fù)位入口 AJMPMAIN ORG 0003H ;中斷入口 AJMP PINT0 ORG 0100H ;主程序MAIN:MOVSP,#40H;設(shè)棧底
SETB EA ;開總允許開關(guān)
SETB EX0 ;開INT0中斷
SETB IT0 ;負(fù)跳變觸發(fā)中斷H: SJMP H ;執(zhí)行其它任務(wù)
ORG 0200H ;中斷服務(wù)程序PINT0:CPLP1.0 ;改變LED
RETI ;返回主程序單片機INT0P1.01+5V1.軟件等待按鍵釋放。2.硬件清除中斷信號。2.電平觸發(fā):避免一次按鍵引起多次中斷響應(yīng)。單片機INT0P1.01+5V
ORG 0000H;復(fù)位入口 AJMPMAIN ORG 0003H ;中斷入口 AJMP PINT0 ORG 0100H ;主程序MAIN:MOVSP,#40H;設(shè)棧底
SETB EA ;開總允許開關(guān)
SETB EX0 ;開INT0中斷
CLR IT0 ;低電平觸發(fā)中斷H: SJMP H ;執(zhí)行其它任務(wù)
ORG 0200H ;中斷服務(wù)程序PINT0:CPLP1.0 ;改變LEDWAIT:JNB P3.2,WAIT;等按鍵釋放
RETI ;返回主程序
[例題3]
通過外部中斷控制八盞燈循環(huán)點亮。解:通過P1口擴展八盞燈,在引腳接一個按鈕開關(guān)到地,每按一下按鈕就申請一次中斷,點亮一盞燈,中斷服務(wù)則是:依次點亮八盞燈中的一盞。采用邊沿觸發(fā)。硬件電路如下圖所示。程序如下:
ORG0000HLJMPMAINORG0013H;中斷服務(wù)程序入口地址
LJMPIN11MAIN:SETBEA;開總中斷允許“開關(guān)”
SETBEX1;開分中斷允許“開關(guān)”
CLRPX1;低優(yōu)先級(也可不要此句)
SETBIT1;邊沿觸發(fā)
MOVA,#01H;給累加器A賦初值
SJMP$;原地等待中斷申請
IN11:RLA;左環(huán)移一次
MOVP1,A;輸出到P1口
RETI;中斷返回
END3.2.4MCS-51擴展外部中斷請求輸入口
8051單片機只提供了兩個外部中斷請求輸入端,如果需要使用多于兩個的中斷源,就必須擴展外部中斷請求輸入口。
1.定時器/計數(shù)器用于擴展外部中斷請求輸入口
8051單片機有兩個定時器/計數(shù)器,它們作為計數(shù)器使用時,計數(shù)輸入端T0(或T1)發(fā)生負(fù)跳變將使計數(shù)器加1,利用此特性,適當(dāng)設(shè)置計數(shù)初值,就可以把計數(shù)輸入端T0(或T1)作為外部中斷請求輸入口。其特點是以占用內(nèi)部定時中斷為代價的。中斷服務(wù)程序的入口地址仍然為000BH或001BH。2.查詢方式擴展外部中斷請求輸入口
把多個中斷源通過硬件(如與非門)引入外部中斷輸入端,同時又連到某個I/O口。當(dāng)有中斷源申請中斷時,在中斷服務(wù)程序中通過軟件查詢可確定哪一個是正在申請的中斷源,其查詢的次序可由中斷優(yōu)先級決定。其特點是中斷響應(yīng)速度較慢。適用于外部中斷源較多的場合。下頁例題中,我們采用74LS21A四輸入端雙與門實現(xiàn)該任務(wù)。
3.使用專用芯片擴展外部中斷請求輸入口
當(dāng)外部中斷源較多,同時又要求中斷響應(yīng)速度很高時,查詢方式擴展外部中斷請求輸入口的方法很難滿足要求。這時可以使用專用接口芯片進行外部中斷請求輸入口的擴展。下面例題中,我們采用74LS21A四輸入端雙與門實現(xiàn)該任務(wù)。查詢方式擴展外部中斷請求輸入口的電路實現(xiàn):74ls21的邏輯表是:當(dāng)輸入全高時輸出為高,任一輸入低則輸出就為低。電路分析:當(dāng)沒有按鍵按下時,由于上拉電阻的作用,74ls21輸出高,使INT0口為高電平,此時中斷程序不被觸發(fā)。如果任何一個按鍵按下,則74ls21輸出低電平,觸發(fā)中斷程序。中斷程序設(shè)計為:如果程序設(shè)計檢測次序是P1.0、P1.1、P1.2、P1.3口,優(yōu)先級即按順序排列,如果同時有多個鍵被按下,可根據(jù)實際要求設(shè)定為
1、僅僅只響應(yīng)最優(yōu)先中斷;2、按優(yōu)先級順序依次執(zhí)行各個中斷。
設(shè)計程序如下:
ORG 0000H LJMP MAIN ORG 0003H ;外部中斷0中斷服務(wù)入口地址
LJMP INT ;轉(zhuǎn)中斷服務(wù)
ORG 0100H MAIN: SETB EA ;開總中斷允許
SETB EX0 ;開INT0中斷
SETB IT0 ;下降沿有效
……中斷服務(wù)程序清單如下:
INTI CALL D20 ;延時去抖動
MOVP1,#0FFH ;P1口送全1值(準(zhǔn)雙向口原因)
MOV A,P1 ;讀P1口各引腳(設(shè)另四口未用)
CJNE A,#0FFH,CLOSE ;驗證是否確實有鍵閉合
AJMP INT0 ;無鍵按下(按鍵時間過短)則退 ;出中斷
CLOSE:JNB ACC.3,KEY0 ;查詢0號鍵
JNB ACC.2,KEY1 ;查詢1號鍵
JNB ACC.1,KEY2 ;查詢2號鍵
JNB ACC.0,KEY3 ;查詢3號鍵
INT0: RETIKEY0: …… ;7號鍵處理程序
KEY01: MOV A,P1 ;再讀P1口各引腳
JNBACC.0,FUNC71 ;確認(rèn)鍵是否釋放
RETIKEY1: …… ;其他鍵處理程序
…… D20: …… ;20ms延時子程序
…… END
中斷應(yīng)用舉例【例5-1】圖5-6為3個故障源顯示電路,當(dāng)系統(tǒng)無故障時,3個故障源輸入端X1~X3全為低電平,對應(yīng)的3個顯示燈全滅;當(dāng)某部分出現(xiàn)故障時,其對應(yīng)的輸入端由低電平變?yōu)楦唠娖?,從而引起MCS-51單片機中斷,中斷服務(wù)程序的任務(wù)是判定故障,并點亮對應(yīng)的發(fā)光二極管。其中,發(fā)光二極管LED1~LED3對應(yīng)3個輸入端X1~X3。 實現(xiàn)上述功能的電路如圖5-6所示。3個故障源X1~X3通過“或非門”與8031單片機的外部中斷0輸入端相連,同時,X1~X3與P0口的P1.0~P1.2引腳相接,3支發(fā)光二極管LED1~LED3分別與P0口的P1.3~P1.5相接。
主程序為:
ORG0000H AJMPMAIN ORG0003H AJMPSERVEMAIN:ORLP1,#0FFH;燈全滅,準(zhǔn)備讀入
SETBIT0 ;選擇邊沿觸發(fā)方式
SETBEX0 ;允許INT0中斷
SETBEA ;CPU開中斷
AJMP$ ;等待中斷中斷服務(wù)子程序為:SERVE:JNBP1.0,L1 ;若X1無故障,跳到L1CLRP1.3;點亮LED1L1:JNBP1.1,L2;若X2無故障,跳到L2 CLRP1.4 ;點亮LED
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 錘擊預(yù)應(yīng)力管樁施工方案
- 刷漆施工方案
- 降排水專項施工方案
- 地板瓷拆除施工方案
- 遼寧聚脲施工方案
- 變電站基礎(chǔ)施工方案
- 內(nèi)墻 硬質(zhì)涂料施工方案
- 高考動員大會發(fā)言稿
- 四平深基坑支護施工方案
- 家長會體育發(fā)言稿
- 2025年武漢長江委水文局招考(57人)高頻重點模擬試卷提升(共500題附帶答案詳解)
- 安徽省江南十校2024屆高三3月聯(lián)考數(shù)學(xué)試卷 含解析
- 四川省成都市2024年七年級《英語》上冊月考試題與參考答案
- 2025(人教版)數(shù)學(xué)一年級下冊全冊教學(xué)案
- 蘇科版 八年級物理下冊 第六章 綜合測試卷(2025年春)
- 2025年中學(xué)生心理健康教育心得體會例文(5篇)
- 人教版 七年級英語下冊 UNIT 1 單元綜合測試卷(2025年春)
- 小學(xué)生學(xué)會公平與公正的行為主題班會
- 2025年遼寧醫(yī)藥職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 《大學(xué)物理矢量》課件
- 《習(xí)近平法治思想概論(第二版)》 課件 3.第三章 習(xí)近平法治思想的實踐意義
評論
0/150
提交評論