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

下載本文檔

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

文檔簡(jiǎn)介

1、第 4章 AT89C51的中斷系統(tǒng)4.1 4.1 中斷的概念中斷的概念中斷:用于實(shí)時(shí)測(cè)控中斷:用于實(shí)時(shí)測(cè)控 對(duì)應(yīng)軟件查詢方式對(duì)應(yīng)軟件查詢方式4.2 AT89C514.2 AT89C51中斷系統(tǒng)的結(jié)構(gòu)中斷系統(tǒng)的結(jié)構(gòu)中斷系統(tǒng)結(jié)構(gòu)示意圖中斷系統(tǒng)結(jié)構(gòu)示意圖如下圖所示。如下圖所示。 5個(gè)中斷源,兩級(jí)優(yōu)先級(jí)。個(gè)中斷源,兩級(jí)優(yōu)先級(jí)。 中斷標(biāo)志中斷標(biāo)志寄存器寄存器中斷允許中斷允許寄存器寄存器中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)寄存器寄存器n從圖可見:AT89C51有5個(gè)中斷源:個(gè)中斷源: , T0, , T1, (TX,RX)0INT1INT對(duì)應(yīng)的中斷標(biāo)志:對(duì)應(yīng)的中斷標(biāo)志: IE0, TF0, IE1 , TF1, (TI,

2、RI) 中斷允許寄存器中斷允許寄存器IE:TCONSCONEX0, ET0, EX1 , ET1, ES總允許總允許EA中斷優(yōu)先級(jí)寄存器中斷優(yōu)先級(jí)寄存器IP:PX0, PT0, PX1 , PT1, PS“1”為允許為允許“1”為高優(yōu)先級(jí)為高優(yōu)先級(jí)2級(jí)優(yōu)先級(jí):級(jí)優(yōu)先級(jí): “1”高優(yōu)先級(jí)高優(yōu)先級(jí) “0”低優(yōu)先級(jí)低優(yōu)先級(jí)自然優(yōu)先級(jí)自然優(yōu)先級(jí) 高高 低低IT0 0 電平觸發(fā)方式電平觸發(fā)方式IT1 選擇選擇 觸發(fā)方式觸發(fā)方式 1 觸發(fā)方式觸發(fā)方式01INTINT4.3 4.3 與中斷有關(guān)的與中斷有關(guān)的4 4個(gè)寄存器個(gè)寄存器AT89C51AT89C51中斷源共有中斷源共有5 5個(gè)個(gè) :(1) 引腳引腳

3、輸入,中斷請(qǐng)求標(biāo)志為輸入,中斷請(qǐng)求標(biāo)志為IE0。(2) 引腳引腳 輸入,中斷請(qǐng)求標(biāo)志為輸入,中斷請(qǐng)求標(biāo)志為IE1。(3)定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器T0溢出溢出中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TF0。(4)定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器T1溢出溢出中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TF1。(5)串行口中斷請(qǐng)求串行口中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為,中斷請(qǐng)求標(biāo)志為TI或或RI。 由特殊功能寄存器由特殊功能寄存器TCON和和SCON的相應(yīng)位鎖存。的相應(yīng)位鎖存。0INT1INT0INT1INT1 1、TCONTCON:定時(shí)器:定時(shí)器/ /計(jì)數(shù)器的控制寄存器計(jì)數(shù)器的控制寄存器T1T01

