單片機初級教程-單片機基礎(chǔ)(第2版)_第1頁
單片機初級教程-單片機基礎(chǔ)(第2版)_第2頁
單片機初級教程-單片機基礎(chǔ)(第2版)_第3頁
單片機初級教程-單片機基礎(chǔ)(第2版)_第4頁
單片機初級教程-單片機基礎(chǔ)(第2版)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第8 8章章中斷系統(tǒng)中斷系統(tǒng) 本章要點本章要點理解中斷概念,能正確描繪單片機中斷響應(yīng)過程熟記80C51單片機的5個中斷源及其中斷入口地址能按要求正確設(shè)置特殊功能寄存器IE、IP、熟悉中斷優(yōu)先控制的方法中斷響應(yīng)及中斷處理過程中斷程序設(shè)計8.1 概述8.1.1 中斷的概念(1)現(xiàn)實生活中的中斷:某人看書某人正在處理一件事A電話鈴響出現(xiàn)另一件須立即解決的事件B暫??磿兄故录嗀 書中作記號記錄斷點,便于接續(xù) 電話談話處理事件B繼續(xù)看書繼續(xù)事件A的工作中斷請求中斷請求保護斷點保護斷點中斷響應(yīng)中斷響應(yīng)中斷返回中斷返回(2)單片機中的中斷 CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(

2、中斷發(fā)生); CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù)); 待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷 。80C51單片機的中斷系統(tǒng)結(jié)構(gòu)執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點中斷請求中斷響應(yīng)執(zhí)行中斷處理程序中斷返回引起CPU中斷的根源,稱為中斷源。中斷源向CPU提出中斷請求。中斷之后所執(zhí)行的處理程序,稱為“中斷服務(wù)”或“中斷處理子程序”,原來運行的程序為“主程序”。主程序被斷開的位置稱為“斷點”,中斷服務(wù)處理完后再回到原來被中斷的地方(即斷點),稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)(中斷機構(gòu))。8.1.2 引

3、進中斷技術(shù)的優(yōu)點 隨著計算機技術(shù)的應(yīng)用,人們發(fā)現(xiàn)中斷技術(shù)不僅解決了快速主機與慢速I/O設(shè)備的數(shù)據(jù)傳送問題,而且還具有如下優(yōu)點: 分時操作。CPU可以分時為多個I/O設(shè)備服務(wù),提高了計算機的利用率; 實時響應(yīng)。CPU能夠及時處理應(yīng)用系統(tǒng)的隨機事件,系統(tǒng)的實時性大大增強; 可靠性高。CPU具有處理設(shè)備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。8.1.4 中斷系統(tǒng)的功能(1)中斷及返回保護斷點(把斷點處的PC值推入堆棧保留下來,硬件自動執(zhí)行)保護現(xiàn)場執(zhí)行中斷處理子程序恢復(fù)現(xiàn)場恢復(fù)斷點(RETI)8-1 中斷流程圖(2)優(yōu)先權(quán)排隊 系統(tǒng)中有多個中斷源,有時會出現(xiàn)2個或更多個中斷源同時提出中斷請

4、求的情況。 事先給各中斷源規(guī)定其優(yōu)先級別,稱為“優(yōu)先權(quán)”。 計算機按中斷源級別高低逐次響應(yīng)的過程稱“優(yōu)先權(quán)排隊”。(3)中斷嵌套圖8.2 中斷嵌套流程圖8.2 AT89S51單片機的中斷系統(tǒng)中斷過程是在硬件基礎(chǔ)上再配以相應(yīng)的軟件而實現(xiàn)的。8.2.1 中斷系統(tǒng)的結(jié)構(gòu) AT89S51單片機有5個中斷源,可提供2個中斷優(yōu)先級,即可實現(xiàn)二級中斷嵌套。 其中斷系統(tǒng)結(jié)構(gòu)框圖如圖8.3所示,主要由幾個與中斷有關(guān)的特殊功能寄存器和順序查詢邏輯電路等組成。 與中斷有關(guān)的特殊功能寄存器有4個,分別為中斷源寄存器(即專用寄存器TCON、SCON的相關(guān)位)、中斷允許控制寄存器IE和中斷優(yōu)先級控制寄存器IP。 5個中斷

