單片機_5中斷_第1頁
單片機_5中斷_第2頁
單片機_5中斷_第3頁
單片機_5中斷_第4頁
單片機_5中斷_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、例子1.定時器中斷串口中斷外部中斷MCS-51單片機中斷系統(tǒng)第一節(jié)概述一、中斷的概念中斷是指計算機暫時停止原程序的執(zhí)行轉(zhuǎn)而為外部設(shè)備服務(wù),并在服務(wù)完以后自動返 回原程序執(zhí)行的過程。一個資源(CPU)面對多項任務(wù),但由于資源有限,因此就可能出現(xiàn)資源競爭的局面, 即幾項任務(wù)來爭奪一個CPU。而中斷技術(shù)就是解決資源競爭的有效方法,采用中斷技術(shù)可 以使多項任務(wù)共享一個資源,所以中斷技術(shù)實質(zhì)上就是一種資源共享技術(shù)。二、引入中斷技術(shù)的優(yōu)點:1)提高了 CPU的工作效率,實現(xiàn)了 CPU和外部設(shè)備的并行工作。2)實現(xiàn)實時控制。所謂實時控制,就是要求計算機能及時地響應(yīng)被控對象提出的分析、 計算和控制等請求,使被

2、控對象保持在最佳工作狀態(tài),以達(dá)到預(yù)定的控制效果。由于這些控 制參數(shù)的請求都是隨機發(fā)出的,而且要求單片機必須作出快速響應(yīng)并及時處理,對此,只有 靠中斷技術(shù)才能實現(xiàn)。3)便于突發(fā)故障(如硬件故障、運算錯誤、電源掉電、程序故障等)的及時發(fā)現(xiàn),提 高系統(tǒng)可靠性。4)能使用戶通過鍵盤發(fā)出請求,隨時可以對運行中的計算機進行干預(yù)。三、中斷源向CPU發(fā)出中斷請求的來源稱之為中斷源。MCS- 51是一個多中斷源的單片機,以 80C51為例,共5個中斷源,分別是外部中斷2個,定時中斷2個和串行中斷1個。1、外中斷外中斷是由外部信號引起的,共有2個中斷源,即外部中斷0和外部中斷1。中斷請 求信號分別由引腳INT0(

3、P3.2)INT1 (P3. 3)引入。外部中斷請求有兩種信號方式,即電平方式和脈沖方式??赏ㄟ^設(shè)置有關(guān)控制位進行 定義。電平方式的中斷請求是低電平有效。只要單片機在中斷請求引入端上采樣到有效的低 電平時,就激活外部中斷。脈沖方式的中斷請求則是脈沖的后沿負(fù)跳有效。CPU在兩個相隨機器周期對中斷請 求引入端進行的采樣中,如前一次為高電平,后一次為低電平,即為有效中斷請求。2、定時中斷定時中斷足為滿足定時或計數(shù)的需要而設(shè)置的。當(dāng)計數(shù)結(jié)構(gòu)發(fā)生計數(shù)溢出時,即表明 定時時間到或計數(shù)值已滿,請求是在單片機芯片內(nèi)部發(fā)生的,無需在芯片上設(shè)里引入端。3、串行中斷串行中斷是為串行數(shù)據(jù)傳送的需要而設(shè)置的。每當(dāng)串行口

4、接收或發(fā)送完一組串行數(shù)據(jù) 時,就產(chǎn)生一個中斷請求。請求是在單片機芯片內(nèi)部自動發(fā)生的,不需在芯片上設(shè)里引入端。第二節(jié)中斷控制1一、定時器控制寄存器(TCON)該寄存器用于保存外部中斷請求以及定時器的計數(shù)溢出。寄存器的內(nèi)容及位地址表示 如下:位地址8FH8EH8DH8CH8BH8AH89H88 H位符號TFiTRiTF0TRoIE.IT,IEoIT。1、IE0和IE1外中斷請求標(biāo)志位當(dāng)CPU采樣到INT0(INT1)端出現(xiàn)有效中斷請求時,IE0(IE1)位由硬件置“1”。 在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)時,再由硬件自動清“0”。2、IT0和IT1外中斷請求觸發(fā)方式控制位IT0(IT1)=1脈沖觸發(fā)方

5、式,后沿負(fù)跳有效。IT0(IT1)=0電平觸發(fā)方式,低電平有效。由軟件置“ 1”或清“0 ”。3、TF0和TF1計數(shù)溢出標(biāo)志位當(dāng)計數(shù)器產(chǎn)生計數(shù)溢出時,相應(yīng)的溢出標(biāo)志位由硬件置1”。當(dāng)轉(zhuǎn)向中斷服務(wù)時,再 由硬件自動清“ 0”。計數(shù)溢出標(biāo)志位的使用有兩種情況:采用中斷方式時,作中斷請求標(biāo)志位來使用;采用查詢方式時,作查詢狀態(tài)位來使用。二、串行口控制寄存器(SCON)寄存器的內(nèi)容及位地址表示如下:位地址9FH9EH9DH9CH9BH9AH99H98 H位符號SM.SMtSMzRENTB#RBsTIRI1、TI串行口發(fā)送中斷請求標(biāo)志位當(dāng)發(fā)送完一幀串行數(shù)據(jù)后,由硬件置“1”;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件