4、INT0INTT1的溢出中的溢出中斷請(qǐng)求標(biāo)志斷請(qǐng)求標(biāo)志位位TF1,T1溢出時(shí)置溢出時(shí)置位,向位,向CPU申請(qǐng)中斷申請(qǐng)中斷外部中斷請(qǐng)外部中斷請(qǐng)求標(biāo)志位求標(biāo)志位若若INT0引引腳上有中斷腳上有中斷來,置來,置IE1,否則清否則清0外部中斷外部中斷觸發(fā)方式觸發(fā)方式IT0=0,為為電平觸發(fā)電平觸發(fā)方式。低電平有效方式。低電平有效 IT0=1,為為跳沿觸發(fā)跳沿觸發(fā)方式。負(fù)跳沿有效方式。負(fù)跳沿有效當(dāng)當(dāng)MCS-51復(fù)位復(fù)位后后,TCON=0 2 2、SCONSCON:串行口控制寄存器:串行口控制寄存器。 TI-發(fā)送中斷。發(fā)送中斷。CPU將將1Byte寫入寫入SBUF時(shí),就啟動(dòng)時(shí),就啟動(dòng)1幀串行幀串行數(shù)據(jù)的發(fā)

5、送數(shù)據(jù)的發(fā)送,每發(fā)送完一幀串行數(shù)據(jù)后,每發(fā)送完一幀串行數(shù)據(jù)后,硬件自動(dòng)置硬件自動(dòng)置TI。CPU響應(yīng)中斷,注意響應(yīng)中斷,注意CPU不清除不清除TI標(biāo)志,標(biāo)志,TI必須由軟件清必須由軟件清“0”(一般在中斷服務(wù)程序中)(一般在中斷服務(wù)程序中)。發(fā)送發(fā)送中斷中斷接收接收中斷中斷RI接收中斷。串口接收完接收中斷。串口接收完1個(gè)個(gè)Byte數(shù)據(jù)到數(shù)據(jù)到SBUF時(shí),硬件自時(shí),硬件自動(dòng)置動(dòng)置RI,通知,通知CPU可以來取數(shù)據(jù)。同可以來取數(shù)據(jù)。同TI,須軟件清須軟件清“0”。MOV SBUF ,Ansend: JNB TI, sendCLR TInrecive: JNB RI, reciveCLR RI MOV

6、 A,SBUF例:查詢方式例:查詢方式3 3、 中斷允許寄存器中斷允許寄存器IEIE EA:中斷總允許中斷總允許 EA=0,關(guān)閉所有可屏蔽中斷。,關(guān)閉所有可屏蔽中斷。 EA=1,開,開中斷中斷EX0,ET0,EX1,ET1,ES 5個(gè)個(gè)中斷分別的允許控制位。中斷分別的允許控制位?!?”關(guān)關(guān)“1”開開復(fù)位時(shí),復(fù)位時(shí),IE0。若要開某一中斷,必須此中斷允許位為若要開某一中斷,必須此中斷允許位為1且且EA=1??捎梦徊僮骰蜃止?jié)操作可用位操作或字節(jié)操作例例 若允許片內(nèi)若允許片內(nèi)2 2個(gè)定時(shí)器個(gè)定時(shí)器/ /計(jì)數(shù)器中斷,禁止其它中計(jì)數(shù)器中斷,禁止其它中斷源的中斷請(qǐng)求。編寫設(shè)置斷源的中斷請(qǐng)求。編寫設(shè)置IEI

7、E的相應(yīng)程序段的相應(yīng)程序段1)CLR ES CLR EX1 CLR EX0SETB ET0 SETB ET1SETB EA2) MOV IE,#8AH4. 4. 中斷優(yōu)先級(jí)寄存器中斷優(yōu)先級(jí)寄存器IPIP2級(jí)自然優(yōu)先級(jí)級(jí)自然優(yōu)先級(jí)中斷嵌套的概念及原則:中斷嵌套的概念及原則:原則:原則:(1 1)多個(gè)中斷請(qǐng)求時(shí),先響應(yīng)高級(jí)中斷,后)多個(gè)中斷請(qǐng)求時(shí),先響應(yīng)高級(jí)中斷,后響應(yīng)低級(jí)中斷響應(yīng)低級(jí)中斷(2 2)低級(jí)中斷可被高級(jí)中斷中斷,反之則不)低級(jí)中斷可被高級(jí)中斷中斷,反之則不能。(同級(jí)也不行)能。(同級(jí)也不行)中斷優(yōu)先級(jí)寄存器中斷優(yōu)先級(jí)寄存器IPIP1:高高優(yōu)先級(jí)中斷;優(yōu)先級(jí)中斷;0:低優(yōu)先級(jí)中斷。低優(yōu)先

