單片機(jī)及接口技術(shù)2.6(中斷系統(tǒng))_第1頁
單片機(jī)及接口技術(shù)2.6(中斷系統(tǒng))_第2頁
單片機(jī)及接口技術(shù)2.6(中斷系統(tǒng))_第3頁
單片機(jī)及接口技術(shù)2.6(中斷系統(tǒng))_第4頁
單片機(jī)及接口技術(shù)2.6(中斷系統(tǒng))_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2.6 中斷系統(tǒng)中斷系統(tǒng) 中中斷斷系系統(tǒng)統(tǒng)1. 8051的中斷系統(tǒng)的組成結(jié)構(gòu)的中斷系統(tǒng)的組成結(jié)構(gòu)ESESET1ET1ET0ET0EX0EX0EX1EX1TFTF0 0TFTF1 1TITI+ +RIRIPSPSPT1PT1PT0PT0PX0PX0PX1PX1EAEA高高優(yōu)優(yōu)先先級級低低優(yōu)優(yōu)先先級級中中斷斷服服務(wù)務(wù)子子程程序序入入口口80C5180C51中斷系統(tǒng)結(jié)構(gòu)示意圖中斷系統(tǒng)結(jié)構(gòu)示意圖0INT1INT總開關(guān)總開關(guān)分開關(guān)分開關(guān)優(yōu)先級開關(guān)優(yōu)先級開關(guān)1) 1) 中斷源中斷源 (1)(1)外部中斷源外部中斷源(2)(2)定時溢出中斷源(定時溢出中斷源(TF0TF0、TF1TF1) INT0INT0、

2、INT1INT1、TF0TF0、TF1TF1中斷源標(biāo)志:在中斷源標(biāo)志:在TCONTCON寄存器中寄存器中TCONTCON格式格式中中斷斷系系統(tǒng)統(tǒng)0INT1INTa. TF0a. TF0、TF1TF1:定時:定時/ /計數(shù)器溢出后,自動硬件置計數(shù)器溢出后,自動硬件置1 1b. IE0b. IE0、IE1IE1(Interrupt EnableInterrupt Enable):外部中斷請求標(biāo)):外部中斷請求標(biāo)志,志,IE0IE0、IE1=1IE1=1,外部請求中斷,外部請求中斷c. IT0c. IT0、IT1IT1(Interrupt1Interrupt1):外部中斷觸發(fā)方式選):外部中斷觸發(fā)方

3、式選擇位;擇位; 若若IT1=0IT1=0,外部中斷,外部中斷1 1為電平觸發(fā)方式,為電平觸發(fā)方式,CPUCPU在每在每個機(jī)器周期的個機(jī)器周期的S5P2S5P2期間對期間對INT1INT1(平)引腳采樣,若(平)引腳采樣,若采到低電平,認(rèn)為有中斷申請,即置采到低電平,認(rèn)為有中斷申請,即置IE1=1IE1=1,若為高,若為高電平,則清除電平,則清除IE1IE1標(biāo)志,標(biāo)志,CPUCPU響應(yīng)中斷后不能自動清響應(yīng)中斷后不能自動清除除IE1IE1標(biāo)志,也不能由軟件清除標(biāo)志,也不能由軟件清除IE1IE1標(biāo)志,所以在中標(biāo)志,所以在中斷返回前必須撤消斷返回前必須撤消INT1INT1(平)引腳上的低電平。(平)

4、引腳上的低電平。 若若IT1=1IT1=1,為邊沿觸發(fā)方式,為邊沿觸發(fā)方式,CPUCPU在每個機(jī)器周期在每個機(jī)器周期的的S5P2S5P2期間采樣引腳。若在連續(xù)兩個機(jī)器周期采樣期間采樣引腳。若在連續(xù)兩個機(jī)器周期采樣到先高后低,則使到先高后低,則使IE1=1IE1=1,此標(biāo)志一直保持到,此標(biāo)志一直保持到CPUCPU響響應(yīng)中斷時,才由硬件自動清除。應(yīng)中斷時,才由硬件自動清除。 中中斷斷系系統(tǒng)統(tǒng)(3)(3)串行口中斷源(串行口中斷源(TI/RITI/RI)中斷標(biāo)志:中斷標(biāo)志:SCONSCON(98H98H)TITIRIRI中中斷斷系系統(tǒng)統(tǒng)2) 2) (中斷矢量)(中斷矢量) 中斷源中斷源入口地址入口地