5、源的排列順序由中斷優(yōu)先級控制寄存器IP和順序查詢邏輯電路共同決定。圖8.3 AT89S51的中斷系統(tǒng)結(jié)構(gòu)8.2.2 中斷源及中斷入口1. 中斷源 AT89S51的中斷源分為3類:即外部中斷、定時中斷和串行口中斷。 5個中斷源,分別為:2個外部輸入中斷源INT0(P3.2)和INT1(P3.3),2個片內(nèi)定時器T0和T1的溢出中斷源TF0(TCON.5)和TF1(TCON.7),1個片內(nèi)串行口發(fā)送和接收中斷源TI(SCON.1)和RI(SCON.0)。2. 中斷入口 當(dāng)CPU響應(yīng)某中斷源的中斷申請后,CPU將此中斷源的入口地址裝入PC,中斷服務(wù)程序即從此地址開始執(zhí)行,因而將此地址稱為“中斷入口”

6、,也稱為“中斷矢量”。8.2.3 與中斷有關(guān)的寄存器 中斷功能雖然是硬件和軟件結(jié)合的產(chǎn)物,但用戶不必了解中斷硬件電路和發(fā)生過程。對用戶來說,重點是怎樣通過軟件管理和應(yīng)用中斷功能。1.中斷允許控制寄存器 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中斷允許(總允許)位。復(fù)位后,IE中各中斷允許位均被清0,即禁止所有中斷2.中斷

7、請求標(biāo)志寄存器 當(dāng)有中斷源發(fā)出請求時,由硬件將相應(yīng)的中斷標(biāo)志位置1。在中斷請求被響應(yīng)前,相應(yīng)中斷標(biāo)志位被鎖存在特殊功能寄存器TCON或SCON中。 (1)定時器控制寄存器TCONIT0(TCON.0),外部中斷0觸發(fā)方式控制位。當(dāng)IT0=0時,為電平觸發(fā)方式。當(dāng)IT0=1時,為邊沿觸發(fā)方式(下降沿有效)。IE0(TCON.1),外部中斷0中斷請求標(biāo)志位。IT1(TCON.2),外部中斷1觸發(fā)方式控制位。IE1(TCON.3),外部中斷1中斷請求標(biāo)志位。TF0(TCON.5),定時/計數(shù)器T0溢出中斷請求標(biāo)志位。TF1(TCON.7),定時/計數(shù)器T1溢出中斷請求標(biāo)志位。(2) 串行口控制寄存器

8、SCON RI(SCON.0),串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬件置位RI。同樣,RI必須由軟件清除。 TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過程。每發(fā)送完一個串行幀,由硬件置位TI。CPU響應(yīng)中斷時,不能自動清除TI,TI必須由軟件清除。3.中斷優(yōu)先級寄存器IP 80C51單片機有兩個中斷優(yōu)先級,即可實現(xiàn)二級中斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的 。PX0(IP.0),外部中斷0優(yōu)先級設(shè)定位;PT0(IP.1),定時/計數(shù)器T0優(yōu)先級設(shè)定位;P

9、X1(IP.2),外部中斷0優(yōu)先級設(shè)定位;PT1(IP.3),定時/計數(shù)器T1優(yōu)先級設(shè)定位;PS (IP.4),串行口優(yōu)先級設(shè)定位;PT2 (IP.5) ,定時/計數(shù)器T2優(yōu)先級設(shè)定位。復(fù)位后,IP全部清0,將所有中斷源設(shè)置為低優(yōu)先級中斷。 同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權(quán)排隊問題。同一優(yōu)先級的中斷優(yōu)先權(quán)排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:8.3 中斷處理過程 中斷處理過程分為3個階段:中斷響應(yīng)、中斷處理和中斷返回。8.3.1 中斷響應(yīng) 中斷響應(yīng)是在滿足CPU的中斷響應(yīng)條件之后,CPU對中斷源中斷請求的回答。在這一階段,CPU要完成執(zhí)行中斷服務(wù)以前的所有準(zhǔn)備

10、工作。準(zhǔn)備工作包括保護斷點和把程序轉(zhuǎn)向中斷服務(wù)程序的入口地址(通常稱為“矢量地址”)。1.CPU的中斷響應(yīng)條件CPU響應(yīng)中斷的條件:(1)有中斷源發(fā)出中斷申請;(2)中斷總允許位EA1,即CPU允許所有中斷源申請中斷;(3)申請中斷的中斷源的中斷允許位為1 。 以上是CPU響應(yīng)中斷的基本條件。若滿足,CPU一般會響應(yīng)中斷,但如果有下列任何一種情況存在,則中斷響應(yīng)會受到阻斷。(1)CPU正在執(zhí)行一個同級或高一級的中斷服務(wù)程序;(2)當(dāng)前的機器周期不是正在執(zhí)行指令的最后一個周期;(3)正在執(zhí)行的指令是返回(RETI)指令或者對專用寄存器IE、IP進行讀寫的指令,此時,在執(zhí)行RETI或者讀寫IE或I

