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

下載本文檔

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

文檔簡介

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

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

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

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

5、器TCON、SCON的相關(guān)位)、中斷允許控制寄存器IE和中斷優(yōu)先級(jí)控制寄存器IP。,5個(gè)中斷源的排列順序由中斷優(yōu)先級(jí)控制寄存器IP和順序查詢邏輯電路共同決定。,.,圖8.3 AT89S51的中斷系統(tǒng)結(jié)構(gòu),.,8.2.2 中斷源及中斷入口,1. 中斷源,AT89S51的中斷源分為3類:即外部中斷、定時(shí)中斷和串行口中斷。,5個(gè)中斷源,分別為:2個(gè)外部輸入中斷源INT0(P3.2)和INT1(P3.3),2個(gè)片內(nèi)定時(shí)器T0和T1的溢出中斷源TF0(TCON.5)和TF1(TCON.7),1個(gè)片內(nèi)串行口發(fā)送和接收中斷源TI(SCON.1)和RI(SCON.0)。,.,2. 中斷入口,當(dāng)CPU響應(yīng)某中斷

6、源的中斷申請(qǐng)后,CPU將此中斷源的入口地址裝入PC,中斷服務(wù)程序即從此地址開始執(zhí)行,因而將此地址稱為“中斷入口”,也稱為“中斷矢量”。,.,8.2.3 與中斷有關(guān)的寄存器,中斷功能雖然是硬件和軟件結(jié)合的產(chǎn)物,但用戶不必了解中斷硬件電路和發(fā)生過程。對(duì)用戶來說,重點(diǎn)是怎樣通過軟件管理和應(yīng)用中斷功能。,.,1.中斷允許控制寄存器,CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。,EX0(IE.0),外部中斷0允許位; ET0(IE.1),定時(shí)/計(jì)數(shù)器T0中斷允許位; EX1(IE.2),外部中斷0允許位; ET1(IE.3),定時(shí)/計(jì)數(shù)器T1中斷允許位; ES(IE.

7、4),串行口中斷允許位; EA (IE.7), CPU中斷允許(總允許)位。,復(fù)位后,IE中各中斷允許位均被清0,即禁止所有中斷,.,2.中斷請(qǐng)求標(biāo)志寄存器,當(dāng)有中斷源發(fā)出請(qǐng)求時(shí),由硬件將相應(yīng)的中斷標(biāo)志位置1。在中斷請(qǐng)求被響應(yīng)前,相應(yīng)中斷標(biāo)志位被鎖存在特殊功能寄存器TCON或SCON中。,(1)定時(shí)器控制寄存器TCON,.,IT0(TCON.0),外部中斷0觸發(fā)方式控制位。 當(dāng)IT0=0時(shí),為電平觸發(fā)方式。 當(dāng)IT0=1時(shí),為邊沿觸發(fā)方式(下降沿有效)。 IE0(TCON.1),外部中斷0中斷請(qǐng)求標(biāo)志位。 IT1(TCON.2),外部中斷1觸發(fā)方式控制位。 IE1(TCON.3),外部中斷1中

8、斷請(qǐng)求標(biāo)志位。 TF0(TCON.5),定時(shí)/計(jì)數(shù)器T0溢出中斷請(qǐng)求標(biāo)志位。 TF1(TCON.7),定時(shí)/計(jì)數(shù)器T1溢出中斷請(qǐng)求標(biāo)志位。,.,(2) 串行口控制寄存器SCON,RI(SCON.0),串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時(shí),每接收完一個(gè)串行幀,由硬件置位RI。同樣,RI必須由軟件清除。,TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU將一個(gè)發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時(shí),就啟動(dòng)了發(fā)送過程。每發(fā)送完一個(gè)串行幀,由硬件置位TI。CPU響應(yīng)中斷時(shí),不能自動(dòng)清除TI,TI必須由軟件清除。,.,3.中斷優(yōu)先級(jí)寄存器IP,80C51單片機(jī)有兩個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套

9、。每個(gè)中斷源的中斷優(yōu)先級(jí)都是由中斷優(yōu)先級(jí)寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的 。,PX0(IP.0),外部中斷0優(yōu)先級(jí)設(shè)定位; PT0(IP.1),定時(shí)/計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位; PX1(IP.2),外部中斷0優(yōu)先級(jí)設(shè)定位; PT1(IP.3),定時(shí)/計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位; PS (IP.4),串行口優(yōu)先級(jí)設(shè)定位; PT2 (IP.5) ,定時(shí)/計(jì)數(shù)器T2優(yōu)先級(jí)設(shè)定位。,復(fù)位后,IP全部清0,將所有中斷源設(shè)置為低優(yōu)先級(jí)中斷。,.,同一優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí),則有中斷優(yōu)先權(quán)排隊(duì)問題。同一優(yōu)先級(jí)的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)形成,其排列如所示:,.,8.3 中斷處理過程,中

