第5章1 80C51單片機(jī)的中斷系統(tǒng)_第1頁(yè)
第5章1 80C51單片機(jī)的中斷系統(tǒng)_第2頁(yè)
第5章1 80C51單片機(jī)的中斷系統(tǒng)_第3頁(yè)
第5章1 80C51單片機(jī)的中斷系統(tǒng)_第4頁(yè)
第5章1 80C51單片機(jī)的中斷系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 n教學(xué)內(nèi)容教學(xué)內(nèi)容 n中斷的概念中斷的概念 n80C5180C51單片機(jī)的中斷系統(tǒng)單片機(jī)的中斷系統(tǒng) n中斷源、中斷控制、中斷向量、中斷響應(yīng)、中斷服務(wù)子程序中斷源、中斷控制、中斷向量、中斷響應(yīng)、中斷服務(wù)子程序 n中斷系統(tǒng)編程應(yīng)用舉例中斷系統(tǒng)編程應(yīng)用舉例 n教學(xué)要求教學(xué)要求 2 3 執(zhí)行主 程序 主程序 繼續(xù)執(zhí)行 主程序 斷點(diǎn) 中斷請(qǐng)求 中斷響應(yīng) 執(zhí)行 中斷 處理 程序 中斷返回 5 中中 斷斷 源源 n有有4 4個(gè)相關(guān)寄存器,包括個(gè)相關(guān)寄存器,包括 n定時(shí)器控制寄存器定時(shí)器控制寄存器TCONTCON n串行控制寄存器串行控制寄存器 SCONSCON n中斷允許寄存器中斷允許寄存器 IEIE

2、n中斷優(yōu)先級(jí)寄存器中斷優(yōu)先級(jí)寄存器IPIP 6 7 nTF0TF0和和TF1TF1定時(shí)器(定時(shí)器(T0T0和和T1T1)計(jì)數(shù)溢出標(biāo)志位。)計(jì)數(shù)溢出標(biāo)志位。 n當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),相應(yīng)的溢出標(biāo)志位由硬件當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),相應(yīng)的溢出標(biāo)志位由硬件 置置1 1,產(chǎn)生定時(shí)中斷請(qǐng)求。此外,這兩位也可以作為狀,產(chǎn)生定時(shí)中斷請(qǐng)求。此外,這兩位也可以作為狀 態(tài)位供查詢使用。態(tài)位供查詢使用。 nIE0IE0和和IE1IE1外部中斷請(qǐng)求標(biāo)志位。外部中斷請(qǐng)求標(biāo)志位。 n當(dāng)當(dāng)CPUCPU采樣到采樣到INT0INT0(或(或INT1INT1)端出現(xiàn)中斷請(qǐng)求信號(hào)時(shí),)端出現(xiàn)中斷請(qǐng)求信號(hào)時(shí), 對(duì)應(yīng)位由硬件置對(duì)應(yīng)位由

3、硬件置1 1,即保存外部中斷請(qǐng)求。在中斷響應(yīng),即保存外部中斷請(qǐng)求。在中斷響應(yīng) 完成后轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動(dòng)清完成后轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動(dòng)清0 0。 nIT0IT0和和IT1IT1外中斷觸發(fā)方式控制位。外中斷觸發(fā)方式控制位。 n因?yàn)橥庵兄袛嗾?qǐng)求有電平和脈沖兩種信號(hào)方式。因?yàn)橥庵兄袛嗾?qǐng)求有電平和脈沖兩種信號(hào)方式。 8 包括了串行中斷標(biāo)志位。包括了串行中斷標(biāo)志位。 位于內(nèi)部位于內(nèi)部RAMRAM的的98H98H,位地址為,位地址為9FH-98H9FH-98H。 串行口控制寄存器串行口控制寄存器 SCON (Serial Port Control)SCON (Serial Port Cont

4、rol) 9 nTITI n發(fā)送中斷標(biāo)志位。發(fā)送中斷標(biāo)志位。 n當(dāng)串行口發(fā)送完一幀數(shù)據(jù),該標(biāo)志置當(dāng)串行口發(fā)送完一幀數(shù)據(jù),該標(biāo)志置“1 1”,CPUCPU響應(yīng)響應(yīng) 串行口中斷后內(nèi)部硬件不清除,必須通過(guò)軟件清串行口中斷后內(nèi)部硬件不清除,必須通過(guò)軟件清 “0 0”。 nRIRI n接收中斷標(biāo)志位。接收中斷標(biāo)志位。 n當(dāng)串行口接收完一幀數(shù)據(jù),該標(biāo)志置當(dāng)串行口接收完一幀數(shù)據(jù),該標(biāo)志置“1 1”,CPUCPU響應(yīng)響應(yīng) 串行口中斷后內(nèi)部硬件不清除,必須通過(guò)軟件清串行口中斷后內(nèi)部硬件不清除,必須通過(guò)軟件清 “0 0”。 10 11 12 用于控制是否允許使用中斷。用于控制是否允許使用中斷。 位于內(nèi)部位于內(nèi)部R