5、址外部中斷外部中斷0 00003H0003H定時器定時器T0T0中斷中斷000BH000BH外部中斷外部中斷1 10013H0013H定時器定時器T1T1中斷中斷001BH001BH串行口中斷串行口中斷0023H0023H 中中斷斷系系統(tǒng)統(tǒng)3) 3) 中斷控制中斷控制 (1)(1)中斷允許控制寄存器中斷允許控制寄存器IEIEIEIEAFHAFH ACHACHABHABHAAHAAHA9HA9HA8HA8H(A8H)(A8H)(1 1)EAEA:CPUCPU中斷總允許位。中斷總允許位。EA=1EA=1,開中斷;,開中斷;EA=0EA=0,關(guān),關(guān)中斷。中斷。(2 2)ESES(Enable Ser

6、ialEnable Serial):串行口中斷允許):串行口中斷允許(3 3)ET1ET1(Enable T1Enable T1):):T1T1中斷允許中斷允許(4 4)EX1EX1:外部中斷:外部中斷1 1允許允許(5 5)ET0ET0:T0T0中斷允許中斷允許(6 6)EX0EX0:外部中斷:外部中斷0 0允許允許 (2)(2)中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器IPIPIPIPBCHBCHBBHBBHBAHBAHB9HB9HB8HB8H(B8H)(B8H)a.PSa.PS:串行口中斷優(yōu)先級控制位。:串行口中斷優(yōu)先級控制位。PS=1PS=1,串行口為高,串行口為高優(yōu)先級中斷優(yōu)先級中斷b.PT1

7、b.PT1:T1T1中斷優(yōu)先級控制位。中斷優(yōu)先級控制位。PT1=1PT1=1,定時器,定時器T1T1為高為高優(yōu)先級中斷優(yōu)先級中斷c.PX1c.PX1d.PT0d.PT0e.PX0e.PX0中中斷斷系系統(tǒng)統(tǒng)自然優(yōu)先級表(自然優(yōu)先級表(IPIP優(yōu)先級一致的前提下)優(yōu)先級一致的前提下)中斷源中斷源自然優(yōu)先級自然優(yōu)先級外部中斷外部中斷0 0最高級最高級最低級最低級定時器定時器T0T0中斷中斷外部中斷外部中斷1 1定時器定時器T1T1中斷中斷串行口中斷串行口中斷中中斷斷系系統(tǒng)統(tǒng)2. CPU2. CPU對中斷的處理對中斷的處理1 1)中斷查詢)中斷查詢80C5180C51的的CPUCPU在每個機(jī)器周期的在

8、每個機(jī)器周期的S6S6狀態(tài)中查詢中斷狀態(tài)中查詢中斷源,在下一個機(jī)器周期的源,在下一個機(jī)器周期的S1S1狀態(tài)響應(yīng)中斷請求。狀態(tài)響應(yīng)中斷請求。2 2) CPUCPU在中斷響應(yīng)時的自動操作:在中斷響應(yīng)時的自動操作:(1 1)(2 2)保護(hù)斷點(diǎn)(不保護(hù))保護(hù)斷點(diǎn)(不保護(hù)PSWPSW)(3 3)中斷入口地址裝入)中斷入口地址裝入PCPC3 3) CPUCPU在中斷返回時自動操作:斷點(diǎn)地址送入在中斷返回時自動操作:斷點(diǎn)地址送入PCPC RETI RETI指令指令 中中斷斷系系統(tǒng)統(tǒng)概念:中斷源、中斷請求、中斷標(biāo)志、中概念:中斷源、中斷請求、中斷標(biāo)志、中斷允許(開中斷)、中斷優(yōu)先級、中斷響斷允許(開中斷)、中

9、斷優(yōu)先級、中斷響應(yīng)、中斷入口地址、中斷嵌套、中斷保護(hù)、應(yīng)、中斷入口地址、中斷嵌套、中斷保護(hù)、中斷服務(wù)程序、中斷源清除、中斷禁止中斷服務(wù)程序、中斷源清除、中斷禁止(關(guān)中斷)、中斷返回(關(guān)中斷)、中斷返回中中斷斷系系統(tǒng)統(tǒng)3. 3. 外部中斷源擴(kuò)展外部中斷源擴(kuò)展方法方法1 1:將將T0T0、T1T1用作外部中斷源用作外部中斷源。如定時。如定時/ /計數(shù)器工作計數(shù)器工作于方式于方式1 1時,令計數(shù)初值為時,令計數(shù)初值為FFFFHFFFFH,則,則T0T0或或T1T1有一有一個下降沿電平發(fā)生時,定時器個下降沿電平發(fā)生時,定時器/ /計數(shù)器計數(shù)器0 0或定時器或定時器/ /計數(shù)器計數(shù)器1 1溢出,產(chǎn)生中斷

