版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
單片機中斷系統(tǒng)第4章
中斷系統(tǒng)是為了使單片機對外部或內(nèi)部隨機發(fā)生的事件能及時處理而設置的。中斷功能的存在在很大程度上增強了單片機處理突發(fā)事件的能力。本章從中斷的概念、中斷系統(tǒng)結(jié)構(gòu)、中斷允許與中斷優(yōu)先級的控制、響應中斷請求的條件、外部中斷的響應時間、外部中斷的觸發(fā)方式選擇、中斷服務子程序的設計和多外部中斷源擴展設計等方面對中斷進行介紹。引言目錄中斷概述1外部中斷應用2本章小結(jié)3本章習題4行業(yè)PPT模板/hangye/4.1
中斷概述4.1.1中斷的概念
CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(中斷發(fā)生);
CPU暫時中斷當前的工作,轉(zhuǎn)去處理事件B(中斷響應和中斷服務);待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷。
(a)中斷流程
(b)中斷嵌套流程4.1.28051系列單片機中斷系統(tǒng)及與中斷有關的SFR1、8051系列單片機的中斷系統(tǒng)
8051系列單片機共有5個中斷源:兩個外部中斷和、兩個定時/計數(shù)器T0和T1,以及一個串口(分為兩個優(yōu)先級)。4.1.28051系列單片機中斷系統(tǒng)及與中斷有關的SFRIT0(TCON.0),外部中斷0觸發(fā)方式控制位。當IT0=0時,為電平觸發(fā)方式。當IT0=1時,為邊沿觸發(fā)方式(下降沿有效)。IE0(TCON.1),外部中斷0中斷請求標志位。IT1(TCON.2),外部中斷1觸發(fā)方式控制位。IE1(TCON.3),外部中斷1中斷請求標志位。TF0(TCON.5),定時/計數(shù)器T0溢出中斷請求標志位TF1(TCON.7),定時/計數(shù)器T1溢出中斷請求標志位。TCOND7D6D5D4D3D2D1D0位定義TF1—TF0—IE1IT1IE0IT02、與中斷系統(tǒng)有關的SFR(1)TCON(TimerControl)——中斷控制寄存器TCON中含有與定時器和外部中斷有關的標志位。TCON的字節(jié)地址是88H,可以進行位尋址和位操作。(2)IE(InterruptEnable)——中斷允許控制寄存器
CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。EX0(IE.0),外部中斷0允許位;ET0(IE.1),定時/計數(shù)器T0中斷允許位;EX1(IE.2),外部中斷0允許位;ET1(IE.3),定時/計數(shù)器T1中斷允許位;ES(IE.4),串行口中斷允許位;EA(IE.7),CPU中斷允許(總允許)位。4.1.28051系列單片機中斷系統(tǒng)及與中斷有關的SFRIED7D6D5D4D3D2D1D0位定義EA——ESET1EX1ET0EX0(3)IP(InterruptPriority)——中斷優(yōu)先級控制寄存器8051單片機有兩個中斷優(yōu)先級,即可實現(xiàn)二級中斷服務嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器IP中的相應位的狀態(tài)來規(guī)定的。PX0(IP.0),外部中斷0優(yōu)先級設定位;PT0(IP.1),定時/計數(shù)器T0優(yōu)先級設定位;PX1(IP.2),外部中斷0優(yōu)先級設定位;PT1(IP.3),定時/計數(shù)器T1優(yōu)先級設定位;PS(IP.4),串行口優(yōu)先級設定位;PT2(IP.5),定時/計數(shù)器T2優(yōu)先級設定位。4.1.28051系列單片機中斷系統(tǒng)及與中斷有關的SFRIPD7D6D5D4D3D2D1D0位定義———PSPT1PX1PT0PX0
中斷源有請求時會產(chǎn)生請求標志,如果中斷是被允許的,那么CPU會響應該中斷,響應中斷時,PC轉(zhuǎn)移到該中斷向量地址(也稱入口地址)處運行程序。8051單片機中斷源的入口地址固定在程序存儲器開頭的一段范圍內(nèi)(0003H~002BH),具體地址如下表所示。中斷源入口地址中斷編號0003H0T0000BH10013H2T1001BH3串口0023H43.中斷源向量地址4.1.28051系列單片機中斷系統(tǒng)及與中斷有關的SFR4.1.3中斷處理過程
中斷是一個過程,整個過程可以分為以下幾步:中斷請求、中斷響應、中斷服務和中斷返回。1、中斷請求
中斷源只有在有中斷請求時,CPU才可能響應它,不同的中斷源產(chǎn)生中斷請求的方式是不同的。中斷源的中斷請求標志由內(nèi)部硬件電路自動置為“1”,CPU在執(zhí)行指令的每個機器周期里都會查詢這些中斷請求標志,如果查詢到某個中斷請求標志為“1”,那么CPU就可能響應該中斷源的中斷請求。2、中斷響應
有了中斷請求,CPU要響應它還必須滿足以下幾個條件。
第一,該中斷源的中斷請求已經(jīng)被允許,即對應的中斷允許標志和總的中斷允許標志EA都被設置為“1”。
第二,CPU此時沒有響應同級或高級中斷。如果已經(jīng)有中斷服務程序在運行,CPU不會響應新的同級中斷請求,但可以響應高級中斷。如果正在執(zhí)行高級中斷服務程序,那么單片機也不會響應任何中斷。
第三,CPU正處于執(zhí)行某一條指令的最后一個機器周期。如果不是,就只有等到該條指令執(zhí)行完才能響應。
第四,如果正在執(zhí)行的指令是對IE、IP進行訪問的指令或中斷返回指令RETI,則只有等該指令執(zhí)行完再執(zhí)行一條其他指令才會響應中斷請求。CPU在響應某個中斷時,先做了如下操作:
(1)保護斷點地址;
(2)撤除該中斷源的請求標志;
(3)關閉同級中斷;
(4)將該中斷源的入口地址送給PC,程序?qū)⑥D(zhuǎn)到該程序的入口地址處運行。
3.中斷服務
中斷服務就是中斷源請求CPU做的任務,需要編程者用指令來實現(xiàn)。中斷服務程序的內(nèi)容包括3部分:保護現(xiàn)場、服務程序主體、恢復現(xiàn)場,流程如圖所示。4.中斷返回
中斷返回與子程序的返回類似,在匯編語言程序中,需要執(zhí)行一條返回指令RETI。RETI指令的功能如下:
RETI; //①(SP)→PC15~8,SP-1→SP //②(SP)→PC7~0,SP-1→SP
中斷服務程序中最后執(zhí)行的指令必須是RETI,程序才能正確返回。執(zhí)行RETI指令時,CPU自動完成下面的操作:(1)恢復斷點地址;
(2)開放同級中斷,允許同級的其他中斷源響應。注意:匯編語言在中斷服務程序中使用RETI指令返回,但在C語言的中斷服務程序中不使用返回語句,也不能返回任何數(shù)值。
4.1.3中斷處理過程4.1.4中斷響應時間
中斷的設置是為了單片機能及時地處理隨機發(fā)生的事件,但從中斷請求到中斷被響應需要一定的時間,只有在響應的條件滿足時才能響應。
如果在中斷請求階段已經(jīng)有高級中斷或同級中斷在運行,則等待的時間主要決定于正在運行的中斷程序的大小。需要考慮其他中斷程序?qū)Ρ局袛囗憫俣鹊挠绊懀瑢憫俣纫蟾叩闹袛嘣纯梢栽O置為高優(yōu)先級,其他中斷源設置為低優(yōu)先級,高優(yōu)先級中斷源一般只設置1個。
如果沒有高級中斷或同級中斷正在運行,則等待的時間取決于中斷請求時執(zhí)行的指令,如果執(zhí)行的是RETI或訪問IE、IP的指令,則需要先等這類指令執(zhí)行完畢,再執(zhí)行一條指令,只有這樣,才能響應中斷(如果緊接的指令是乘除法指令,則等待的時間長一些)。響應中斷的時間為3~8個機器周期,一般情況下為3~4個機器周期。4.1.5C語言中斷程序結(jié)構(gòu)使用C語言編寫中斷服務程序十分簡單,只需按照規(guī)定格式來編寫即可。具體格式如下:void中斷函數(shù)名(void)interrupt中斷編號[using寄存器組]{
中斷處理語句;
......
}
以上中斷服務程序不能有返回值,而且參數(shù)為空。其中,中斷編號根據(jù)所使用的中斷源來確定;寄存器組可以選0~3,也可以不選,由編譯器自動分配。中斷程序處理完畢后自動返回原斷點處。4.2
外部中斷的應用4.2.1外部中斷應用步驟1.硬件
硬件上的中斷比較簡單,只需將低電平或下降沿信號加到相應的中斷引腳上即可。用戶要做的就是通過一定的電路把按鍵、系統(tǒng)掉電、A/D轉(zhuǎn)換結(jié)束、傳感器、開關動作等狀態(tài)轉(zhuǎn)變成有效的中斷請求信號,并加到對應的外部中斷的引腳上。2.軟件
外部中斷在軟件上的設計步驟可以分為3步:初始化、入口地址和服務程序。(1)初始化。外部中斷初始化內(nèi)容包括中斷觸發(fā)方式選擇、開放“中斷”和中斷優(yōu)先級設置。外部中斷有低電平觸發(fā)和下降沿觸發(fā)兩種方式,一般選用下降沿觸發(fā)方式。中斷優(yōu)先級設置是指根據(jù)實際情況,結(jié)合其他中斷源的統(tǒng)一設置。一般可以不設置,只有當它用來處理系統(tǒng)優(yōu)先任務時,才把它設置為高優(yōu)先級。(2)入口地址。CPU響應中斷時會自動轉(zhuǎn)移到中斷源的入口地址處運行程序,因此在使用匯編語言來編寫中斷服務程序時,就需要把程序放在入口地址處。采用C語言編程不需要入口地址,只需設置中斷編號。(3)服務程序。服務程序是具體的程序內(nèi)容,根據(jù)中斷源中斷要做的事情,編制相應的程序。它與子程序有類似的地方,其名稱作為上面轉(zhuǎn)移指令的目的地址,在程序的最后要有RETI指令,服務程序完成后可以返回斷點處。4.2.2外部中斷應用舉例【例4-1】
在LED流水燈電路的基礎上設計中斷接口電路,將按鍵信號轉(zhuǎn)變成外部中斷的請求信號,如圖4-5所示。要求:按鍵每按一下,LED循環(huán)移一位。
實現(xiàn)原理分析:當按鍵沒有被按下時,P3.2引腳被上拉為高電平。在按鍵被按下的過程中,P3.2引腳有下降沿信號,變?yōu)榈碗娖健o論是低電平還是下降沿,都可以作為中斷的請求信號。voidsetup(void)//初始化設置子程序{LED=0xfe;
//亮燈初始信息IT0=1;
//外部中斷下降沿觸發(fā)EX0=1;
//允許外部中斷EA=1;
//允許全局中斷}voidINTEX0(void)interrupt0using1
//中斷服務程序{P1=LED;LED=LED<<1|0x01;//亮燈信息左移一位}4.2.2外部中斷應用舉例名稱:INT1的中斷函數(shù)程序功能:實現(xiàn)9~0的遞減顯示voidINTEX1(void)interrupt2{charj;//設置有符號的變量for(j=9;j>=0;j--)//for循環(huán),共循環(huán)9次
{
display(j);//調(diào)用顯示函數(shù)
delayms(500);//延時0.5s
}}程序功能:實現(xiàn)數(shù)碼管的顯示入口參數(shù):待顯示的數(shù)字voiddisplay(unsignedcharnumber)
//顯示函數(shù){ P0=SEG[number];}【例4-2】
如圖4-6所示,系統(tǒng)上電時,數(shù)碼管從0到9遞增循環(huán)顯示。當按鍵被按下時,用中斷方式控制數(shù)碼管從9到0遞減顯示一次。實現(xiàn)原理分析:在第3章的案例中已經(jīng)介紹過單個數(shù)碼管的循環(huán)遞增顯示原理,與之前不同的是,本例中的數(shù)碼管的顯示被按鍵中斷,顯示的數(shù)據(jù)有變化。這些變化的顯示可以放在中斷服務程序中實現(xiàn)。4.2.3外部中斷源的擴展
8051單片機的外部中斷只有兩個,有時會不夠用。當有多個外部信號需要使用中斷方式工作時,可以采用擴展的方法。如圖所示。在中斷服務程序中,首先要判斷是哪個信號產(chǎn)生了中斷請求,可通過讀與之相連的I/O口來判斷。如果某個引腳電平為低,就是該引腳信號引起的中
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院新進人員培訓ppd課件
- 羊水過少孕婦的宮內(nèi)輸液治療
- 天壇介紹講解
- 三年(2023-2025)中考歷史真題分類匯編(全國)專題03 統(tǒng)一多民族國家的建立和鞏固(解析版)
- 辦公用品管理制度
- 2026年北京市三力考試理解力場景應用練習題及參考答案
- 2026年濟南市教師編制考試教育理論題庫含答案
- 2026年及未來5年中國消防器材行業(yè)市場調(diào)查研究及投資前景預測報告
- 熊貓吃竹子作文400字(13篇)
- 獨家文化創(chuàng)意產(chǎn)品開發(fā)承諾函(7篇)
- 比亞迪維修試車協(xié)議書
- 安檢員值機識圖培訓
- 電力市場基礎知識面試題及高頻考點
- 2026屆四川省成都市樹德實驗中學物理九上期末調(diào)研試題含解析
- 精密制造公司年度總結(jié)
- 修復承重柱地面施工方案
- 2026年全球美容與個人護理趨勢預測報告-英敏特-202510
- 2025內(nèi)蒙古通遼市扎魯特旗巨日合鎮(zhèn)人民政府招聘護林員9人考試參考試題及答案解析
- 林下經(jīng)濟培訓課件
- 黃褐斑的中醫(yī)辨證分型及治療
- 安徽省2025年高二學業(yè)水平合格性考試英語試卷及答案
評論
0/150
提交評論