6、清“0”。2、RI串行口接收中斷請求標(biāo)志位當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置“1”;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清“0”。串行中斷請求由TI和RI的邏輯或得到。就是說,無論是發(fā)送標(biāo)志還是接收標(biāo)志,都 會產(chǎn)生串行中斷請求。三、中斷允許控制寄存器(IE)寄存器地址0A8H,位地址0AFH0A8H。寄存器的內(nèi)容及位地址表示如下:位地址OAFHOAEHOADHOACHOABHOAAH0A9H0A8H位符號EA/ESETiEXiET0EXo1、EA中斷允許總控制位EA=0中斷總禁止,禁止所有中斷。EA=1中斷總允許,總允許后中斷的禁止或允許由各中斷源的中斷允許控制位進 行設(shè)里。2、EX0 (EX1)外部中

7、斷允許拉制位EX0(EX1)=0禁止外中斷EX0(EX1)=l允許外中斷3、ET1和ET0定時/計數(shù)中斷允許控制位ET0(ET1)=0禁止定時(或計數(shù))中斷ET0(ET1)=1允許定時(或計數(shù))中斷4、ES串行中斷允許控制位ES=0禁止串行中斷ES=1允許串行中斷四、中斷優(yōu)先級控制寄存器IPIP寄存器地址0B8H,位地址為0BFH0B8H。寄存器的內(nèi)容及位地址表示如下:位地址OBFHOBEHOBDHOBCHOBBHOBAH0B9HOB8H疝號/PSPTiPXiPT0PK,PX0外部中斷0優(yōu)先級設(shè)定位;PT0定時中斷0優(yōu)先級設(shè)定位,PX1外部中斷1優(yōu)先級設(shè)定位;PT1定時中斷1優(yōu)先級設(shè)定位;PS

8、串行中斷優(yōu)先級設(shè)定位。為“0”的位優(yōu)先級為低;為1”的位優(yōu)先級為高。五、中斷優(yōu)先級控制原則和控制邏輯MCS- 51具有兩級優(yōu)先級,具備兩級中斷服務(wù)嵌套的功能。其中斷優(yōu)先級的控制原則 是:低優(yōu)先級中斷請求不能打斷高優(yōu)先級的中斷服務(wù);但高優(yōu)先級中斷請求可以打斷低 優(yōu)先級的中斷服務(wù),從而實現(xiàn)中斷嵌套。如果一個中斷請求已被響應(yīng),則同級的其它中斷服務(wù)將被禁止。即同級不能嵌套。如果同級的多個中斷請求同時出現(xiàn),則按CPU查詢次序確定那個中斷請求被響應(yīng)。 其查詢次序為:外部中斷0一定時中斷0 外部中斷1 時中斷1一串行中斷。六、中斷初始化與中斷控制寄存器狀態(tài)設(shè)置外中斷初始化共有三項內(nèi)容:中斷總允許、外中斷允許

9、和中斷方式設(shè)定。定時中斷則 只有兩項內(nèi)容,沒有中斷方式控制。第三節(jié)中斷系統(tǒng)的結(jié)構(gòu)一、MCS-51中斷系統(tǒng)的響應(yīng)過程中斷過程:中斷過程的三步曲:中斷響應(yīng)、執(zhí)行中斷服務(wù)程序及中斷返回。圖中的中斷源,就是 指能提出中斷請求的計算機內(nèi)部電路與外部設(shè)備。下面分析一下中斷過程中的技術(shù)細(xì)節(jié)。圖8-2中斷嵌套流程圖圖84中斷流程圖1、中斷響應(yīng)中斷響應(yīng)的條件:基本條件有:有中斷源提出中斷請求;中斷總允許位EA=1,即CPU開放中斷;申請中斷的中斷源的中斷允許位為1,即沒有被屏蔽。MCS- 51的CPU在每個機器周期采樣各中斷請求標(biāo)志位,如有置位,只要以上條 件滿足,且下列三種情況都不存在,那么,在下一周期CPU