8、級(jí)中斷。當(dāng)同時(shí)有同一級(jí)中斷請(qǐng)求時(shí),當(dāng)同時(shí)有同一級(jí)中斷請(qǐng)求時(shí),按自然優(yōu)先級(jí)順序響應(yīng)按自然優(yōu)先級(jí)順序響應(yīng)復(fù)位時(shí),復(fù)位時(shí),IP=0中斷源中斷源 中斷級(jí)別中斷級(jí)別外部中斷外部中斷0 最高最高T0溢出中斷溢出中斷外部中斷外部中斷1T1溢出中斷溢出中斷串行口中斷串行口中斷 最低最低 例例 設(shè)置設(shè)置IPIP寄存器的初始值,使寄存器的初始值,使2 2個(gè)外中斷請(qǐng)求為個(gè)外中斷請(qǐng)求為高優(yōu)先級(jí),其它中斷請(qǐng)求為低優(yōu)先級(jí)。高優(yōu)先級(jí),其它中斷請(qǐng)求為低優(yōu)先級(jí)。(1)用位操作指令)用位操作指令 SETB PX0 SETB PX1 CLR PSCLR PT0CLR PT1(2)用字節(jié)操作指令用字節(jié)操作指令 MOV IP,#05H

9、 4.4 4.4 中斷響應(yīng)過程中斷響應(yīng)過程 1 1、響應(yīng)中斷請(qǐng)求的條件:、響應(yīng)中斷請(qǐng)求的條件:(1) 該中斷源發(fā)出中斷請(qǐng)求,即相應(yīng)的中斷該中斷源發(fā)出中斷請(qǐng)求,即相應(yīng)的中斷請(qǐng)求標(biāo)志為請(qǐng)求標(biāo)志為“1”。(。(IE0,TF0,IE1,TF1,RI,TI)(2) 總允許總允許EA=1(3)該中斷允許位)該中斷允許位=1(4)無同級(jí)或更高級(jí)中斷正在被服務(wù)。)無同級(jí)或更高級(jí)中斷正在被服務(wù)。2 2、中斷響應(yīng)原理:、中斷響應(yīng)原理:2 2、以下幾種情況中斷請(qǐng)求被封鎖,、以下幾種情況中斷請(qǐng)求被封鎖,CPUCPU丟棄中斷丟棄中斷查詢結(jié)果:查詢結(jié)果: (1)CPU正在處理同級(jí)的或更高優(yōu)先級(jí)的中斷。 (2)所查詢的機(jī)器

10、周期不是當(dāng)前正在執(zhí)行指令的最后一個(gè)機(jī)器周期。只有在當(dāng)前指令執(zhí)行完畢后,才能進(jìn)行中斷響應(yīng)。 當(dāng)前指令必須執(zhí)行完畢當(dāng)前指令必須執(zhí)行完畢 (3)正在執(zhí)行的指令是RETI或是訪問IE或IP的指令。需要再去執(zhí)行完一條指令,才能響應(yīng)新的中斷請(qǐng)求。4.5 4.5 外部中斷的觸發(fā)方式選擇外部中斷的觸發(fā)方式選擇 (理解)(理解)1 1、 電平觸發(fā)方式電平觸發(fā)方式 低電平有效低電平有效 外部中斷申請(qǐng)觸發(fā)器的狀態(tài)隨外部中斷申請(qǐng)觸發(fā)器的狀態(tài)隨CPUCPU在每個(gè)機(jī)器周期采樣到的在每個(gè)機(jī)器周期采樣到的 線上電平變化而變化。線上電平變化而變化。響應(yīng)速度較快,響應(yīng)速度較快,適合于適合于外部中斷以低電平輸入且中斷服務(wù)程序能清除

