第05章 中斷系統(tǒng)-01_第1頁
第05章 中斷系統(tǒng)-01_第2頁
第05章 中斷系統(tǒng)-01_第3頁
第05章 中斷系統(tǒng)-01_第4頁
第05章 中斷系統(tǒng)-01_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章 中斷系統(tǒng)

《單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)》

電子工業(yè)出版社,2009.7

歐偉明何靜凌云劉劍等編著

2/5/20231本章主要內(nèi)容中斷的概念

89S51的中斷系統(tǒng)結(jié)構(gòu)與控制

中斷應(yīng)用舉例

2/5/202325.1.1中斷的概念當(dāng)CPU在處理某項(xiàng)任務(wù)的過程中,若計(jì)算機(jī)系統(tǒng)內(nèi)部或外部因?yàn)槟骋皇录陌l(fā)生,而向CPU發(fā)出請(qǐng)求信號(hào),則CPU會(huì)暫時(shí)終止當(dāng)前的工作,迅速轉(zhuǎn)去完成相應(yīng)的處理程序,待事件處理結(jié)束之后再返回來繼續(xù)原來的工作。中斷的流程如右圖所示2/5/20233中斷能改善計(jì)算機(jī)的性能有效地解決了快速CPU與慢速外設(shè)之間的矛盾,使CPU與外設(shè)可以并行工作,從而可大大提高工作效率;

可以及時(shí)處理控制系統(tǒng)中許多隨機(jī)產(chǎn)生的參數(shù)與信息,使計(jì)算機(jī)具有了實(shí)時(shí)處理能力,從而可提高控制系統(tǒng)的性能;使系統(tǒng)具備了故障處理能力,從而可提高系統(tǒng)自身的可靠性。

2/5/202345.1.2中斷的條件與響應(yīng)過程中斷響應(yīng)的條件:

⑴中斷允許總開關(guān)接通,即系統(tǒng)開中斷;⑵有中斷源發(fā)出中斷請(qǐng)求;⑶發(fā)出請(qǐng)求的中斷源允許中斷;⑷無同級(jí)或更高級(jí)中斷正在被處理。2/5/202355.1.2中斷的條件與響應(yīng)過程中斷響應(yīng)的過程:

⑴檢測(cè)中斷;⑵清除中斷標(biāo)志位;⑶保護(hù)現(xiàn)場(chǎng);⑷中斷服務(wù);(執(zhí)行中斷服務(wù)程序)⑸恢復(fù)現(xiàn)場(chǎng);⑹中斷返回。2/5/202365.2中斷系統(tǒng)結(jié)構(gòu)與控制89S51的中斷源和中斷矢量89S51的中斷系統(tǒng)結(jié)構(gòu)中斷的控制

2/5/202375.2.189S51的中斷源和中斷矢量89S51的中斷源2/5/202385.2.189S51的中斷源和中斷矢量89S51的中斷矢量(中斷入口地址)

89S51的各個(gè)中斷源對(duì)應(yīng)的中斷矢量由硬件自動(dòng)生成。2/5/202395.2.289S51的中斷系統(tǒng)結(jié)構(gòu)由5個(gè)中斷源、4個(gè)與中斷有關(guān)的特殊功能寄存器、中斷入口、順序查詢邏輯電路等組成

2/5/2023105.2.3中斷的控制定時(shí)器/計(jì)數(shù)器控制寄存器TCON

(只用到其中6位)串行口控制寄存器SCON

(只用到其中2位)中斷允許寄存器IE中斷優(yōu)先級(jí)寄存器IP2/5/202311中斷請(qǐng)求標(biāo)志

⑴TCON中的中斷請(qǐng)求標(biāo)志位:TF1TF0IE1IE0⑵SCON中的中斷請(qǐng)求標(biāo)志位:TIRI2/5/202312中斷請(qǐng)求的撤除

⑴定時(shí)器/計(jì)數(shù)器溢出中斷請(qǐng)求:硬件自動(dòng)撤除⑵外部中斷請(qǐng)求的撤除

外部中斷請(qǐng)求被CPU響應(yīng)后,硬件自動(dòng)將中斷請(qǐng)求標(biāo)志位IE0或IE1清“0”。而外部中斷信號(hào)的撤除則要根據(jù)不同的觸發(fā)方式采取不同的處理方法。