10、斷處理過程分為3個(gè)階段:中斷響應(yīng)、中斷處理和中斷返回。,.,8.3.1 中斷響應(yīng),中斷響應(yīng)是在滿足CPU的中斷響應(yīng)條件之后,CPU對(duì)中斷源中斷請(qǐng)求的回答。在這一階段,CPU要完成執(zhí)行中斷服務(wù)以前的所有準(zhǔn)備工作。準(zhǔn)備工作包括保護(hù)斷點(diǎn)和把程序轉(zhuǎn)向中斷服務(wù)程序的入口地址(通常稱為“矢量地址”)。,.,1.CPU的中斷響應(yīng)條件,CPU響應(yīng)中斷的條件:,(1)有中斷源發(fā)出中斷申請(qǐng); (2)中斷總允許位EA1,即CPU允許所有中斷源申請(qǐng)中斷; (3)申請(qǐng)中斷的中斷源的中斷允許位為1 。,以上是CPU響應(yīng)中斷的基本條件。若滿足,CPU一般會(huì)響應(yīng)中斷,但如果有下列任何一種情況存在,則中斷響應(yīng)會(huì)受到阻斷。,(1

11、)CPU正在執(zhí)行一個(gè)同級(jí)或高一級(jí)的中斷服務(wù)程序; (2)當(dāng)前的機(jī)器周期不是正在執(zhí)行指令的最后一個(gè)周期; (3)正在執(zhí)行的指令是返回(RETI)指令或者對(duì)專用寄存器IE、IP進(jìn)行讀寫的指令,此時(shí),在執(zhí)行RETI或者讀寫IE或IP之后,不會(huì)馬上響應(yīng)中斷請(qǐng)求,.,2.中斷響應(yīng)過程,中斷響應(yīng)中的CPU自主操作:,(1)置位響應(yīng)的優(yōu)先級(jí)狀態(tài)寄存器,標(biāo)明所響應(yīng)中斷的優(yōu)先級(jí)別; (2)中斷源標(biāo)志清零(TI、RI 除外); (3)中斷斷點(diǎn)地址壓入堆棧保護(hù)(不保護(hù)PSW); (4)中斷入口地址送PC,程序轉(zhuǎn)到中斷入口地址處。,CPU執(zhí)行RETI指令時(shí)的自主操作:,(1)優(yōu)先級(jí)狀態(tài)寄存器清零; (2)斷點(diǎn)地址從堆

12、棧中彈出至PC,程序返回到斷點(diǎn)處繼續(xù)執(zhí)行。,.,8.3.2 中斷處理,在編寫中斷服務(wù)程序時(shí)需注意的主要事項(xiàng)是:,(1)注意保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng) (2)在中斷入口地址單元處存放一條無條件轉(zhuǎn)移指令 (3)如果要禁止更高優(yōu)先級(jí)中斷源中斷,應(yīng)先關(guān)閉CPU中斷,或屏蔽更高級(jí)中斷源的中斷,在中斷返回前再開放中斷。 (4)在保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)時(shí),為了不使現(xiàn)場(chǎng)數(shù)據(jù)受到破壞或者造成混亂,一般規(guī)定此時(shí)CPU不響應(yīng)新的中斷請(qǐng)求。,.,8.3.3 中斷返回,中斷返回由專門的中斷返回指令RETI實(shí)現(xiàn),.,8.3.4 中斷請(qǐng)求的撤除,(1)對(duì)定時(shí)器0或1溢出中斷標(biāo)志TF0或TF1,還有邊沿觸發(fā)的外部中斷標(biāo)志IE0或IE1

13、,在CPU響應(yīng)中斷后,是硬件自動(dòng)撤除的。 (2)對(duì)于串行口中斷標(biāo)志TI、RI ,CPU響應(yīng)中斷后,不能用硬件清除,而要靠軟件來清除相應(yīng)的標(biāo)志。 (3)只有對(duì)于電平激活的外部中斷,撤除方法較復(fù)雜。要通過硬件,再配合軟件來解決。,.,8.3.6 擴(kuò)充外部中斷源,1. 利用定時(shí)器擴(kuò)展外中斷源法,2. 中斷和查詢結(jié)合法,圖8-5 多外部中斷源連接方法,.,8.4 中斷程序的設(shè)計(jì)與應(yīng)用,與中斷有關(guān)的程序一般包含兩部分:主程序中的中斷初始化部分 以及中斷響應(yīng)后的中斷處理程序。,.,8.4.1 中斷程序的一般設(shè)計(jì)方法,從編程的角度看,中斷控制實(shí)質(zhì)上就是對(duì)4個(gè)與中斷有關(guān)的特殊功能寄存器TCON、 SCON、I

14、E和IP進(jìn)行管理和控制,它包括:,CPU中斷的允許與禁止; 某中斷源中斷請(qǐng)求的允許與禁止(屏蔽); 各中斷源優(yōu)先級(jí)別的設(shè)定(即中斷源優(yōu)先級(jí)排隊(duì)); 外部中斷請(qǐng)求的觸發(fā)方式設(shè)置。,中斷管理與控制程序一般不獨(dú)立編寫,而是包含在主程序中,根據(jù)需要通過幾條指令來實(shí)現(xiàn)。,.,.,1主程序中的中斷初始化,(1)CPU開中斷與關(guān)中斷; (2)某中斷源中斷請(qǐng)求的允許和禁止(屏蔽); (3)各中斷源優(yōu)先級(jí)別的設(shè)定; (4)外部中斷請(qǐng)求的觸發(fā)方式。,2中斷服務(wù)程序,.,8.4.2 中斷程序應(yīng)用舉例,例1、利用定時(shí)器T0定時(shí),在P1.0端輸出一周期為20ms的方波。已知晶振頻率為12MHz。,分析:利用T0定時(shí)中斷功能,對(duì)P1.0端口定時(shí)求反操作,定時(shí)時(shí)間10ms。T0中斷服務(wù)程序入口地址為000BH,.,ORG 0000H LJMP MAIN ORG 00

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論