10、請求,入口地址為定時溢出,產(chǎn)生中斷請求,入口地址為定時器器/ /計數(shù)器計數(shù)器0 0或定時器或定時器/ /計數(shù)器計數(shù)器1 1的中斷服務(wù)入口地的中斷服務(wù)入口地址(址(000BH000BH或或001BH001BH)中中斷斷系系統(tǒng)統(tǒng)如:如:用用INT0INT0(平)(平)擴(kuò)展擴(kuò)展3 3個外部個外部中斷源中斷源方法方法2 2:通過一個外部中斷源和:通過一個外部中斷源和n n個個I/OI/O口線擴(kuò)展口線擴(kuò)展n-1n-1個外部中斷源個外部中斷源中中斷斷系系統(tǒng)統(tǒng)0 0# #1 1# #2 2# #INT0(INT0(平平) )P1.0P1.0P1.1P1.1P1.2P1.28 80 0C C5 51 1中斷服

11、務(wù)程序中斷服務(wù)程序 ORG 1000H ORG 1000HINTRPTINTRPT:PUSH PSW PUSH PSW ;保護(hù)現(xiàn)場,因為;保護(hù)現(xiàn)場,因為PSWPSW不會不會 ; ; 被被CPUCPU自動保護(hù),自動保護(hù), ; ; 所以用軟件編程保護(hù)所以用軟件編程保護(hù) JNB P1.0JNB P1.0,PROG0 ; PROG0 ; 如果有如果有0#0#中斷,轉(zhuǎn)中斷,轉(zhuǎn)0#0#中斷子程序中斷子程序 JNB P1.1JNB P1.1,PROG1 ; PROG1 ; 如果有如果有1#1#中斷,轉(zhuǎn)中斷,轉(zhuǎn)1#1#中斷子程序中斷子程序 JNB P1.2JNB P1.2,PROG2 ; PROG2 ; 如果

12、有如果有2#2#中斷,轉(zhuǎn)中斷,轉(zhuǎn)2#2#中斷子程序中斷子程序GOBACKGOBACK:POP PSW POP PSW ;恢復(fù)現(xiàn)場;恢復(fù)現(xiàn)場 RETI RETI ;中斷返回;中斷返回PROG0PROG0: LJMP GOBACKLJMP GOBACKPROG1PROG1: LJMP GOBACKLJMP GOBACKPROG2PROG2: LJMP GOBACKLJMP GOBACK中中斷斷系系統(tǒng)統(tǒng) 0#1#2#INT0(平平)P1.0P1.1P1.280C51練習(xí)練習(xí)2.6.12.6.1: 采用中斷方式從采用中斷方式從P1.0P1.0產(chǎn)生頻率產(chǎn)生頻率500Hz500Hz的方的方波,設(shè)單片機(jī)時鐘

13、頻率為波,設(shè)單片機(jī)時鐘頻率為6MHz 6MHz 解:用解:用T0T0工作于方式工作于方式1 11 1)計算定時初值)計算定時初值頻率:頻率:500Hz500Hz; 周期:周期:1/500=2 ms1/500=2 ms定時時間:周期定時時間:周期/2=1ms/2=1ms定 時 器定 時 器 T 0T 0 計 數(shù)計 數(shù) 1 1 次 耗 時 :次 耗 時 : 1 21 2 個 時 鐘 周 期個 時 鐘 周 期=12=12* *1/6M=21/6M=2* *1010-6-6 s s定時器定時器T0T0需計數(shù)次數(shù):需計數(shù)次數(shù):1 1* *1010-3-3/(2/(2* *1010-6-6)=500 )=

