第四章 中斷系統(tǒng)_第1頁
第四章 中斷系統(tǒng)_第2頁
第四章 中斷系統(tǒng)_第3頁
第四章 中斷系統(tǒng)_第4頁
第四章 中斷系統(tǒng)_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章MCS-51單片機的中斷系統(tǒng)4.1中斷的概念4.2中斷系統(tǒng)結(jié)構(gòu)及中斷控制4.1中斷的基本概念日常生活中中斷的例子單片機中的中斷概念中斷技術(shù)的優(yōu)點什么是中斷,我們從生活中的例子引入??磿睦樱耗阏诳磿?,突然電話鈴響了,......。中斷就是正常的工作被外部事件打斷了。日常生活中的中斷仔細研究一下生活中的中斷,對于我們學(xué)習(xí)計算機中的中斷也很有好處。1、什么可以引起中斷?生活中有很多事件可以引起中斷:有人按了門鈴,電話鈴響了,你的鬧鐘鈴響了,你燒的水開了......等等諸如此類的事件,我們把可以引起中斷的事件稱之為中斷源。計算機中也有一些可以引起中斷的事件,像8051單片機就有5個中斷源。

2、中斷的嵌套與優(yōu)先級處理設(shè)想一下,我們正在看書,電話鈴?fù)蝗豁懥?,同時又有人按了門鈴,你該先做那樣呢?如果你正在等一個很重要的電話,你一般不會去理會門鈴的,而反之,你正在等一個很重要的客人,則可能就不會去理會電話了。如果不是這兩者(即不等電話,也不等人上門)你可能會按你通常的習(xí)慣去處理。總之這里存在一個優(yōu)先級問題。優(yōu)先級問題不僅僅發(fā)生在兩個或以上的中斷同時產(chǎn)生的情況,也發(fā)生在一個中斷已經(jīng)產(chǎn)生,又有一個中斷產(chǎn)生的情況。如你正在接電話,有人按門鈴的情況,或你正在開門與人交談,又有電話鈴了的情況??紤]一下我們會怎么辦吧。

3、中斷的響應(yīng)過程(看書的例子)當(dāng)有事件產(chǎn)生,進入中斷之前我們必須先記住現(xiàn)在看書的第幾頁了,或拿一個書簽放在當(dāng)前頁的位置,然后去處理不同的事情(因為處理完了,我們還要來繼續(xù)看書)。(接電話的例子)電話鈴響了我們要到放電話的地方去,門鈴響了,我們要到門那邊去,也就是說,不同的中斷,我們要在不同的地點處理,而這個地點通常還是固定的,這也和計算機中的中斷類似,如MCS-51的5個中斷源都有各自的中斷入口地址,當(dāng)某個中斷源產(chǎn)生中斷時,CPU響應(yīng)中斷便到相應(yīng)的中斷入口地址執(zhí)行程序。

外圍設(shè)備與CPU之間常用的通信方式

查詢方式 中斷傳輸方式 直接存儲器存?。ê喎QDMA)由于在單片機控制系統(tǒng)中,外設(shè)與CPU之間需要傳送的數(shù)據(jù)量較少,對傳輸率要求不高,一般不用DMA方式,這里也就不介紹。1查詢方式

查詢方式包括查詢輸出方式和查詢輸入方式。所謂查詢輸入方式,是指CPU讀外設(shè)數(shù)據(jù)前,先查詢外設(shè)是否處于準(zhǔn)備就緒狀態(tài)(即外設(shè)是否已將數(shù)據(jù)輸出到CPU的數(shù)據(jù)總線上);查詢輸出方式是指CPU向外設(shè)輸出數(shù)據(jù)前,先查詢外設(shè)是否處于空閑狀態(tài)(即外設(shè)是否可以接收CPU輸出的數(shù)據(jù))。下面以CPU向外設(shè)輸出數(shù)據(jù)為例,簡要介紹查詢傳輸方式的工作過程:當(dāng)CPU需要向外設(shè)輸出數(shù)據(jù)時,先將控制命令(如外設(shè)的啟動命令)寫入外設(shè)的控制端口,然后不斷讀外設(shè)的狀態(tài)口,當(dāng)發(fā)現(xiàn)外設(shè)處于空閑狀態(tài)后,就將數(shù)據(jù)寫入外設(shè)的數(shù)據(jù)口,完成數(shù)據(jù)的輸出過程。查詢方式優(yōu)缺點:硬件開銷少、傳輸程序簡單,但缺點是CPU占用率高,因為在外設(shè)未準(zhǔn)備就緒或處于非空閑狀態(tài)前,CPU一直處于查詢狀態(tài),不能執(zhí)行其他操作,任何時候也只能與一個外設(shè)進行數(shù)據(jù)交換。