11、外部中斷請(qǐng)外部中斷以低電平輸入且中斷服務(wù)程序能清除外部中斷請(qǐng)求源的情況。求源的情況。2 2 跳沿觸發(fā)方式跳沿觸發(fā)方式 負(fù)跳變有效負(fù)跳變有效 外部中斷申請(qǐng)觸發(fā)器能鎖存外部中斷輸入線上的負(fù)跳變直外部中斷申請(qǐng)觸發(fā)器能鎖存外部中斷輸入線上的負(fù)跳變直到到CPUCPU響應(yīng)此中斷,該標(biāo)志才清響應(yīng)此中斷,該標(biāo)志才清0 0。這樣不會(huì)丟失中斷,但。這樣不會(huì)丟失中斷,但輸入的負(fù)脈沖寬度至少保持輸入的負(fù)脈沖寬度至少保持1 1個(gè)機(jī)器周期個(gè)機(jī)器周期。0/1INTINT4.6 4.6 中斷請(qǐng)求的撤消中斷請(qǐng)求的撤消 (重要)(重要)1TO,T1中斷請(qǐng)求中斷請(qǐng)求的撤消的撤消 (TF0 TF1)自動(dòng)撤銷自動(dòng)撤銷2串行中斷串行中斷

12、RI,TI的撤消的撤消 必須在中斷服務(wù)程序中必須在中斷服務(wù)程序中用軟件清除用軟件清除CLR TI CLR RI(2 2)電平觸發(fā)電平觸發(fā)方式:標(biāo)志位自動(dòng)撤銷,外中斷信號(hào)需程序員撤方式:標(biāo)志位自動(dòng)撤銷,外中斷信號(hào)需程序員撤銷,可加如下撤銷電路銷,可加如下撤銷電路01INTINT3 中斷請(qǐng)求的撤消中斷請(qǐng)求的撤消(2項(xiàng)內(nèi)容:中斷標(biāo)志項(xiàng)內(nèi)容:中斷標(biāo)志位的清位的清0和外部中斷信號(hào)的撤銷)和外部中斷信號(hào)的撤銷)自動(dòng)撤消自動(dòng)撤消(1)跳沿觸發(fā)跳沿觸發(fā)方式:方式:INTOINTO中斷響應(yīng)后中斷響應(yīng)后, ,只要只要P1.0P1.0端輸出一個(gè)負(fù)脈沖就可以使端輸出一個(gè)負(fù)脈沖就可以使D D觸發(fā)器置觸發(fā)器置“1 1”,

13、從而撤消了低電平的中斷請(qǐng)求信號(hào)。,從而撤消了低電平的中斷請(qǐng)求信號(hào)。故加故加軟件(在中斷服務(wù)程序中)加:軟件(在中斷服務(wù)程序中)加: SETB P1.0SETB P1.0 CLR P1.0 CLR P1.0 電平方式的外部中斷請(qǐng)求信號(hào)的完全撤消,是通過電平方式的外部中斷請(qǐng)求信號(hào)的完全撤消,是通過軟軟硬件相結(jié)合硬件相結(jié)合的方法來實(shí)現(xiàn)的。的方法來實(shí)現(xiàn)的。4.7 4.7 中斷服務(wù)程序的設(shè)計(jì)中斷服務(wù)程序的設(shè)計(jì)1 1、中斷服務(wù)程序設(shè)計(jì)的基本任務(wù)、中斷服務(wù)程序設(shè)計(jì)的基本任務(wù) (1 1)設(shè)置)設(shè)置IEIE。 (2 2)設(shè)置)設(shè)置IPIP。 (3 3)若是外部中斷源,設(shè)置)若是外部中斷源,設(shè)置IT0,TT1IT