14、500 (次)(次)=1F4H=1F4H定時初值:定時初值:10000H-1F4H= 10000H-1F4H= FE0CHFE0CH TH0=FEH TL0=0CHTH0=FEH TL0=0CH 中中斷斷系系統(tǒng)統(tǒng)2 2)設(shè)置)設(shè)置TMODTMOD:01H01H定時器定時器1 1定時器定時器0 0GATEGATEC/T(C/T(平平) )M1M1M0M0GATEGATEC/T(C/T(平平) )M1M1M0M00 00 00 00 00 00 00 01 1中中斷斷系系統(tǒng)統(tǒng)3 3)主程序:初始化)主程序:初始化 ORG 0000HORG 0000H AJMP MAIN AJMP MAIN ORG

15、 100H ORG 100HMAINMAIN: MOV TMODMOV TMOD,#01H #01H ;定時器;定時器/ /計數(shù)器初始化計數(shù)器初始化 MOV TL0MOV TL0,#0CH#0CH MOV TH0 MOV TH0,#0FEH #0FEH ;裝計數(shù)初值;裝計數(shù)初值 MOV SP, #30H ; MOV SP, #30H ; 設(shè)置堆棧設(shè)置堆棧 ;開中斷;開中斷 ;開定時器;開定時器0 0中斷中斷 SETB TR0 SETB TR0 ;啟動定時器;啟動定時器0 0計數(shù)計數(shù) SJMP SJMP $ $ ;中斷等待;中斷等待 中中斷斷系系統(tǒng)統(tǒng) LJMP SQSU LJMP SQSU OR

16、G 200H ORG 200HSQSUSQSU:CPL P1.0CPL P1.0 MOV TL0, #0CH MOV TL0, #0CH MOV TH0, #0FEH MOV TH0, #0FEH 4 4)中斷服務(wù)子程序)中斷服務(wù)子程序中中斷斷系系統(tǒng)統(tǒng)練習(xí)練習(xí)2.6.22.6.2:單片機(jī)串行口設(shè)為方式:單片機(jī)串行口設(shè)為方式2 2,波特率為,波特率為f foscosc/32/32,接收到一個字節(jié)數(shù)據(jù)后,將,接收到一個字節(jié)數(shù)據(jù)后,將F0F0置置1 1。編寫主。編寫主程序和串行口中斷子程序?qū)崿F(xiàn)該功能。程序和串行口中斷子程序?qū)崿F(xiàn)該功能。中中斷斷系系統(tǒng)統(tǒng)SM0SM0SM1SM1SM2SM2RENRENT

17、B8TB8RB8RB8TITIRIRISMODSMOD附表附表1 SCON1 SCON附表附表2 PCON2 PCON中中斷斷系系統(tǒng)統(tǒng)中斷源中斷源入口地址入口地址外部中斷外部中斷0 00003H0003H定時器定時器T0T0中斷中斷000BH000BH外部中斷外部中斷1 10013H0013H定時器定時器T1T1中斷中斷001BH001BH串行口中斷串行口中斷0023H0023H附表附表3 3 中斷入口地址中斷入口地址中中斷斷系系統(tǒng)統(tǒng)解:解: 1 1)計算定時初值)計算定時初值SCON=10010000B=90HSCON=10010000B=90H2 2)設(shè)置波特率:)設(shè)置波特率:SMOD=1

18、SMOD=1,即,即PCON=80HPCON=80H3 3)主程序:初始化)主程序:初始化 ORG 0000HORG 0000H AJMP MAIN AJMP MAIN ORG 100H ORG 100HMAINMAIN: MOV SCONMOV SCON,#90H #90H ;定時器;定時器/ /計數(shù)器初始化計數(shù)器初始化 MOV PCONMOV PCON,#80H#80H MOV SP, #30H MOV SP, #30H ;開中斷;開中斷 ;開串行口中斷;開串行口中斷 SJMP SJMP $ $ ;中斷等待;中斷等待 中中斷斷系系統(tǒng)統(tǒng)4 4)中斷服務(wù)子程序)中斷服務(wù)子程序 LJMP SQSU LJMP SQSU ORG 200H ORG 200HSQSUSQSU: ; ;軟件清軟件清RIRI CLR ES ; CLR ES ;關(guān)中斷關(guān)中斷 練習(xí)練習(xí)2.6.32.6.3:如下圖所示電路,要求按下鍵:如下圖所示電路,要求按下鍵K K后,發(fā)光后,發(fā)光二極管亮,編寫主程序和中斷處理子程序?qū)崿F(xiàn)該功能。二極管亮,編寫主程序和中斷處理子程序?qū)崿F(xiàn)該功能。中中斷斷系系統(tǒng)統(tǒng)80C51P

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論