2中斷方式采用中斷傳輸方式就可以克服查詢傳輸方式存在的缺陷:當(dāng)CPU需要向外設(shè)輸出數(shù)據(jù)時,將啟動命令寫入外設(shè)控制口后,就繼續(xù)執(zhí)行隨后的指令序列,而不是被動等待;當(dāng)外設(shè)處于空閑狀態(tài),可以接收數(shù)據(jù)時,由外設(shè)向CPU發(fā)出允許數(shù)據(jù)傳送的請求信號——即中斷請求信號,如果滿足中斷響應(yīng)條件,CPU將暫停執(zhí)行隨后的指令序列,轉(zhuǎn)去執(zhí)行預(yù)先安排好的數(shù)據(jù)傳送程序——稱為中斷服務(wù)程序,CPU響應(yīng)外設(shè)中斷請求的過程簡稱為中斷響應(yīng);待完成了數(shù)據(jù)傳送后,再返回斷點處繼續(xù)執(zhí)行被中斷了的程序——這一過程稱為中斷返回??梢?,在這種方式中,CPU發(fā)出控制命令后,將繼續(xù)執(zhí)行控制命令后的指令序列,而不是通過檢測外設(shè)的狀態(tài)來確定外設(shè)是否處于空閑狀態(tài),這不僅提高了CPU的利用率,而且能同時與多個外設(shè)進行數(shù)據(jù)交換——只要合理安排相應(yīng)中斷的優(yōu)先級以及同優(yōu)先級中斷的查詢順序即可。因此,中斷傳輸方式是CPU與外設(shè)之間最常見的一種數(shù)據(jù)傳輸方式。

計算機中的中斷計算機執(zhí)行正常程序時,系統(tǒng)出現(xiàn)某些急需處理的異常情況和特殊請求,CPU暫時中止現(xiàn)在正在執(zhí)行的的指令,轉(zhuǎn)去對隨機發(fā)生的更緊迫事件處理;處理完后,CPU會自動返回原來的程序繼續(xù)執(zhí)行。就如:你正在家中看書,突然電話鈴響了,你放下書本,去接電話,和來電話的人交談,然后放下電話,回來繼續(xù)看你的書。這就是生活中的“中斷”的現(xiàn)象,就是正常的工作過程被外部的事件打斷了。計算機中的中斷計算機中的中斷

中斷是指由于某種隨機事件的發(fā)生,計算機暫?,F(xiàn)行程序的運行,轉(zhuǎn)去執(zhí)行另一程序,以處理發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運行。將能引起中斷的事件稱為中斷源。CPU現(xiàn)行運行的程序稱為主程序。處理隨機事件的程序稱為中斷服務(wù)子程序。二.中斷及中斷源在計算機控制系統(tǒng)中,把引起中斷的事件稱為中斷源。在單片機控制系統(tǒng)中,常見的中斷源有:外部中斷,如CPU某些特定引腳電平變化引起的中斷。各類定時/計數(shù)器溢出中斷(即定時時間到或計數(shù)器滿中斷)。串行發(fā)送結(jié)束中斷。串行接收有效中斷。電源掉電中斷。1.中斷源

2.中斷技術(shù)的優(yōu)點分時操作——CPU可以同多個外設(shè)“同時”工作實時處理——CPU及時處理隨機事件故障處理——電源掉電、存儲出錯、運算溢出中斷與子程序的最主要區(qū)別:

何時轉(zhuǎn)移、轉(zhuǎn)向何處?主程序中斷服務(wù)程序主程序子程序LCALLABCABC:RETRETI第K行第K+1行中斷子程序的調(diào)用3.中斷與子程序調(diào)用區(qū)別3.中斷與子程序調(diào)用區(qū)別

(1)中斷出現(xiàn)是隨機的,可能出現(xiàn),也可能不出現(xiàn),更不知道什么時候會出現(xiàn),即被中斷程序的斷點無法預(yù)測。而子程序的執(zhí)行由調(diào)用指令LCALL或ACALL實現(xiàn),只要滿足特定條件,一定會發(fā)生,斷點由程序員控制。