5、AMRAM的的A8HA8H,位地址為,位地址為AFH-A8HAFH-A8H。 13 nEAEA中斷允許總控制位中斷允許總控制位 nEA=0EA=0,中斷總禁止,禁止所中斷,中斷總禁止,禁止所中斷 nEA=1EA=1,中斷總允許,其后中斷的禁止或允許由各類中斷,中斷總允許,其后中斷的禁止或允許由各類中斷 自行設(shè)置。自行設(shè)置。 nEX0EX0和和EX1EX1外部中斷允許控制位外部中斷允許控制位 nEX0(EX1)=0EX0(EX1)=0,禁止外部中斷,禁止外部中斷0(1)0(1)。 nEX0(EX1)=1EX0(EX1)=1,允許外部中斷,允許外部中斷0(1)0(1)。 nET0ET0和和ET1E

6、T1定時(shí)器中斷允許控制位定時(shí)器中斷允許控制位 nET0(ET1)=0ET0(ET1)=0,禁止定時(shí)器中斷,禁止定時(shí)器中斷0(1)0(1)。 nET0(ET1)=1ET0(ET1)=1,允許定時(shí)器中斷,允許定時(shí)器中斷0(1)0(1)。 nESES串行中斷允許控制位串行中斷允許控制位 nES=0ES=0,禁止串行中斷。,禁止串行中斷。 nES=1ES=1,允許串行中斷。,允許串行中斷。 14 15 16 INT0 T0 INT1 T1 串行口中斷串行口中斷RI/TI 17 中斷響應(yīng)過(guò)程中斷響應(yīng)過(guò)程 18 中斷請(qǐng)求中斷請(qǐng)求( (中斷請(qǐng)求采樣中斷請(qǐng)求采樣S5P2S5P2中斷查詢中斷查詢S6S6) 中斷

7、響應(yīng)中斷響應(yīng)S1 S1 中斷服務(wù)中斷服務(wù) 外部中斷請(qǐng)求引入端:外部中斷請(qǐng)求引入端: 引腳引腳INT0/P3.2和和INT1/P3.3。 19 20 21 22 中斷允許實(shí)行兩級(jí)控制中斷允許實(shí)行兩級(jí)控制 23 24 25 ORG 0000HORG 0000H LJMP MAINLJMP MAIN ORG 0003HORG 0003H LJMP INT0LJMP INT0 ORG 0030HORG 0030H MAIN:MAIN: MOV SP,#30HMOV SP,#30H ; ;設(shè)置堆棧指針設(shè)置堆棧指針SPSP SETB IT0SETB IT0; ;外部中斷觸發(fā)方式外部中斷觸發(fā)方式 MOV T

8、CON,#01HMOV TCON,#01H SETB PX0SETB PX0; ;中斷優(yōu)先級(jí)設(shè)置中斷優(yōu)先級(jí)設(shè)置 MOV IP,#01HMOV IP,#01H SETB EX0SETB EX0; ;各中斷允許設(shè)置各中斷允許設(shè)置 MOV IE,#81HMOV IE,#81H SETB EASETB EA; ;中斷系統(tǒng)總開放中斷系統(tǒng)總開放 ORG 2000HORG 2000H INT0: INT0: ; ;外部中斷外部中斷0 0服務(wù)子程序服務(wù)子程序 RETIRETI 26 27 INT0 T0 INT1 T1 串行口中斷RI/TI 28 30 31 注意注意 n串行中斷請(qǐng)求由串行中斷請(qǐng)求由RIRI和

9、和TITI的邏輯或得到,也的邏輯或得到,也 就是說(shuō),無(wú)論是就是說(shuō),無(wú)論是發(fā)送標(biāo)志還是接收標(biāo)志,發(fā)送標(biāo)志還是接收標(biāo)志, 都會(huì)產(chǎn)生中斷請(qǐng)求都會(huì)產(chǎn)生中斷請(qǐng)求。 n RIRI和和TITI的的中斷入口都是中斷入口都是0023H0023H,所以,所以CPUCPU響響 應(yīng)后轉(zhuǎn)入應(yīng)后轉(zhuǎn)入0023H0023H開始執(zhí)行服務(wù)程序,首先必開始執(zhí)行服務(wù)程序,首先必 須判斷是須判斷是RIRI中斷還是中斷還是TITI中斷,然后進(jìn)行相中斷,然后進(jìn)行相 應(yīng)服務(wù)。應(yīng)服務(wù)。 32 33 34 35 36 37 ORG 2000HORG 2000H INT0: INT0: CLR EACLR EA; ;關(guān)中斷關(guān)中斷 PUSH PSW

10、PUSH PSW; ;保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) PUSH ACCPUSH ACC; ; SETB EASETB EA; ;開中斷開中斷 MOV A,#02HMOV A,#02H; ;中斷服務(wù)中斷服務(wù) CLR EACLR EA; ;關(guān)中斷關(guān)中斷 POP ACCPOP ACC; ;恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng) POP PSWPOP PSW SETB EASETB EA; ;開中斷開中斷 RETIRETI; ;中斷返回中斷返回 ENDEND 38 39 中斷編程舉例中斷編程舉例 例例 擴(kuò)展外部中斷源。利用中斷實(shí)現(xiàn)多個(gè)故障的擴(kuò)展外部中斷源。利用中斷實(shí)現(xiàn)多個(gè)故障的LEDLED報(bào)警顯示。報(bào)警顯示。 顯示:顯示: 無(wú)故障時(shí),故

