




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中斷系統(tǒng)及其應(yīng)用第1頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日本章主要內(nèi)容中斷基本概念中斷系統(tǒng)結(jié)構(gòu)及中斷控制中斷處理過(guò)程第2頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日第一節(jié) 中斷基本概念一、為什么引入中斷概念? 單片機(jī)系統(tǒng)運(yùn)行時(shí),CPU經(jīng)常需要與外部輸入輸出設(shè)備交換信息,但CPU速度比外設(shè)速度要快得多,為了解決快速CPU與慢速外設(shè)間的矛盾,單片機(jī)系統(tǒng)中需要廣泛采用中斷控制方式。為了滿足單片機(jī)CPU與外設(shè)交換信息的需要!單片機(jī)CPU與外設(shè)交換信息的方式通常有三種: 無(wú)條件傳送方式 查詢傳送方式 中斷傳送方式二、單片機(jī)CPU與外設(shè)交換信息的方式第3頁(yè),共46頁(yè),2022
2、年,5月20日,4點(diǎn)50分,星期日 無(wú)條件傳送方式 無(wú)條件傳送方式又稱同步傳送,此方式下,CPU與外設(shè)之間進(jìn)行數(shù)據(jù)傳送時(shí),不考慮外設(shè)狀態(tài),即CPU認(rèn)為外設(shè)在任何條件下都是處于“準(zhǔn)備好”的狀態(tài)。因此,這種傳送方式下,CPU不需要了解外設(shè)狀態(tài)信息,只需要在程序中加入訪問(wèn)外設(shè)的指令,就可以實(shí)現(xiàn)CPU與外設(shè)間的數(shù)據(jù)傳送。 該方式簡(jiǎn)單,但因?yàn)椴恢劳庠O(shè)的狀態(tài),導(dǎo)致傳送數(shù)據(jù)時(shí)容易出錯(cuò),而且效率不高,已經(jīng)很少被使用!第4頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 查詢傳送方式 查詢傳送方式又稱條件傳送方式。CPU在傳送數(shù)據(jù)之前,首先查詢外部設(shè)備是否處于“準(zhǔn)備好”的狀態(tài)。輸入數(shù)據(jù)時(shí),需要知道外設(shè)
3、是否已經(jīng)把要輸入的數(shù)據(jù)準(zhǔn)備好;輸出數(shù)據(jù)時(shí),則需要知道外設(shè)是否已經(jīng)把上一次單片機(jī)輸出的數(shù)據(jù)處理完畢。通過(guò)查詢,確信外設(shè)已處于“準(zhǔn)備好”狀態(tài)時(shí),CPU才發(fā)出訪問(wèn)外設(shè)的命令,實(shí)現(xiàn)數(shù)據(jù)的輸入或輸出,否則,CPU就處于查詢等待狀態(tài)。 該方式保證了數(shù)據(jù)傳送的正確性,但需要查詢等待過(guò)程!特別是在連續(xù)進(jìn)行數(shù)據(jù)傳送時(shí),由于CPU的速度比外設(shè)快很多,通常,CPU在完成一次數(shù)據(jù)傳送后,要等待很長(zhǎng)的時(shí)間,才能進(jìn)行下一次的傳送,在等待過(guò)程中,CPU不能進(jìn)行其他的操作,所以效率比較低。第5頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 因此,又要保證數(shù)據(jù)傳送的正確性,又要提高效率,最有效的途徑就是采用中斷傳送方
4、式! 中斷傳送方式 CPU啟動(dòng)外設(shè)后,外設(shè)與CPU并行獨(dú)立工作,此時(shí),CPU可以做其他工作,一旦外設(shè)需要CPU處理時(shí),由外設(shè)向CPU提出請(qǐng)求,在滿足一定條件下,CPU暫時(shí)中止當(dāng)前的工作(即現(xiàn)在執(zhí)行的程序),轉(zhuǎn)去為外設(shè)服務(wù)(執(zhí)行外設(shè)服務(wù)程序),外設(shè)請(qǐng)求服務(wù)處理完后,再回到原來(lái)被中斷的地方,繼續(xù)原來(lái)的工作(繼續(xù)執(zhí)行原來(lái)的程序)。那到底什么是中斷呢?第6頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日三、中斷概念 在單片機(jī)中,當(dāng)CPU在執(zhí)行程序時(shí),由單片機(jī)內(nèi)部或外部的原因引起的隨機(jī)事件要求CPU暫時(shí)停止正在執(zhí)行的程序,而轉(zhuǎn)向執(zhí)行一個(gè)用于處理該隨機(jī)事件的程序,處理完后又返回被中止的程序斷點(diǎn)處繼
5、續(xù)執(zhí)行,這一過(guò)程就稱為中斷。中斷流程圖第7頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日中斷源分類四、其他相關(guān)概念單片機(jī)處理中斷的4個(gè)步驟 中斷請(qǐng)求 中斷響應(yīng) 中斷處理 中斷返回中斷源中斷請(qǐng)求向CPU發(fā)出中斷請(qǐng)求的來(lái)源,或引起中斷的原因。中斷源要求服務(wù)的請(qǐng)求。一類來(lái)自單片機(jī)內(nèi)部,稱之為內(nèi)部中斷源;一類來(lái)自單片機(jī)外部,稱之為外部中斷源。第8頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日例:生活中的“中斷”。某人CPU電話鈴響了中斷源某人“看報(bào)”正常運(yùn)行的程序去接電話響應(yīng)中斷與朋友聊天中斷服務(wù)程序某人繼續(xù)看報(bào)退出中斷服務(wù)程序,繼續(xù)運(yùn)行正常的程序。第9頁(yè),共46頁(yè),2022年,5
6、月20日,4點(diǎn)50分,星期日五、中斷的一般功能中斷系統(tǒng)的功能一般包括以下幾點(diǎn): 實(shí)現(xiàn)中斷優(yōu)先級(jí)排隊(duì) 實(shí)現(xiàn)中斷嵌套 自動(dòng)中斷響應(yīng) 實(shí)現(xiàn)中斷及返回 實(shí)現(xiàn)中斷撤除 分時(shí)操作,提高CPU的工作效率 實(shí)時(shí)處理,提高實(shí)時(shí)數(shù)據(jù)的處理時(shí)效第10頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 實(shí)現(xiàn)中斷優(yōu)先級(jí)排隊(duì) 通常,單片機(jī)中有多個(gè)中斷源,設(shè)計(jì)人員能按輕重緩急給每個(gè)中斷源的中斷請(qǐng)求賦予一定的中斷優(yōu)先級(jí)。 當(dāng)兩個(gè)或兩個(gè)以上的中斷源同時(shí)請(qǐng)求中斷時(shí),CPU可通過(guò)中斷優(yōu)先級(jí)排隊(duì)電路首先響應(yīng)中斷優(yōu)先級(jí)高的中斷請(qǐng)求,等到處理完優(yōu)先級(jí)高的中斷請(qǐng)求后,再來(lái)響應(yīng)優(yōu)先級(jí)低的中斷請(qǐng)求。 CPU在響應(yīng)某一中斷源中斷請(qǐng)求而進(jìn)行
7、中斷處理時(shí),若有中斷優(yōu)先級(jí)更高的中斷源發(fā)出中斷請(qǐng)求,CPU會(huì)暫停正在執(zhí)行的中斷服務(wù)程序,轉(zhuǎn)向執(zhí)行中斷優(yōu)先級(jí)更高的中斷源的中斷服務(wù)程序,等處理完這個(gè)高優(yōu)先級(jí)的中斷請(qǐng)求后,再返回來(lái)繼續(xù)執(zhí)行被暫停的中斷服務(wù)程序。這個(gè)過(guò)程稱為中斷嵌套。 實(shí)現(xiàn)中斷嵌套第11頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 自動(dòng)中斷響應(yīng) 中斷源向CPU發(fā)出的中斷請(qǐng)求是隨機(jī)的。通常,CPU總是在每條指令的最后狀態(tài)對(duì)中斷請(qǐng)求信號(hào)進(jìn)行檢測(cè)。當(dāng)某一中斷源發(fā)出中斷請(qǐng)求時(shí),CPU能根據(jù)相關(guān)條件(如中斷優(yōu)先級(jí)、是否允許中斷)進(jìn)行判斷,決定是否響應(yīng)這個(gè)中斷請(qǐng)求。若允許響應(yīng)這個(gè)中斷請(qǐng)求,CPU在執(zhí)行完相關(guān)指令后,會(huì)自動(dòng)完成斷點(diǎn)地址
8、壓入堆棧、中斷矢量地址送入程序計(jì)數(shù)器PC、撤除本次中斷請(qǐng)求標(biāo)志,轉(zhuǎn)入執(zhí)行相應(yīng)中斷服務(wù)程序。第12頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 實(shí)現(xiàn)中斷及返回 CPU響應(yīng)某一中斷源的中斷請(qǐng)求,轉(zhuǎn)入執(zhí)行相應(yīng)中斷服務(wù)程序,在執(zhí)行中斷服務(wù)程序最后的中斷返回指令時(shí),會(huì)自動(dòng)彈出堆棧區(qū)中保存的斷點(diǎn)地址,返回到中斷前的原程序中。 第13頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 實(shí)現(xiàn)中斷撤除 在響應(yīng)中斷申請(qǐng)以后,返回主程序之前,中斷請(qǐng)求應(yīng)該撤除,否則,就等于中斷申請(qǐng)依然存在,這將影響對(duì)其他中斷申請(qǐng)的響應(yīng)。中斷的撤除與返回指令并不是一回事,有的中斷系統(tǒng)在響應(yīng)任何中斷申請(qǐng)之后,都能撤除該
9、中斷的申請(qǐng)標(biāo)志。但MCS-51中斷系統(tǒng)只能對(duì)一部分中斷申請(qǐng)?jiān)陧憫?yīng)后自動(dòng)撤除。 分時(shí)操作,提高CPU的工作效率中斷系統(tǒng)的存在,可以使CPU與外設(shè)并行工作。 實(shí)時(shí)處理,提高實(shí)時(shí)數(shù)據(jù)的處理時(shí)效 當(dāng)單片機(jī)用于實(shí)時(shí)控制時(shí),請(qǐng)求CPU提供服務(wù)是隨機(jī)發(fā)生的,有了中斷系統(tǒng),CPU就可以立即響應(yīng)并加以處理。第14頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日六、中斷服務(wù)程序與子程序的異同同:都屬于子程序異:調(diào)用子程序的時(shí)間是事先安排好的,但調(diào)用中斷服務(wù)程序是由外設(shè)決定的,并不是人為安排的。第15頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日第二節(jié) 中斷系統(tǒng)結(jié)構(gòu)及中斷控制一、MCS-51系列單
10、片機(jī)中斷系統(tǒng)結(jié)構(gòu)第16頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日從上圖可以看出,MCS-51系列單片機(jī)有:5個(gè)中斷請(qǐng)求源:INT0、INT1、T0、T1、Tx/Rx 4個(gè)中斷控制寄存器:IE、IP、TCON、SCON分別用于確定中斷的類型、中斷源的優(yōu)先級(jí)以及中斷的開(kāi)、閉。二、MCS-51系列單片機(jī)中斷源 INT0:外部中斷0請(qǐng)求,低電平有效 INT1:外部中斷1請(qǐng)求,低電平有效 T0:定時(shí)/計(jì)數(shù)器0溢出中斷請(qǐng)求 T1:定時(shí)/計(jì)數(shù)器1溢出中斷請(qǐng)求 Tx/Rx:串行口通信中斷請(qǐng)求當(dāng)外部對(duì)應(yīng)引腳為低電平時(shí),便請(qǐng)求中斷。當(dāng)定時(shí)/計(jì)數(shù)器中計(jì)數(shù)結(jié)果發(fā)生計(jì)數(shù)溢出時(shí),請(qǐng)求中斷。串行口完成一幀數(shù)據(jù)
11、的發(fā)送或接收時(shí),便請(qǐng)求中斷。第17頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日中斷源及對(duì)應(yīng)的中斷服務(wù)程序入口地址:外部中斷0(INT0) 0003H外部中斷1(INT1) 0013H定時(shí)器T0中斷(T0) 000BH定時(shí)器T1中斷(T1) 001BH串行口中斷 0023H說(shuō)明:兩個(gè)相鄰中斷源中斷服務(wù)程序入口地址相距僅8個(gè)單元,一般的中斷服務(wù)程序8個(gè)存儲(chǔ)單元是遠(yuǎn)遠(yuǎn)不夠的,因此,通常會(huì)在相應(yīng)中斷服務(wù)程序入口地址單元存放一條無(wú)條件轉(zhuǎn)移指令LJMP,這樣,就可以把中斷服務(wù)程序放在其他區(qū)域執(zhí)行。第18頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日三、中斷控制4個(gè)特殊功能寄存器用于中
12、斷控制。 定時(shí)/計(jì)數(shù)控制器TCON 串行口控制寄存器SCON 中斷允許寄存器IE 中斷優(yōu)先寄存器IP第19頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 定時(shí)/計(jì)數(shù)控制寄存器TCON(字節(jié)地址為88H)TF1定時(shí)/計(jì)數(shù)器T1的溢出中斷請(qǐng)求標(biāo)志位。T1被啟動(dòng)計(jì)數(shù)后,從初值開(kāi)始加1計(jì)數(shù),直至計(jì)滿溢出,硬件使TF11,向CPU請(qǐng)求中斷。TF0定時(shí)/計(jì)數(shù)器T0的溢出中斷請(qǐng)求標(biāo)志位。T0被啟動(dòng)計(jì)數(shù)后,從初值開(kāi)始加1計(jì)數(shù),直至計(jì)滿溢出,硬件使TF01,向CPU請(qǐng)求中斷。IE1外部中斷1的中斷請(qǐng)求標(biāo)志位(INT1)IE0外部中斷0的中斷請(qǐng)求標(biāo)志位(INT0)第20頁(yè),共46頁(yè),2022年,5月20
13、日,4點(diǎn)50分,星期日IT1外部中斷1的中斷觸發(fā)控制位IT10,外部中斷1為電平觸發(fā)方式IT11,外部中斷1為邊沿觸發(fā)方式IT0外部中斷0的中斷觸發(fā)控制位IT00,外部中斷0為電平觸發(fā)方式IT01,外部中斷0為邊沿觸發(fā)方式 當(dāng)檢測(cè)到外部中斷引腳上存在有效中斷請(qǐng)求信號(hào)時(shí),由硬件使IE11或IE01,CPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序。第21頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 串行口控制寄存器SCON(字節(jié)地址為98H)TI(Transmit)串行口發(fā)送中斷請(qǐng)求標(biāo)志位 CPU將一個(gè)數(shù)據(jù)寫入發(fā)送緩沖器時(shí),就啟動(dòng)發(fā)送,每發(fā)送完一幀串行數(shù)據(jù)后,硬件自動(dòng)置位TI,使TI1,則產(chǎn)生中斷,
14、要求CPU相應(yīng)中斷,再將下一個(gè)數(shù)據(jù)寫入發(fā)送緩沖器。必須在中斷服務(wù)程序中用軟件對(duì)TI標(biāo)志清“0”!RI(Receive)串行口接收中斷請(qǐng)求標(biāo)志位每接收完一個(gè)串行幀,就硬件置位RI。必須在中斷服務(wù)程序中用軟件對(duì)TI標(biāo)志清“0”!第22頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 中斷允許寄存器IE(字節(jié)地址為A8H)EA中斷允許總控制位EA=1,CPU打開(kāi)中斷(但各中斷源是允許還是禁止,將分別由各自的允許位確定)EA=0,CPU屏蔽所有中斷(即:若EA=0,則各中斷源的允許位即使是允許狀態(tài),也被禁止)ES串行口中斷允許位ES=1,允許串行口中斷ES=0,禁止串行口中斷CPU對(duì)中斷源的開(kāi)
15、放或屏蔽,由片內(nèi)的中斷允許寄存器IE控制。第23頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日ET1定時(shí)/計(jì)數(shù)器T1的溢出中斷允許位EX1外部中斷1(INT1)的中斷允許位ET0定時(shí)/計(jì)數(shù)器T0的溢出中斷允許位EX0外部中斷0(INT0)的中斷允許位ET1=1,允許T1中斷ET1=0,禁止T1中斷EX1=1,允許INT1中斷EX1=0,禁止INT1中斷ET0=1,允許T0中斷ET0=0,禁止T0中斷EX0=1,允許INT0中斷EX0=0,禁止INT0中斷即:對(duì)應(yīng)位為“1”,允許中斷;對(duì)應(yīng)位為“0”,禁止中斷。第24頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日例:設(shè)置允許片
16、內(nèi)定時(shí)/計(jì)數(shù)器中斷,禁止其他中斷時(shí)IE寄存器的值。10001010解:則對(duì)應(yīng)IE寄存器的值如下所示法 字節(jié)操作指令MOV IE,8AH法 位操作指令CLR ES ;CLR EX1; CLR EX0;SETB ET0;SETB ET1;SETB EA ;禁止串行口中斷禁止外部中斷1中斷禁止外部中斷0中斷允許定時(shí)/計(jì)數(shù)器T0中斷允許定時(shí)/計(jì)數(shù)器T1中斷CPU開(kāi)總中斷第25頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 中斷優(yōu)先級(jí)寄存器IP(字節(jié)地址為B8H)中斷優(yōu)先級(jí)當(dāng)兩個(gè)或兩個(gè)以上的中斷源同時(shí)向CPU提出中斷申請(qǐng)時(shí),CPU會(huì)根據(jù)系統(tǒng)設(shè)計(jì)人員安排好的中斷源的優(yōu)先順序來(lái)依次響應(yīng)中斷。中斷嵌
17、套CPU正在處理一個(gè)中斷請(qǐng)求時(shí),又出現(xiàn)了另一個(gè)優(yōu)先級(jí)比它高的中斷請(qǐng)求,這時(shí),CPU就暫時(shí)中止對(duì)當(dāng)前優(yōu)先級(jí)較低的中斷源的服務(wù),轉(zhuǎn)去響應(yīng)優(yōu)先級(jí)更高的中斷請(qǐng)求,并為其服務(wù),待服務(wù)結(jié)束,再繼續(xù)執(zhí)行原來(lái)較低級(jí)的中斷服務(wù)程序。第26頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日MCS-51系列單片機(jī)可人工設(shè)置的中斷優(yōu)先級(jí)為2級(jí):高優(yōu)先級(jí)、低優(yōu)先級(jí),由中斷優(yōu)先級(jí)寄存器IP控制。PS串行口中斷優(yōu)先控制位PS=1,高優(yōu)先級(jí)中斷;PS=0,低優(yōu)先級(jí)中斷。第27頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日PT1定時(shí)器T1中斷優(yōu)先級(jí)控制位PT1=1,高優(yōu)先級(jí)中斷PT1=0,低優(yōu)先級(jí)中斷PX1外部
18、中斷1中斷優(yōu)先級(jí)控制位PX1=1,高優(yōu)先級(jí)中斷PX1=0,低優(yōu)先級(jí)中斷PT0定時(shí)器T0中斷優(yōu)先級(jí)控制位PT0=1,高優(yōu)先級(jí)中斷PT0=0,低優(yōu)先級(jí)中斷PX0外部中斷0中斷優(yōu)先級(jí)控制位PX0=1,高優(yōu)先級(jí)中斷PX0=0,低優(yōu)先級(jí)中斷即:對(duì)應(yīng)位為“1”,相應(yīng)中斷源設(shè)定為“高優(yōu)先級(jí)”中斷;對(duì)應(yīng)位為“0”,相應(yīng)中斷源設(shè)定為“低優(yōu)先級(jí)”中斷。第28頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日注意:當(dāng)系統(tǒng)復(fù)位時(shí),IP值為00H,即所有中斷源均被設(shè)置為低優(yōu)先級(jí)中斷! 如果幾個(gè)同一優(yōu)先級(jí)的中斷源同時(shí)提出中斷申請(qǐng),則按自然優(yōu)先級(jí)來(lái)響應(yīng)中斷。中斷源外部中斷0(INT0)定時(shí)/計(jì)數(shù)器中斷(T0)外部中斷
19、1(INT1)定時(shí)/計(jì)數(shù)器中斷(T1)串行口中斷自然優(yōu)先級(jí)最高級(jí)最低級(jí)第29頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日四、中斷系統(tǒng)初始化就是對(duì)之前所介紹的4個(gè)中斷控制寄存器的值進(jìn)行設(shè)置!步驟: 設(shè)定所用中斷源的中斷優(yōu)先級(jí)(IP) 若為外部中斷,設(shè)定是電平觸發(fā)還是邊沿觸發(fā)方式(TCON) 打開(kāi)相應(yīng)的中斷源中斷(IE)第30頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日例:設(shè)定外部中斷1(INT1)為高優(yōu)先級(jí)中斷,用低電平觸發(fā)方式,對(duì)中斷系統(tǒng)初始化。中斷優(yōu)先級(jí)寄存器IP:PSPT1PX1PT0PX0定時(shí)/計(jì)數(shù)控制寄存器TCON:TF1TR1TF0TR0IE1IT1IE0IT
20、0中斷允許寄存器IE:EAESET1EX1ET0EX0解:題目中涉及到的中斷控制寄存器如下:第31頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日法 字節(jié)操作指令MOV IP,04H;ANL TCON,0FBH;MOV IE,84H;設(shè)定中斷優(yōu)先級(jí)設(shè)定INT1中斷請(qǐng)求,且為低電平觸發(fā)方式設(shè)定相應(yīng)中斷源打開(kāi)法 位操作指令SETB PX1;CLR IT1;SETB EA;SETB EX1;設(shè)定INT1為高優(yōu)先級(jí)中斷設(shè)定INT1為低電平觸發(fā)打開(kāi)中斷允許總控制位打開(kāi)INT1的中斷允許位第32頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日第三節(jié) 中斷處理過(guò)程中斷的處理包括以下四個(gè)過(guò)程:
21、 中斷請(qǐng)求 中斷響應(yīng) 中斷處理 中斷返回第33頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日一、中斷請(qǐng)求 中斷請(qǐng)求是中斷源向CPU發(fā)出請(qǐng)求中斷的信號(hào),要求CPU中斷原來(lái)執(zhí)行的程序,轉(zhuǎn)去為它服務(wù)。一般中斷請(qǐng)求信號(hào)可以是電平信號(hào),也可以是脈沖信號(hào)。中斷請(qǐng)求信號(hào)應(yīng)該已知保持到CPU作出反應(yīng)時(shí)為止。二、中斷響應(yīng) 中斷響應(yīng)是在滿足CPU的中斷響應(yīng)條件后,CPU對(duì)中斷源中斷請(qǐng)求的回答。CPU的中斷響應(yīng)條件:(1)有中斷源發(fā)出中斷請(qǐng)求。(2)中斷總允許位EA=1。(3)請(qǐng)求中斷的中斷源的中斷允許位為1。第34頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 中斷處理就是執(zhí)行中斷服務(wù)程序,從
22、中斷入口地址開(kāi)始執(zhí)行,直到返回指令(RETI)為止。此過(guò)程一般包括三部分內(nèi)容:(1)保護(hù)現(xiàn)場(chǎng)(2)處理中斷源的請(qǐng)求(3)恢復(fù)現(xiàn)場(chǎng)三、中斷處理四、中斷返回 中斷返回是指中斷服務(wù)完成后,CPU返回到原程序的斷點(diǎn)(即原來(lái)斷開(kāi)的位置),繼續(xù)執(zhí)行原來(lái)的程序。 中斷返回通過(guò)執(zhí)行中斷返回指令RETI來(lái)實(shí)現(xiàn)。 切忌:不能用RET指令代替RETI指令!第35頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日中斷請(qǐng)求的撤除 CPU響應(yīng)某中斷請(qǐng)求后,在中斷返回前,應(yīng)該撤消該中斷請(qǐng)求,否則會(huì)引起另一次中斷。不同中斷源中斷請(qǐng)求的撤除方法是不一樣的。 在CPU響應(yīng)中斷后,硬件不能清除中斷請(qǐng)求標(biāo)志TI和RI,而要由軟
23、件來(lái)清除相應(yīng)的標(biāo)志。 定時(shí)/計(jì)數(shù)器溢出中斷請(qǐng)求的撤除 CPU在響應(yīng)中斷后,硬件會(huì)自動(dòng)清除中斷請(qǐng)求標(biāo)志TF0或TFl。 串行口中斷的撤除第36頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日 外部中斷為電平觸發(fā)方式時(shí),CPU響應(yīng)中斷后,硬件會(huì)自動(dòng)清除中斷請(qǐng)求標(biāo)志IE0或IEl,但由于加到INT0或INT1引腳的外部中斷請(qǐng)求信號(hào)并未撤除,中斷請(qǐng)求標(biāo)志IE0或IEl會(huì)再次被置1,所以在CPU響應(yīng)中斷后應(yīng)立即撤除INT0或INT1引腳上的低電平。 外部中斷的撤除 外部中斷為邊沿觸發(fā)方式時(shí),CPU響應(yīng)中斷后,硬件會(huì)自動(dòng)清除中斷請(qǐng)求標(biāo)志IE0或IEl。例:P1口做輸出口,控制八只燈(P1口輸出低電
24、平時(shí)燈被點(diǎn)亮),利用手控單脈沖信號(hào)作為外部中斷信號(hào),控制八只燈按一定的規(guī)律循環(huán)點(diǎn)亮。解:手控單脈沖信號(hào)作為外部中斷信號(hào)由INT0(P3.2)管腳輸入 設(shè)置中斷允許寄存器IE中的EA、EX0位為1; 只有一個(gè)中斷源可不設(shè)置優(yōu)先級(jí)別; 中斷觸發(fā)方式設(shè)為邊沿觸發(fā),控制位IT0應(yīng)設(shè)置為1。第37頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日參考程序: ORG 0000H; LJMP MAIN; ORG 0003H; LJMP INT; ORG 0050H;MAIN:SETB EA; SETB EX0; SETB IT0; MOV A,0FEH MOV P1,A SJMP $; ORG 010
25、0H;INT: RL A; MOV P1,A RETI END程序入口轉(zhuǎn)向主程序外部中斷0的入口地址轉(zhuǎn)向中斷服務(wù)程序主程序存放開(kāi)始地址打開(kāi)中斷允許總控制位打開(kāi)INT0的中斷允許位INT0的中斷觸發(fā)方式為邊沿觸發(fā)等待中斷中斷程序存放開(kāi)始地址中斷服務(wù)程序第38頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日例:將P1口的P1.0P1.3作為輸入位,P1.4P1.7作為輸出位,要求利用8051單片機(jī)外部中斷方式,將通過(guò)開(kāi)關(guān)所設(shè)的數(shù)據(jù)讀入單片機(jī),然后輸出驅(qū)動(dòng)發(fā)光二極管,以驗(yàn)證低四位輸入與高四位輸出是否相符,采用外部中斷0邊沿觸發(fā)方式。分析: 當(dāng)S4接a處時(shí),a為低電平,b為高電平,則輸出到IN
26、T0為高電平,中斷無(wú)效; 當(dāng)S4接b處時(shí),a為高電平,b為低電平,則輸出到INT0為低電平,此時(shí)產(chǎn)生外部中斷; 中斷源為INT0,對(duì)應(yīng)中斷入口地址為0003H; 輸入P1.0P1.3對(duì)應(yīng)輸出P1.4P1.7,即P1.0對(duì)應(yīng)P1.4,當(dāng)P1.0的S0關(guān)閉后,P1.0為低電平,輸出到對(duì)應(yīng)P1.4,則發(fā)光二極管導(dǎo)通發(fā)光。第39頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日參考程序: ORG 0000H AJMP MAIN; ORG 0003H AJMP INT0; ORG 0100H;MAIN: SETB EX0; SETB IT0; SETB EA;HERE:SJMP HERE; ORG 0200H;INT0: MOV A,#0FFH MOV P1,A; MOV A,P1; SWAP A; MOV P1,A; RETI; END轉(zhuǎn)向主程序轉(zhuǎn)向中斷服務(wù)子程序主程序允許外部中斷0中斷選擇邊沿觸發(fā)方式打開(kāi)CPU總中斷等待中斷中斷服務(wù)子程序先給P1口賦8位高電平,使二極管都滅正確輸入P1口數(shù)據(jù)P1口數(shù)據(jù)高4位與低4位互換輸出驅(qū)動(dòng)發(fā)光二極管發(fā)光中斷返回第40頁(yè),共46頁(yè),2022年,5月20日,4點(diǎn)50分,星期日練習(xí)題1:1、試編寫一段對(duì)中斷系統(tǒng)進(jìn)行初始化的程序,使之允許INT0、INT1、T0和串行口中斷,且使串行口中斷為高優(yōu)先級(jí)中斷,INT0為電平觸發(fā)方式
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)有柄大杯市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)帶材光亮退火生產(chǎn)線市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)單子排市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)交流金屬化全密封電容器市場(chǎng)調(diào)查研究報(bào)告
- 2025-2030年中國(guó)陶制品數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025-2030年中國(guó)輻射型泄漏軋紋銅管電纜數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 公積金提取合同范例
- 企業(yè)茶葉購(gòu)銷合同范例
- 個(gè)人承攬勞務(wù)合同范例
- 防水板臺(tái)車施工方案
- 提高地下室管線一次性安裝合格率
- 小學(xué)三年級(jí)數(shù)獨(dú)比賽“六宮”練習(xí)題
- 實(shí)驗(yàn)一、儀器的認(rèn)領(lǐng)、洗滌、干燥及樣品的稱量
- 通橋(2013)8388A常用跨度梁橋面附屬設(shè)施_圖文
- SF_T 0112-2021 法醫(yī)臨床影像學(xué)檢驗(yàn)實(shí)施規(guī)范_(高清版)
- 干部調(diào)動(dòng)介紹信(存根)Word版
- 油田科研單位有效發(fā)揮技術(shù)專家作用初探
- 席位卡A4紙打印模板(共3頁(yè))
- 研究生英語(yǔ)寫譯教程基礎(chǔ)級(jí)第三版袁錫興楊若東寫作篇Chapter1Theparagraph
- 股權(quán)轉(zhuǎn)讓承諾書.doc
評(píng)論
0/150
提交評(píng)論