(2)中斷服務(wù)程序入口地址(也稱為中斷向量)由硬件決定,與CPU類型有關(guān),不能更改。而子程序入口地址由用戶安排。(3)子程序中可以任意調(diào)用另一子程序,但中斷有優(yōu)先級,同級或低級中斷不能打斷正在執(zhí)行的同級或更高優(yōu)先級中斷服務(wù)程序。(4)盡管子程序返回指令RET和中斷返回指令RETI均會將棧頂兩個字節(jié)信息裝入PC,恢復(fù)斷點,但RETI還清除相應(yīng)中斷優(yōu)先級觸發(fā)器,因此中斷返回指令不可用子程序返回指令RET代替。三中斷嵌套

當(dāng)多個外設(shè)以中斷方式與CPU進行數(shù)據(jù)交換時,可能遇到兩個或兩個以上外設(shè)中斷請求同時有效的情形。在這種情況下,CPU先響應(yīng)哪一外設(shè)的中斷請求?這就涉及到中斷優(yōu)先級問題。一般說來,為了能夠處理多個中斷請求,中斷控制系統(tǒng)均提供中斷優(yōu)先級控制。有了中斷優(yōu)先級控制后,就可以解決多個中斷請求同時有效時,先響應(yīng)哪一請求中斷問題,以及高優(yōu)先級中斷請求可中斷低優(yōu)先級中斷處理進程,實現(xiàn)中斷嵌套。MCS-51單片機內(nèi)部有5個中斷源,提供兩個中斷優(yōu)先級,可實現(xiàn)兩級中斷嵌套。每一個中斷源的優(yōu)先級的高低都可以通過編程來設(shè)定。兩級中斷嵌套的中斷過程如圖所示。CPU在執(zhí)行主程序低級中斷請求響應(yīng)低級中斷請求CPU執(zhí)行低級中斷服務(wù)程序高級中斷請求響應(yīng)高級中斷請求CPU執(zhí)行高級中斷服務(wù)程序返回低級中斷程序返回主程序4.2MCS-51中斷系統(tǒng)結(jié)構(gòu)及中斷控制中斷源中斷標(biāo)志中斷允許中斷優(yōu)先級MCS-51中斷系統(tǒng)結(jié)構(gòu)中斷寄存器

一、中斷源和中斷請求標(biāo)志8051單片機有5個中斷請求源:單片機INT0或

外部輸入中斷源INT0(P3.2)INT1或

外部輸入中斷源INT1(P3.3)T0

片內(nèi)定時器T0的溢出T1

片內(nèi)定時器T1的溢出串行口

片內(nèi)串行口發(fā)送或接收中斷源

MCS-51的中斷系統(tǒng)——中斷標(biāo)志CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷標(biāo)志位

每一個中斷源都有相應(yīng)的中斷標(biāo)志位;某一個中斷源申請中斷,相應(yīng)中斷標(biāo)志位置1。

MCS-51的中斷系統(tǒng)——中斷允許CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷標(biāo)志位

EA——總中斷允許位,EA=1開放所有中斷,EA=0,禁止所有中斷;某一個中斷源還有相應(yīng)的中斷允許位,1允許相應(yīng)中斷源的中斷,0禁止相應(yīng)中斷源的中斷。中斷允許ESET0EX0EX1ET1EAIE0TCONSCONINT0IT0=0IT0=1INT1IT1=0IT1=1TF0IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然優(yōu)先級矢量地址高級中斷請求自然優(yōu)先級矢量地址低級中斷請求PX0PT0PX1PT1PSIEIPMCS-51的中斷系統(tǒng)結(jié)構(gòu)圖中斷標(biāo)志位中斷源允許總允許中斷優(yōu)先級TF1

TF0

IE1IT1IE0IT0TCONT1溢出中斷標(biāo)志(TCON.7):

T1啟動計數(shù)后,計滿溢出由硬件置位TF1=1,向CPU請求中斷,此標(biāo)志一直保持到CPU響應(yīng)中斷后,才由硬件自動清0。也可用軟件查詢該標(biāo)志,并由軟件清0。76543210TCON寄存器——T0和T1控制寄存器TF1

TF0

IE1IT1IE0IT0TCON88H外部中斷INT1中斷標(biāo)志位(TCON.3):

IE1=1,外部中斷1向CPU申請中斷