11、障信號(hào)源輸入端為低電平;出現(xiàn)故障時(shí),相應(yīng)的故障信號(hào)輸入無(wú)故障時(shí),故障信號(hào)源輸入端為低電平;出現(xiàn)故障時(shí),相應(yīng)的故障信號(hào)輸入 端變?yōu)楦唠娖?。要求編程?shí)現(xiàn):無(wú)故障時(shí),對(duì)應(yīng)指示燈熄滅;有故障時(shí),對(duì)端變?yōu)楦唠娖健R缶幊虒?shí)現(xiàn):無(wú)故障時(shí),對(duì)應(yīng)指示燈熄滅;有故障時(shí),對(duì) 應(yīng)的指示燈點(diǎn)亮。應(yīng)的指示燈點(diǎn)亮。 41 ORG 0000H;上電復(fù)位后,轉(zhuǎn)主程序上電復(fù)位后,轉(zhuǎn)主程序 AJMP MAIN ORG 0003H ;外部中斷外部中斷0的中斷向量的中斷向量 AJMP EXINT0 ;轉(zhuǎn)中斷服務(wù)子程序轉(zhuǎn)中斷服務(wù)子程序 ORG 0030H MAIN: SETB IT0;外部中斷外部中斷INT0為邊沿觸發(fā)方式為邊沿觸發(fā)方