10、響應(yīng)中斷。否則,采樣的 結(jié)果被取消。這3種情況是: CPU正在處理同級或高級優(yōu)先級的中斷。現(xiàn)行的機器周期不是所執(zhí)行指令的最后一個機器周期。正在執(zhí)行的指令是RETI或訪問IE、IP指令。CPU在執(zhí)行RETI或訪問IE、IP 的指令后,至少需要再執(zhí)行一條其他指令后才會響應(yīng)中斷請求。MCS-51中斷系統(tǒng)在中斷響應(yīng)時的技術(shù)措施為:當(dāng)前PC值送堆棧,也就是將CPU本來要取用的指令地址暫存到堆棧中保護起來, 以便中斷結(jié)束時,CPU能找到原來程序的斷點處,繼續(xù)執(zhí)行下去。這一措施是中斷系統(tǒng)自 動保存完成。保護現(xiàn)場時關(guān)閉中斷,以防其他中斷信號干擾。此時,中斷系統(tǒng)關(guān)閉該中斷源接收 電路,其他中斷請求均被禁止。這一

11、措施需用指令完成按中斷源入口地址進人中斷服務(wù)程序。2、中斷服務(wù)程序在中斷響應(yīng)后,計算機調(diào)用的子程序稱為中斷服務(wù)程序。這是專門為外部設(shè)備或其他 內(nèi)部部件中斷源服務(wù)的程序段,其結(jié)尾必須是中斷返回指令RETI。3、中斷返回計算機在中斷響應(yīng)時執(zhí)行到RETI指令時,立即結(jié)束中斷并從堆棧中自動取出在中斷 響應(yīng)時壓入的PC當(dāng)前值,從而使CPU返回原程序中斷點繼續(xù)進行下去。二、中斷采樣、中斷查詢1、中斷采樣采樣就是CPU在每個機器周期對引腳INT0(P3.2)和INT1(P3.3)進行信號檢測,根據(jù) 采樣結(jié)果設(shè)置TCON寄存器中相應(yīng)的標(biāo)志位,以便CPU在下一個機器周期檢測這些中斷標(biāo) 志位的狀態(tài),了解是否有外部

12、中斷申請,然后根據(jù)中斷初始化情況決定是否響應(yīng)。對于T0、T1、串行口中斷的中斷請求,都發(fā)生在芯片內(nèi)部,可以直接設(shè)置TCON寄 存器和SCON寄存器中相應(yīng)的標(biāo)志位,無須采樣。1、中斷查詢CPU檢測TCON寄存器和SCON寄存器中各標(biāo)志位的狀態(tài),來決定有沒有中斷請 求發(fā)生及是哪一個中斷請求。三、中斷響應(yīng)時間定義:從檢測到中斷申請到轉(zhuǎn)去執(zhí)行中斷服務(wù)程序所需的時間。一般情況下中斷響應(yīng)時間在3-8個機器周期之間。四、中斷標(biāo)志的清除方式中斷標(biāo)志清除方式有三種情況:1)定時器T0、T1及邊沿觸發(fā)方式的外部中斷標(biāo)志,TF0、TF1、IE0、IE1在中斷 響應(yīng)后由硬件自動清除,無需采取其他措施。2)電平觸發(fā)方式

13、的外部中斷標(biāo)志IE1、IE0不能自動清除,必須撤除/INT0 或/INT1的電平信號。3)串行口中斷標(biāo)志TI、RI不能由硬件清除,需用指令清除內(nèi)部程序存儲器80C51芯片內(nèi)有4KROM存儲單元,其地址為0000H0FFFH。0000H 0002H系統(tǒng)的啟動單元中斷向量號0003H 000AH外部中斷0中斷地址區(qū)000BH 0012H定時器/計數(shù)器0中斷地址區(qū)0013H001AH外部中斷1中斷地址區(qū)001BH0022H定時器/計數(shù)器1中斷地址區(qū)0023H002AH串行中斷地址區(qū)中斷響應(yīng)后,系統(tǒng)能按中斷種類,自動轉(zhuǎn)到各中斷區(qū)的首地址去執(zhí)行程序。由于各地址區(qū)容量有限,因此一般在第一個單元放置一條無條

14、件轉(zhuǎn)移指令以轉(zhuǎn)移到 程序?qū)嶋H存放位置。在C語言程序中,通過中斷向量號來識別是那個中斷。void Ex_int0() interrupt 0void Timer0() interrupt 1void Ex_int1() interrupt 2void Timer1() interrupt 3void UartINTSVC() interrupt 4MCS-51的堆棧操作堆棧是一種數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)寫入堆棧稱為入棧(PUSH)。數(shù)據(jù)從堆棧中讀出稱之出棧 (POP)。數(shù)據(jù)操作規(guī)則:“后進先出”LIFO。即先入棧的數(shù)據(jù)由于存放在棧的底部,因此后出棧; 而后入棧的數(shù)據(jù)存放在棧的頂部,因此先出棧。1、堆棧的功用堆棧主要是為子程序調(diào)用和中斷操作而設(shè)立的。其具體功能有兩個:保護斷點和保護現(xiàn) 場。2、堆棧的開辟堆棧只能開辟在芯片的內(nèi)部數(shù)據(jù)存儲器中,即所謂的內(nèi)堆棧形式。3、堆棧指示器堆棧指示器SP(Stack Pointer)的內(nèi)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論