外部中斷INT1觸發(fā)方式控制位(TCON.2):

IT1=0,電平觸發(fā)方式

IT1=1,下降沿觸發(fā)方式76543210TCON寄存器——T0和T1控制寄存器注意:該寄存器可以位尋址。TF1:定時器1的溢出中斷標(biāo)志。T1被啟動計數(shù)后,從初值做加1計數(shù),計滿溢出后由硬件置位TF1,同時向CPU發(fā)出中斷。TF0:定時器0溢出中斷標(biāo)志。其操作功能同TF1。IE1:外部中斷1標(biāo)志。IE1=1,外部中斷1向CPU申請中斷。IT1:外中斷1觸發(fā)方式控制位。當(dāng)IT1=0時,外部中斷1控制為電平觸發(fā)方式。當(dāng)IT1=1時,外部中斷1控制為邊沿觸發(fā)方式。IE0:外部中斷0中斷標(biāo)志。其操作功能與IE1相同。IT0:外中斷0觸發(fā)方式控制位。其操作功能與IT1相同。返回

TI(SCON.1)——串行發(fā)送中斷標(biāo)志。

RI(SCON.0)——串行接收中斷標(biāo)志。

TIRISCON寄存器——串行口控制寄存器SCON98H76543210注意:該寄存器可以位尋址。TI:串行發(fā)送中斷標(biāo)志

CPU將數(shù)據(jù)寫入發(fā)送緩沖器SBUF時,就啟動發(fā)送,每發(fā)送完一個串行幀,硬件將使TI置位。注意:CPU響應(yīng)中斷時并不清除TI,必須由軟件清除。RI:串行接收中斷標(biāo)志在串行口允許接收時,每接收完一個串行幀,硬件將使RI置位。注意:CPU在響應(yīng)中斷時不會清除RI,必須由軟件清除

IEA8H

EA

ESET1EX1ET0EX0例:允許定時器T0中斷:SETBEASETBET0或MOVIE,#82H76543210注意:該寄存器可以位尋址。IE寄存器—中斷允許寄存器

EA:總中斷允許控制位。EA=1,開放所有中斷,各中斷源的允許和禁止可通過相應(yīng)的中斷允許位單獨加以控制;EA=0,禁止所有中斷。ES:串行口中斷允許位。ES=1,允許串行口中斷;ES=0,禁止串行口中斷。ET1:定時器1中斷允許位。ET1=1,允許定時器1中斷;ET1=0,禁止定時器1中斷。EX1:外部中斷1中斷允許位。EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。ET0:定時器0中斷允許位。ET0=1,允許定時器0中斷;ET0=0,禁止定時器0中斷。EX0:

外部中斷0中斷允許位。EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。

51單片機有兩個中斷優(yōu)先級——高級和低級專用寄存器IP為中斷優(yōu)先級寄存器,用戶可用軟件設(shè)定相應(yīng)位為1,對應(yīng)的中斷源被設(shè)置為高優(yōu)先級,相應(yīng)位為0,對應(yīng)的中斷源被設(shè)置為低優(yōu)先級系統(tǒng)復(fù)位時,均為低優(yōu)先級該寄存器可以位尋址

PSPT1PX1PT0PX0IP寄存器——中斷優(yōu)先級寄存器

IPB8H

76543210PS:串行口中斷優(yōu)先控制位PS=1,設(shè)定串行口為高優(yōu)先級中斷;PS=0,設(shè)定串行口為低優(yōu)先級中斷。PT1:定時器T1中斷優(yōu)先控制位PT1=1,設(shè)定定時器T1中斷為高優(yōu)先級中斷;PT1=0,設(shè)定定時器T1中斷為低優(yōu)先級中斷。PX1:外部中斷1中斷優(yōu)先控制位

PX1=1,設(shè)定外部中斷1為高優(yōu)先級中斷;PX1=0,設(shè)定外部中斷1為低優(yōu)先級中斷。

PT0:定時器T0中斷優(yōu)先控制位PT0=1,設(shè)定定時器T0中斷為高優(yōu)先級中斷;PT0=0,設(shè)定定時器T0中斷為低優(yōu)先級中斷。PX0:外部中斷0中斷優(yōu)先控制位PX0=1,設(shè)定外部中斷0為高優(yōu)先級中斷;PX0=0,設(shè)定外部中

溫馨提示

  • 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

提交評論