12、式 SETB EX0;允許允許INT0中斷中斷 SETB EA;CPU開中斷開中斷 HERE:SJMP $;等待中斷等待中斷 42 EXINT0: MOV P1,#0FFH ;全部指示燈滅全部指示燈滅,并為讀入故障信號(hào)作準(zhǔn)備并為讀入故障信號(hào)作準(zhǔn)備 JNB P1.0,L1 ;P1.0無(wú)故障無(wú)故障 CLR P1.1;P1.0為為1,表明有故障,表明有故障,p1.1亮亮 SJMP L2 L1:SETB P1.1;p1.1滅滅 L2:JNB P1.2,L3 CLR P1.3 ;實(shí)現(xiàn)故障顯示,實(shí)現(xiàn)故障顯示,p1.3亮亮 SJMP L4 L3:SETB P1.3;p1.3滅滅 L4:JNB P1.4,L5

13、 CLR P1.5;實(shí)現(xiàn)故障顯示,實(shí)現(xiàn)故障顯示,p1.5亮亮 SJMP L6 L5:SETB P1.5;p1.3滅滅 L6:JNB P1.6,L7 CLR P1.7;實(shí)現(xiàn)故障顯示,實(shí)現(xiàn)故障顯示,p1.7亮亮 SJMP L8 L7:SETB P1.7;p1.7滅滅 L8:RETI 43 【例】單片機(jī)數(shù)據(jù)傳輸。 外設(shè)數(shù)據(jù)經(jīng)P1口輸入單片機(jī),每準(zhǔn)備好一個(gè)數(shù)據(jù), 外設(shè)發(fā)出選通信號(hào),經(jīng)觸發(fā)器和非門至INT0。 P1口 P3.0 Q D CLK CLR 選通信號(hào) +5V 1INT0 數(shù)據(jù) 8031 44 數(shù)據(jù)傳送過(guò)程: 外設(shè)每準(zhǔn)備好一個(gè)數(shù)據(jù)后,發(fā)出選通信號(hào),使觸 發(fā)器輸出1再經(jīng)非門得0至INT0,向CPU

14、發(fā)出中斷 請(qǐng)求, CPU 響應(yīng)這個(gè)中斷請(qǐng)求后,在中斷處理 程序中先撤除 中斷請(qǐng)求信號(hào), (通過(guò)P3.0=0, 使INT0=1) 再由P1口輸入 數(shù)據(jù)到單片機(jī) 內(nèi)部。 P1口 P3.0 Q D CLK CLR 選通信號(hào) +5V 1INT0 數(shù)據(jù) 8031 45 程序清單: ORG 0000H START:LJMP MAIN ORG 0003H LJMP IINT0 ORG 0030H ;主程序 MAIN: CLR IT0 ;低電平觸發(fā) SETB EA SETB EX0 ;開中斷 MOV DPTR,#1000H . ORG 0100H IINT0:PUSH PSW ;中斷處理程序 PUSH ACC

15、 CLR P3.0 46 NOP NOP SETB P3.0 ;撤除INT0 MOV A,P1 ;輸入數(shù)據(jù) MOVX DPTR,A ;保存數(shù)據(jù) INC DPTR . POP ACC ;恢復(fù)現(xiàn)場(chǎng) POP PSW RETI ;返回主程序 47 1 1、80518051單片機(jī)有單片機(jī)有 5 5 個(gè)中斷源,分個(gè)中斷源,分2 2個(gè)中斷優(yōu)先等級(jí),個(gè)中斷優(yōu)先等級(jí), 允許實(shí)現(xiàn)允許實(shí)現(xiàn)兩層兩層中斷嵌套。中斷嵌套。 2 2、80518051單片機(jī)中斷是由特殊功能寄存器單片機(jī)中斷是由特殊功能寄存器 TCONTCON、SCONSCON、 IPIP、IEIE及內(nèi)部查詢電路組成和控制的。這及內(nèi)部查詢電路組成和控制的。這4 4個(gè)個(gè) 特殊功能寄存器在特殊功能寄存器在CPUCPU復(fù)位后為復(fù)位后為00H00H。 3 3、中斷入口地址也稱為、中斷入口地址也稱為中斷向量中斷向量,外部中斷,外部中斷INT0INT0為為 0003

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論