①下降沿觸發(fā)方式的外部中斷信號(hào)產(chǎn)生過后即會(huì)消失,因此它是自動(dòng)撤除的。

②電平觸發(fā)方式的外部中斷信號(hào):通過外部硬件電路實(shí)現(xiàn)外部中斷信號(hào)強(qiáng)制撤除的參考方案(如下圖所示)。

2/5/202313中斷請(qǐng)求的撤除

ORL P1,#01H ;P1.0置“1”ANL P1,#0FEH ;P1.0清“0”O(jiān)RL P1,#01H ;P1.0置“1”2/5/202314中斷請(qǐng)求的撤除

⑶串行口中斷請(qǐng)求的撤除:軟件編程撤除串行口中斷請(qǐng)求被響應(yīng)后,CPU還需通過檢測(cè)TI、RI兩個(gè)中斷請(qǐng)求標(biāo)志位的狀態(tài),才能判定是接收中斷還是發(fā)送中斷,所以中斷請(qǐng)求標(biāo)志位不會(huì)自動(dòng)清“0”,而是必須在中斷服務(wù)程序中通過軟件的方法清“0”,對(duì)串行口中斷請(qǐng)求的撤除可通過如下指令完成。

CLR TI ;TI標(biāo)志位清“0” CLR RI ;RI標(biāo)志位清“0”2/5/202315中斷允許控制

89S51的CPU對(duì)中斷源的開放或屏蔽,是由片內(nèi)的中斷允許寄存器IE控制的。2/5/202316中斷優(yōu)先級(jí)控制

89S51中5個(gè)中斷源可通過編程人為地設(shè)定為高、低兩個(gè)優(yōu)先級(jí)。中斷嵌套:多個(gè)中斷源同時(shí)發(fā)出中斷請(qǐng)求時(shí),高優(yōu)先級(jí)中斷將被CPU優(yōu)先響應(yīng)。而CPU一旦響應(yīng)了任何一個(gè)中斷,在中斷處理過程中不會(huì)再響應(yīng)同優(yōu)先級(jí)中斷源發(fā)出的中斷請(qǐng)求,但卻會(huì)響應(yīng)高優(yōu)先級(jí)的中斷請(qǐng)求,并轉(zhuǎn)去處理高優(yōu)先級(jí)中斷,待處理完畢后,再返回來接著處理低優(yōu)先級(jí)中斷。這一過程稱為中斷嵌套,如右圖所示。2/5/202317中斷優(yōu)先級(jí)控制

5個(gè)中斷源的中斷優(yōu)先級(jí),是通過片內(nèi)的中斷優(yōu)先級(jí)寄存器IP進(jìn)行設(shè)置的。2/5/202318中斷優(yōu)先級(jí)控制

5個(gè)中斷源的自然優(yōu)先級(jí)順序。2/5/2023195.3中斷應(yīng)用舉例單外部中斷源系統(tǒng)的設(shè)計(jì)多外部中斷源系統(tǒng)的設(shè)計(jì)2/5/2023205.3.1單外部中斷源系統(tǒng)的設(shè)計(jì)例5.4下圖給出了一個(gè)采用單外部中斷源的數(shù)據(jù)采集系統(tǒng)示意圖。將89S51的P1口設(shè)置成數(shù)據(jù)輸入口,外圍設(shè)備每準(zhǔn)備好一個(gè)數(shù)據(jù)時(shí),發(fā)出一個(gè)選通信號(hào)(負(fù)脈沖),經(jīng)D觸發(fā)器74LS74送給單片機(jī)引腳INT1,通知CPU進(jìn)行處理。試編寫主程序及中斷服務(wù)程序。2/5/202321⑴主程序如下

ORG 0000H LJMP MAIN ;跳轉(zhuǎn)至主程序

ORG 0013H LJMP INT1 ;跳轉(zhuǎn)至外部中斷1的中斷服務(wù)程序

ORG 0030H MAIN: CLR IT1 ;設(shè)置為電平觸發(fā)方式

SETB EA ;CPU開中斷

SETB EX1 ;外部中斷1允許中斷

MOV DPTR,#1000H;設(shè)置數(shù)據(jù)緩沖區(qū)地址指針

…2/5/202322⑵

中斷服務(wù)程序如下

ORG 0200H INT1: PUSH PSW ;保護(hù)現(xiàn)場(chǎng)