11、P之后,不會馬上響應(yīng)中斷請求2.中斷響應(yīng)過程中斷響應(yīng)中的CPU自主操作:(1)置位響應(yīng)的優(yōu)先級狀態(tài)寄存器,標(biāo)明所響應(yīng)中斷的優(yōu)先級別;(2)中斷源標(biāo)志清零(TI、RI 除外);(3)中斷斷點地址壓入堆棧保護(不保護PSW);(4)中斷入口地址送PC,程序轉(zhuǎn)到中斷入口地址處。CPU執(zhí)行RETI指令時的自主操作:(1)優(yōu)先級狀態(tài)寄存器清零;(2)斷點地址從堆棧中彈出至PC,程序返回到斷點處繼續(xù)執(zhí)行。8.3.2 中斷處理在編寫中斷服務(wù)程序時需注意的主要事項是:(1)注意保護現(xiàn)場和恢復(fù)現(xiàn)場 (2)在中斷入口地址單元處存放一條無條件轉(zhuǎn)移指令 (3)如果要禁止更高優(yōu)先級中斷源中斷,應(yīng)先關(guān)閉CPU中斷,或屏蔽

12、更高級中斷源的中斷,在中斷返回前再開放中斷。 (4)在保護現(xiàn)場和恢復(fù)現(xiàn)場時,為了不使現(xiàn)場數(shù)據(jù)受到破壞或者造成混亂,一般規(guī)定此時CPU不響應(yīng)新的中斷請求。8.3.3 中斷返回中斷返回由專門的中斷返回指令RETI實現(xiàn)8.3.4 中斷請求的撤除(1)對定時器0或1溢出中斷標(biāo)志TF0或TF1,還有邊沿觸發(fā)的外部中斷標(biāo)志IE0或IE1 ,在CPU響應(yīng)中斷后,是硬件自動撤除的。(2)對于串行口中斷標(biāo)志TI、RI ,CPU響應(yīng)中斷后,不能用硬件清除,而要靠軟件來清除相應(yīng)的標(biāo)志。(3)只有對于電平激活的外部中斷,撤除方法較復(fù)雜。要通過硬件,再配合軟件來解決。8.3.6 擴充外部中斷源1. 利用定時器擴展外中斷

13、源法2. 中斷和查詢結(jié)合法圖8-5 多外部中斷源連接方法8.4 中斷程序的設(shè)計與應(yīng)用 與中斷有關(guān)的程序一般包含兩部分:主程序中的中斷初始化部分 以及中斷響應(yīng)后的中斷處理程序。8.4.1 中斷程序的一般設(shè)計方法 從編程的角度看,中斷控制實質(zhì)上就是對4個與中斷有關(guān)的特殊功能寄存器TCON、 SCON、IE和IP進行管理和控制,它包括:CPU中斷的允許與禁止;某中斷源中斷請求的允許與禁止(屏蔽);各中斷源優(yōu)先級別的設(shè)定(即中斷源優(yōu)先級排隊);外部中斷請求的觸發(fā)方式設(shè)置。 中斷管理與控制程序一般不獨立編寫,而是包含在主程序中,根據(jù)需要通過幾條指令來實現(xiàn)。 圖8-6 中斷處理過程流程圖(a) 主程序框圖 (b)硬件自動完成框圖 (c)中斷服務(wù)程序框圖1主程序中的中斷初始化(1)CPU開中斷與關(guān)中斷;(2)某中斷源中斷請求的允許和禁止(屏蔽);(3)各中斷源優(yōu)先級別的設(shè)定;(4)外部中斷請求的觸發(fā)方式。2中斷服務(wù)程序8.4.2 中斷程序應(yīng)用舉例例1、利用定時器T0定時,在P1.0端輸出一周期為20ms的方波。已知晶振頻率為12MHz。分析:利用T0定時中斷功能,對P1.0端口定時求反操作,定時時間10ms。T0中斷服務(wù)程序入口地址為000BHORG 0000H LJMP MAIN ORG 0

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論