14、0,TT1觸發(fā)觸發(fā) 方式。方式。 (4 4)編寫中斷服務(wù)程序。)編寫中斷服務(wù)程序。主程序主程序初始化初始化部分部分例例 假設(shè)允許外部中斷假設(shè)允許外部中斷0 0中斷,并設(shè)定它為高級(jí)中斷,其它中斷,并設(shè)定它為高級(jí)中斷,其它中斷源為低級(jí)中斷,采用跳沿觸發(fā)方式。中斷源為低級(jí)中斷,采用跳沿觸發(fā)方式。編寫初始化程編寫初始化程序段:序段: SETB EASETB EX0SETB PX0 SETB IT0解:解:2 2、采用中斷時(shí)的主程序結(jié)構(gòu)、采用中斷時(shí)的主程序結(jié)構(gòu) ORG 0000HLJMP MAINORG 中斷入口地址中斷入口地址LJMP INT ORG XXXXHMAIN:主主 程程 序序 INT:中斷

15、服務(wù)程序中斷服務(wù)程序多個(gè)中斷多個(gè)中斷多個(gè)多個(gè)3、中斷服務(wù)程序的流程、中斷服務(wù)程序的流程一個(gè)典型的中斷服務(wù)程序如下:一個(gè)典型的中斷服務(wù)程序如下: INTINT:CLR EACLR EAPUSH PSWPUSH PSWPUSH ACCPUSH ACCSETB EASETB EA 中斷處理程序段中斷處理程序段 CLR EACLR EAPOP ACCPOP ACCPOP PSW POP PSW SETB EASETB EARETIRETI4.8 4.8 多個(gè)外部中斷源系統(tǒng)設(shè)計(jì)多個(gè)外部中斷源系統(tǒng)設(shè)計(jì) 外部中斷源不夠用時(shí),擴(kuò)充外部中斷源的方法外部中斷源不夠用時(shí),擴(kuò)充外部中斷源的方法1、 硬件硬件+軟件查詢

16、結(jié)合的方法軟件查詢結(jié)合的方法 (多個(gè)外(多個(gè)外部中斷的排隊(duì)問題)部中斷的排隊(duì)問題)例:如下電路軟件實(shí)現(xiàn)例:如下電路軟件實(shí)現(xiàn)5 5個(gè)外部中斷源。個(gè)外部中斷源。 5 5個(gè)外部中斷源個(gè)外部中斷源的排隊(duì)順序?yàn)榈呐抨?duì)順序?yàn)? ? ORG 0013HORG 0013H ; INT1 INT1的中斷入口的中斷入口 LJMP INT1 LJMP INT1 ; INT1: PUSH PSW INT1: PUSH PSW ;保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) PUSH APUSH ACCCCJB P1.0,IR1 JB P1.0,IR1 ;P1.0P1.0高,高,IR1IR1有請(qǐng)求有請(qǐng)求JB P1.1,IR2 JB P1.1,IR

17、2 ;P1.1P1.1高,高,IR2IR2有請(qǐng)求有請(qǐng)求JB P1.2,IR3 JB P1.2,IR3 ;P1.2P1.2高,高,IR3IR3有請(qǐng)求有請(qǐng)求 JB P1.3,IR4 JB P1.3,IR4 ;P1.3P1.3高,高,IR4IR4有請(qǐng)求有請(qǐng)求 INTIR: INTIR: POP APOP ACCCC ;恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng) POP PSWPOP PSW RETI RETI ;中斷返回中斷返回 2 2、 定時(shí)器定時(shí)器/ /計(jì)數(shù)器作為外部中斷源的使用方法計(jì)數(shù)器作為外部中斷源的使用方法方法:方法:將將T0/T1設(shè)置為設(shè)置為方式方式2外部計(jì)數(shù)外部計(jì)數(shù)工作模式工作模式,TH0/TL0初值設(shè)為初值設(shè)為0FFH,允許,允許T0/T1中斷。當(dāng)然中斷。當(dāng)然外部中斷從外部中斷從T0/T1引腳引入引腳引入ORG 0000HAJMP IINI IINI:MOV TMOD,#06HMOV TL0,#0FFHMOV TH0,#0FFH SETB TR0;啟動(dòng)啟動(dòng)T0,開始計(jì)數(shù)開始計(jì)

溫馨提示

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