PUSH ACC CLR P3.0 ;由P3.0引腳輸出低電平0,撤除中斷請(qǐng)求信號(hào)

NOP NOP SETB P3.0 ;P3.0引腳輸出高電平1(對(duì)74LS74無效的電平)

MOV A,P1 ;讀取輸入數(shù)據(jù)到累加器A MOVX @DPTR,A ;存入外部數(shù)據(jù)緩沖區(qū)

INC DPTR ;修改數(shù)據(jù)指針,指向下一個(gè)存儲(chǔ)單元

… POP ACC ;恢復(fù)現(xiàn)場(chǎng)

POP PSW RETI ;中斷返回2/5/2023235.3.2多外部中斷源系統(tǒng)的設(shè)計(jì)當(dāng)外部中斷源多于兩個(gè)時(shí),可采用外部硬件申請(qǐng)中斷與軟件查詢相結(jié)合的方法,把多個(gè)中斷源經(jīng)或非門引入單片機(jī)的外部中斷源輸入端(INT0或

INT1),同時(shí)又連到某個(gè)I/O口,如下圖所示。發(fā)光二極管LED可實(shí)現(xiàn)系統(tǒng)的故障顯示。2/5/202324⑴主程序如下

ORG 0000H ;系統(tǒng)復(fù)位時(shí)入口地址

AJMP MAIN ;跳轉(zhuǎn)至主程序

ORG 0003H ;外部中斷0入口

AJMP INSER ;跳轉(zhuǎn)至外部中斷0的中斷服務(wù)程序MAIN: MOVP1,#0FFH ;定義P1.7、P1.5、P1.3、P1.1為輸入引腳并使4個(gè)LED全滅

SETB IT0 ;設(shè)置外部中斷0為下降沿觸發(fā)方式

SETB EX0 ;允許外部中斷0中斷

SETB EA ;CPU開中斷HERE:SJMP HERE ;等待中斷2/5/202325⑵

外部中斷0的中斷服務(wù)程序如下INSER: JNB P1.1,L1 ;查詢中斷源,若P1.1為0,跳轉(zhuǎn)至L1執(zhí)行

CLR P1.0 ;令P1.0輸出為0,點(diǎn)亮對(duì)應(yīng)的發(fā)光二極管LEDL1: JNB P1.3,L2 CLR P1.2L2: JNB P1.5,L3 CLR P1.4 L3: JNB P1.7,L4 CLR P1.6L4: RETI ;返回主程序2/5/202326思考題與習(xí)題簡(jiǎn)述中斷、中斷源、中斷嵌套及中斷優(yōu)先級(jí)的含義。簡(jiǎn)述中斷響應(yīng)條件及響應(yīng)過程。中斷響應(yīng)過程中,為什么通常要保護(hù)現(xiàn)場(chǎng)?如何保護(hù)?89S51提供了哪些中斷源?各中斷源所對(duì)應(yīng)的中斷入口地址是多少?89S51對(duì)各中斷源提出的中斷請(qǐng)求如何進(jìn)行控制?外部中斷源的觸發(fā)方式有哪些?如何設(shè)定?如何撤除外部中斷源產(chǎn)生的中斷請(qǐng)求標(biāo)志?2/5/202327思考題與習(xí)題試分析對(duì)89S51五個(gè)中斷源安排的以下幾種中斷優(yōu)先級(jí)的排列順序(級(jí)別由高到低)是否可能?若可能,應(yīng)如何設(shè)置各中斷源的中斷優(yōu)先級(jí)別?否則,請(qǐng)簡(jiǎn)述不可能的理由。⑴定時(shí)器0,定時(shí)器1,外中斷0,外中斷1,串行口中斷。⑵串行口中斷,外中斷0,定時(shí)器0,外中斷1,定時(shí)器1。⑶外中斷0,定時(shí)器1,外中斷1,定時(shí)器0,串行口中斷。⑷外中斷0,外中斷1,串行口中斷,定時(shí)器0,定時(shí)器1。⑸串行口中斷,定時(shí)器0,外中斷0,外中斷1,定時(shí)器1。⑹外中斷0,外中斷1,定時(shí)器0,串行口中斷,定時(shí)器1。⑺外中斷0,定時(shí)器1,定時(shí)器0,外

溫馨提示

  • 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)論