第五章MCS-51中斷系統_第1頁
第五章MCS-51中斷系統_第2頁
第五章MCS-51中斷系統_第3頁
第五章MCS-51中斷系統_第4頁
第五章MCS-51中斷系統_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2021-7-7第五章MCS-51中斷系統1 2021-7-7第五章MCS-51中斷系統2 一、中斷的概念一、中斷的概念 CPUCPU在處理某一事件在處理某一事件A A時,發生了另一事件時,發生了另一事件B B請請 求求CPUCPU迅速去處理(中斷發生);迅速去處理(中斷發生); CPUCPU暫時中斷當前的工作,轉去處理事件暫時中斷當前的工作,轉去處理事件B B(中(中 斷響應和中斷服務);斷響應和中斷服務); 待待CPUCPU將事件將事件B B處理完畢后,再回到原來事件處理完畢后,再回到原來事件A A被被 中斷的地方繼續處理事件中斷的地方繼續處理事件A A(中斷返回),這一過(中斷返回),這

2、一過 程稱為中斷程稱為中斷 。 2021-7-7第五章MCS-51中斷系統3 MCS-51單片機的中斷系統結構 執行主 程序 主程序 繼續執行 主程序 斷點 中斷請求 中斷響應 執行 中斷 處理 程序 中斷返回 2021-7-7第五章MCS-51中斷系統4 引起引起CPU中斷的根源,稱為中斷源。中斷源向中斷的根源,稱為中斷源。中斷源向CPU提出提出 的中斷請求。的中斷請求。CPU暫時中斷原來的事務暫時中斷原來的事務A,轉去處理事件,轉去處理事件B。 對事件對事件B處理完畢后,再回到原來被中斷的地方(即斷點),處理完畢后,再回到原來被中斷的地方(即斷點), 稱為中斷返回。實現上述中斷功能的部件稱

3、為中斷系統(中稱為中斷返回。實現上述中斷功能的部件稱為中斷系統(中 斷機構)。斷機構)。 2021-7-7第五章MCS-51中斷系統5 隨著計算機技術的應用,人們發現中斷技術不僅隨著計算機技術的應用,人們發現中斷技術不僅 解決了快速主機與慢速解決了快速主機與慢速I/O設備的數據傳送問題,設備的數據傳送問題, 而且還具有如下優點:而且還具有如下優點: v 分時操作。分時操作。CPUCPU可以分時為多個可以分時為多個I/OI/O設備服務,設備服務, 提高了計算機的利用率;提高了計算機的利用率; v實時響應。實時響應。CPUCPU能夠及時處理應用系統的隨機事件,能夠及時處理應用系統的隨機事件, 系統

4、的實時性大大增強;系統的實時性大大增強; v可靠性高。可靠性高。CPUCPU具有處理設備故障及掉電等突發具有處理設備故障及掉電等突發 性事件能力,從而使系統可靠性提高。性事件能力,從而使系統可靠性提高。 二、中斷的優點二、中斷的優點 2021-7-7第五章MCS-51中斷系統6 三、三、 中斷優先級中斷優先級 。當。當 CPU正在執行中斷服務程序時正在執行中斷服務程序時, 又有中斷優先級更又有中斷優先級更 高的中斷申請產生高的中斷申請產生, 這時這時CPU就會暫停當前的中斷就會暫停當前的中斷 服務轉而處理高級中斷申請服務轉而處理高級中斷申請, 待高級中斷處理程序待高級中斷處理程序 完畢再返回原

5、中斷程序斷點處繼續執行完畢再返回原中斷程序斷點處繼續執行, 這一過程這一過程 稱為稱為。 2021-7-7第五章MCS-51中斷系統7 (52有有 6個);個); 可實現可實現(52為四級,即可實為四級,即可實 現四級中斷服務嵌套)現四級中斷服務嵌套),每一個中斷源的每一個中斷源的 為高級或低級;為高級或低級; 可以通過關中斷指令(或復位)屏蔽所有中斷,也可可以通過關中斷指令(或復位)屏蔽所有中斷,也可 以通過開中斷指令使以通過開中斷指令使CPU可以接受中斷申請;可以接受中斷申請; 為允許中斷或為允許中斷或 禁止中斷狀態。禁止中斷狀態。 一、一、MCS51的中斷系統的中斷系統 2021-7-7

6、第五章MCS-51中斷系統8 五個中斷源:五個中斷源: 入口地址入口地址 外部中斷外部中斷0(/INT0) 0003H T0溢出中斷溢出中斷 000BH 外部中斷外部中斷1(/INT1) 0013H T1溢出中斷溢出中斷 001BH 串口中斷串口中斷 0023H T2溢出中斷(溢出中斷(52子系列)子系列) 002BH 二、二、 MCS51的的中斷源中斷源 2021-7-7第五章MCS-51中斷系統9 中斷源的中斷中斷源的中斷 請求,如何通請求,如何通 知知CPU? 利用中斷請求標志位來通知!利用中斷請求標志位來通知! 2021-7-7第五章MCS-51中斷系統10 MCS51 中斷源結構示意

7、圖中斷源結構示意圖 2021-7-7第五章MCS-51中斷系統11 1、TCON中的中斷標志位中的中斷標志位 位位 地地 址址8F8E8D8C8B8A8988 位位 符符 號號TF1 TR1 TF0 TR0IE1IT1IE0IT0 這個寄存器既有定時器這個寄存器既有定時器/計數器的控制功能又有中計數器的控制功能又有中 斷控制功能,其中與中斷有關的控制位共斷控制功能,其中與中斷有關的控制位共6位:位:IE0和和 IE1、IT0和和IT1以及以及TF0和和TF1。 三、中斷請求標志三、中斷請求標志 2021-7-7第五章MCS-51中斷系統12 1 1)、)、IE1 (TCON.3)(TCON.3

8、) 外部中斷外部中斷1(/INT1) 。 2 2)、)、IE0 (TCON.1)(TCON.1) 外部中斷外部中斷0(/INT0)請請 求標志。求標志。 外部中斷源外部中斷源1有中斷請求時,硬件使有中斷請求時,硬件使IE1置置1, CPUCPU響應該中斷后,響應該中斷后,。 外部中斷源外部中斷源0有中斷請求時,硬件使有中斷請求時,硬件使IE1置置1, CPUCPU響應該中斷后,響應該中斷后,。 2021-7-7第五章MCS-51中斷系統13 3 3、IT0(TCON.0)IT0(TCON.0) 外中斷外中斷0(/INT0) : 由其選擇由其選擇外中斷外中斷0是是低電平有效還是下降沿有低電平有效

9、還是下降沿有 效。效。 IT0IT00 0,為電平觸發方式(低電平有效);,為電平觸發方式(低電平有效); IT0IT01 1,為邊沿觸發方式(下降沿有效);,為邊沿觸發方式(下降沿有效); CPUCPU在每一個機器周期的在每一個機器周期的S5P2S5P2采樣采樣P3.2 P3.2 (/INT1/INT1) 引腳,當引腳,當CPUCPU檢測到檢測到P3.2P3.2引腳上出現有效的中斷信引腳上出現有效的中斷信 號時,中斷標志號時,中斷標志IE0(TCON.1)IE0(TCON.1)置置1 1,向,向CPUCPU申請中斷;申請中斷; 中斷被響應后,中斷被響應后,IE0IE0。 2021-7-7第五

10、章MCS-51中斷系統14 4 4、IT1(TCON.2)IT1(TCON.2) 外中斷外中斷1(/INT1) : 由其選擇由其選擇外中斷外中斷1是是低電平有效還是下降沿有低電平有效還是下降沿有 效。效。 IT1IT10 0,為電平觸發方式(低電平有效);,為電平觸發方式(低電平有效); IT1IT11 1,為邊沿觸發方式(下降沿有效);,為邊沿觸發方式(下降沿有效); CPUCPU在每一個機器周期的在每一個機器周期的S5P2S5P2采樣采樣P3.3 P3.3 (/INT1/INT1) 引腳,當引腳,當CPUCPU檢測到檢測到P3.3P3.3引腳上出現有效的中斷信引腳上出現有效的中斷信 號時,

11、中斷標志號時,中斷標志IE1(TCON.3)IE1(TCON.3)置置1 1,向,向CPUCPU申請中斷;申請中斷; 中斷被響應后,硬件清零中斷被響應后,硬件清零IE1IE1。 2021-7-7第五章MCS-51中斷系統15 5 5、TF0TF0(TCON.5TCON.5)片片 。 當定時當定時/ /計數器計數器T0T0發生溢出時,發生溢出時,硬件置硬件置位位TF0TF0, 并向并向CPUCPU申請中斷,直到申請中斷,直到CPUCPU響應該中斷時,響應該中斷時,硬件硬件 清清0(也可軟件清(也可軟件清0)。)。 6 6、TF1TF1(TCON.7TCON.7)片片 。 當定時當定時/ /計數器

12、計數器T1T1發生溢出時,發生溢出時,硬件置硬件置位位TF1TF1, 并向并向CPUCPU申請中斷,直到申請中斷,直到CPUCPU響應該中斷時,響應該中斷時,硬件硬件 清清0(也可軟件清(也可軟件清0)。)。 2021-7-7第五章MCS-51中斷系統16 2、SCON中的串行中斷標志位中的串行中斷標志位 SCON寄存器地址寄存器地址98H,位地址,位地址9FH98H,其中,其中 的低的低2位位RI和和TI鎖存串行口的接收中斷和發送中斷的申鎖存串行口的接收中斷和發送中斷的申 請標志位,如表請標志位,如表6.3所示。所示。 位地位地 址址 9FH9EH9DH9CH9BH9AH99H98H 位符位

13、符 號號 TIRI 2021-7-7第五章MCS-51中斷系統17 1)、)、RI(SCON.0),),。 串行口接收數據時,每接收完一個串行幀,由串行口接收數據時,每接收完一個串行幀,由 硬件置位硬件置位RI。RI必須由軟件清零必須由軟件清零(CLR TI) 。 2)、)、TI(SCON.1),),。 當當CPU將一個發送數據寫入串行口發送緩沖器將一個發送數據寫入串行口發送緩沖器 時,就啟動了發送過程。每發送完一個串行幀,由時,就啟動了發送過程。每發送完一個串行幀,由 硬件置位硬件置位TI。CPU響應中斷時,不能自動清除響應中斷時,不能自動清除TI, TI必須由軟件清零。必須由軟件清零。 2

14、021-7-7第五章MCS-51中斷系統18 CPU對中斷系統所有中斷以及某個中斷源的開放和屏蔽對中斷系統所有中斷以及某個中斷源的開放和屏蔽 是是的。的。在中斷源在中斷源 與與CPU之間有二級中斷允許控制邏輯電路,類似開關,其中之間有二級中斷允許控制邏輯電路,類似開關,其中 第一級為一個第一級為一個,第二級為五個,第二級為五個。51單片機在復單片機在復 位時,位時,IE各位都為零,即各位都為零,即CPU出于關中斷的狀態。出于關中斷的狀態。 EA (IE.7), CPU中斷允許(中斷允許(總允許總允許)位。)位。 位地址位地址AFHAEHADHACHABHAAHA9HA8H 位符號位符號EAES

15、ET1EX1ET0EX0 一、中斷允許控制(第一級管理)一、中斷允許控制(第一級管理) 2021-7-7第五章MCS-51中斷系統19 EX0(IE.0),外部中斷,外部中斷0允許位;允許位; ET0(IE.1),定時,定時/計數器計數器T0中斷允許位;中斷允許位; EX1(IE.2),外部中斷,外部中斷0允許位;允許位; ET1(IE.3),定時,定時/計數器計數器T1中斷允許位;中斷允許位; ES(IE.4),串行口中斷允許位;,串行口中斷允許位; *ET2(IE.5),定時,定時/計數器計數器T2中斷允許位;中斷允許位; 若為若為“1”,開關接通,允許。例如,開關接通,允許。例如 SET

16、B EA 若為若為“0”,開關斷開,屏蔽。例如,開關斷開,屏蔽。例如 CLR IE.7 位地址位地址AFHAEHADHACHABHAAHA9HA8H 位符號位符號EAESET1EX1ET0EX0 2021-7-7第五章MCS-51中斷系統20 80C51單片機有單片機有,即可實現,即可實現 。每個中斷源的。每個中斷源的 的的 。 PX0(IP.0),外部中斷),外部中斷0優先級設定位;優先級設定位; PT0(IP.1),定時),定時/計數器計數器T0優先級設定位;優先級設定位; PX1(IP.2),外部中斷),外部中斷0優先級設定位;優先級設定位; PT1(IP.3),定時),定時/計數器計數

17、器T1優先級設定位;優先級設定位; PS (IP.4),串行口優先級設定位;),串行口優先級設定位; PT2 (IP.5) ,定時,定時/計數器計數器T2優先級設定位(優先級設定位(52獨有)。獨有)。 位地址位地址BFHBEHBDHBCHBBHBAHB9HB8H 位符號位符號 PT2 PSPT1PX1PT0PX0 二、中斷優先級控制(第二級管理)二、中斷優先級控制(第二級管理) 2021-7-7第五章MCS-51中斷系統21 vPX0(IPH.0),外部中斷),外部中斷0優先級設定位;優先級設定位; vPT0(IPH.1),定時),定時/計數器計數器T0優先級設定位;優先級設定位; vPX1

18、(IPH.2),外部中斷),外部中斷0優先級設定位;優先級設定位; vPT1(IPH.3),定時),定時/計數器計數器T1優先級設定位;優先級設定位; vPS (IPH.4),串行口優先級設定位;),串行口優先級設定位; vPT2 (IPH.5) ,定時,定時/計數器計數器T2優先級設定位。優先級設定位。 而而80C52單片機有四個中斷優先級,即可實現四級單片機有四個中斷優先級,即可實現四級 中斷服務嵌套。每個中斷源的中斷優先級由中斷優中斷服務嵌套。每個中斷源的中斷優先級由中斷優 先級寄存器先級寄存器IP和和IPH中的相應位的狀態來規定的中的相應位的狀態來規定的 。 2021-7-7第五章MC

19、S-51中斷系統22 同一優先級中的中斷申請不止一個時,則有中同一優先級中的中斷申請不止一個時,則有中 斷優先權排隊問題。同一優先級的中斷優先權排隊,斷優先權排隊問題。同一優先級的中斷優先權排隊, 由中斷系統硬件確定的由中斷系統硬件確定的形成,其排列如形成,其排列如 所示:所示: 2021-7-7第五章MCS-51中斷系統23 80C51單片機的中斷優先級的三條原則:單片機的中斷優先級的三條原則: CPU同時接收到幾個中斷時,同時接收到幾個中斷時, 。 。 正在進行的正在進行的中斷服務,中斷服務, 。 為了實現上述后兩條原則,中斷系統內部設有兩個用戶為了實現上述后兩條原則,中斷系統內部設有兩個

20、用戶 不能尋址的優先級狀態觸發器。不能尋址的優先級狀態觸發器。 其中一個置其中一個置1,表示正在響應高優先級的中斷,它將阻斷,表示正在響應高優先級的中斷,它將阻斷 后來所有的中斷請求;后來所有的中斷請求; 另一個置另一個置1,表示正在響應低優先級中斷,它將阻斷后來,表示正在響應低優先級中斷,它將阻斷后來 所有的低優先級中斷請求。所有的低優先級中斷請求。 2021-7-7第五章MCS-51中斷系統24 1、中斷響應條件、中斷響應條件 中斷源中斷源; 此中斷源的此中斷源的; CPU(即(即EA=1)。)。 同時滿足時,同時滿足時,CPU才有可能響應中斷。才有可能響應中斷。 一、中斷響應條件一、中斷

21、響應條件 2021-7-7第五章MCS-51中斷系統25 (一)中斷采樣:(一)中斷采樣: CPU執行程序過程中,在每個機器執行程序過程中,在每個機器 周期的周期的S5P2期間,中斷系統對各個中斷源進行采樣。期間,中斷系統對各個中斷源進行采樣。 (二)中斷查詢:按優先級和內部順序依次查詢這些(二)中斷查詢:按優先級和內部順序依次查詢這些 采樣值(也就是被激活了的的中斷請求)。如果某個中斷采樣值(也就是被激活了的的中斷請求)。如果某個中斷 標志在上一個機器周期的標志在上一個機器周期的S5P2時被置成了時被置成了1,那么它將于,那么它將于 現在的查詢周期中及時被發現。現在的查詢周期中及時被發現。

22、如果沒有被下述條件所阻止,如果沒有被下述條件所阻止,CPU將在下一個機器周將在下一個機器周 期的期的S1狀態響應激活了的最高優先級中斷。狀態響應激活了的最高優先級中斷。 2、中斷的采樣與查詢:、中斷的采樣與查詢: 2021-7-7第五章MCS-51中斷系統26 CPU正在處理同級或高優先級中斷;正在處理同級或高優先級中斷; 當前查詢的機器周期不是所執行指令的最后一個機器周當前查詢的機器周期不是所執行指令的最后一個機器周 期。即在完成所執行指令前,不會響應中斷,從而保證期。即在完成所執行指令前,不會響應中斷,從而保證 指令在執行過程中不被打斷;指令在執行過程中不被打斷; 正在執行的指令為正在執行

23、的指令為RET、RETI或任何訪問或任何訪問IE或或IP寄存器寄存器 的指令。即的指令。即 。 若由于上述條件的阻礙中斷未能得到響應,當條件消失若由于上述條件的阻礙中斷未能得到響應,當條件消失 時該中斷標志卻已不再有效,那么該中斷將不被響應。就是時該中斷標志卻已不再有效,那么該中斷將不被響應。就是 說,中斷標志曾經有效,但未獲響應,查詢過程在下個機器說,中斷標志曾經有效,但未獲響應,查詢過程在下個機器 周期將重新進行。周期將重新進行。 2021-7-7第五章MCS-51中斷系統27 (以阻斷后來(以阻斷后來 的同級或低級的中斷請求)。的同級或低級的中斷請求)。 ,即把程序計數器,即把程序計數器

24、 PC的內容壓入堆棧保存,再將相應的中斷服的內容壓入堆棧保存,再將相應的中斷服 務程序的入口地址送入務程序的入口地址送入PC。 。 二、中斷響應過程二、中斷響應過程 中斷響應過程的前兩步是由中斷系統內部自中斷響應過程的前兩步是由中斷系統內部自 動完成的,而中斷服務程序則要由用戶編寫程序動完成的,而中斷服務程序則要由用戶編寫程序 來完成。來完成。 2021-7-7第五章MCS-51中斷系統28 三、中斷返回三、中斷返回 RETI指令的具體功能是:指令的具體功能是: 將中斷響應時壓入堆棧保存的將中斷響應時壓入堆棧保存的 ,CPU從原來中斷的地方繼續執行程從原來中斷的地方繼續執行程 序;序; ,通知

25、中斷系,通知中斷系 統,中斷服務程序已執行完畢。統,中斷服務程序已執行完畢。 注意,注意,。在中斷。在中斷 服務程序中,現場的保護和恢復須由用戶在中斷服服務程序中,現場的保護和恢復須由用戶在中斷服 務程序中實現。務程序中實現。 2021-7-7第五章MCS-51中斷系統29 中斷服務流程中斷服務流程 2021-7-7第五章MCS-51中斷系統30 一、外部中斷響應時間一、外部中斷響應時間 響應時間響應時間從查詢中斷請求標志位到轉向中斷服務入口地從查詢中斷請求標志位到轉向中斷服務入口地 址所需的機器周期數。址所需的機器周期數。 1、最快響應時間、最快響應時間 從查詢中斷請求信號到中斷服務程序需要

26、從查詢中斷請求信號到中斷服務程序需要3個機器周期:個機器周期: 1個周期(查詢)個周期(查詢)2個周期(長調用個周期(長調用LCALL) 2、最長時間、最長時間 若當前指令是若當前指令是RET、RETI和和IP、IE指令,緊接著下一條是指令,緊接著下一條是 乘除指令發生,則最長為乘除指令發生,則最長為8個周期:個周期: 2個周期執行當前指令(其中含有個周期執行當前指令(其中含有1個周期查詢)個周期查詢)4個周個周 期乘除指令期乘除指令2個周期長調用個周期長調用8個周期。個周期。 所以,外部中斷響應時間在所以,外部中斷響應時間在3 8個機器周期之間。個機器周期之間。 5151單片機的外部中斷單片

27、機的外部中斷 2021-7-7第五章MCS-51中斷系統31 若外部中斷定義為若外部中斷定義為,中斷標志位的狀態,中斷標志位的狀態 隨隨CPU在每個機器周期采樣到的外部中斷輸入引腳的電平在每個機器周期采樣到的外部中斷輸入引腳的電平 變化而變化,這樣變化而變化,這樣。 但外部中斷源若有請求,必須把有效的低電平保持到請求但外部中斷源若有請求,必須把有效的低電平保持到請求 獲得響應時為止,不然就會漏掉;而在中斷服務程序結束獲得響應時為止,不然就會漏掉;而在中斷服務程序結束 之前,中斷源又必須撤消其有效的低電平,否則中斷返回之前,中斷源又必須撤消其有效的低電平,否則中斷返回 之后將再次產生中斷。之后將

28、再次產生中斷。 。例如,并行接。例如,并行接 口芯片口芯片8255的中斷請求線在接受讀或寫操作后即被復位,的中斷請求線在接受讀或寫操作后即被復位, 因此,以其去請求電平觸發方式的中斷比較方便。因此,以其去請求電平觸發方式的中斷比較方便。 2021-7-7第五章MCS-51中斷系統32 若外部中斷定義為若外部中斷定義為,在相繼連續的兩次,在相繼連續的兩次 采樣中,一個周期采樣到外部中斷輸入為高電平,下一個周采樣中,一個周期采樣到外部中斷輸入為高電平,下一個周 期采樣到為低電平,則在期采樣到為低電平,則在IE0或或IE1中將鎖存一個邏輯中將鎖存一個邏輯1。即。即 便是便是CPU暫時不能響應,中斷申

29、請標志也不會丟失,直到暫時不能響應,中斷申請標志也不會丟失,直到 CPU響應此中斷時才清零。這樣,為保證下降沿能被可靠響應此中斷時才清零。這樣,為保證下降沿能被可靠 地采樣到,外中斷引腳上的高低電平(負脈沖的寬度)均至地采樣到,外中斷引腳上的高低電平(負脈沖的寬度)均至 少要保持一個機器周期(若晶振為少要保持一個機器周期(若晶振為12MHz時,為時,為1微秒)。微秒)。 ,如,如ADC0809的轉換結束標志信號的轉換結束標志信號EOC為正脈沖,經反為正脈沖,經反 相后就可以作為相后就可以作為80C51的中斷輸入。的中斷輸入。 2021-7-7第五章MCS-51中斷系統33 例例1:利用外部中斷

30、實現單步操利用外部中斷實現單步操 作作: :單拍鍵每按下一次,執行一單拍鍵每按下一次,執行一 條用戶指令(實現了調試功能)。條用戶指令(實現了調試功能)。 8031 0INT +5v 在主程序中在主程序中: CLR IT0;設;設/INT0為電平觸發為電平觸發 SETB EA ;開中斷;開中斷 SETB PX0 ;外部中斷為高優先級;外部中斷為高優先級 SETB EX0 ;外部中斷;外部中斷0允許允許 在中斷服務子程序中在中斷服務子程序中: JNB P3.2 , $ JB P3.2 , $ RETI 此指令的功能是等按鍵按下后執行下一條指令此指令的功能是等按鍵按下后執行下一條指令 此指令的功能

31、是等按鍵松開后執行下一條指令,且使此指令的功能是等按鍵松開后執行下一條指令,且使/INT0 恢復為低電平,即保持為中斷申請狀態。恢復為低電平,即保持為中斷申請狀態。 2021-7-7第五章MCS-51中斷系統34 程序啟動后,經過中斷初始化,允許程序啟動后,經過中斷初始化,允許#INT0中斷,由于中斷,由于 按鍵常開,按鍵常開,#INT0保持低電平,則保持低電平,則CPU就進入外部中斷就進入外部中斷0服務服務 程序,它就會停在程序,它就會停在 JNB指令處,原地等待(實質上是等待按指令處,原地等待(實質上是等待按 鍵按下)。鍵按下)。 當按鍵按下,當按鍵按下,#INT0端出現高電平,程序就會往

32、下執行,端出現高電平,程序就會往下執行, 并停在并停在JB指令處指令處(實質上是等待按鍵松開)。(實質上是等待按鍵松開)。 當按鍵松開后,當按鍵松開后,執行執行RETI,將返回主程序。,將返回主程序。 由于此時由于此時#INT0端為低電平,所以立即提出中斷請求,端為低電平,所以立即提出中斷請求, 但是要等主程序但是要等主程序執行一條指令結束后,才能立即響應中斷。執行一條指令結束后,才能立即響應中斷。 也就是說,在也就是說,在# INT0端每出現一個正脈沖,主程序就執端每出現一個正脈沖,主程序就執 行一條指令,實現了單步執行的目的,要注意的是,這個正行一條指令,實現了單步執行的目的,要注意的是,

33、這個正 脈沖的高電平持續時間不小于脈沖的高電平持續時間不小于3個周期,以確保個周期,以確保 CPU能采集能采集 到高電平值。到高電平值。 2021-7-7第五章MCS-51中斷系統35 例例2:多外部中斷源的系統示例。:多外部中斷源的系統示例。 設有設有5個外部中斷源,中斷優先級排隊順序為:個外部中斷源,中斷優先級排隊順序為:XI0、 XI1、XI2、XI3、XI4。試設計它們與。試設計它們與80C51單片機的接口。單片機的接口。 ORG 0003H LJMP INSE0 ;轉外部中斷;轉外部中斷0服務程序入口服務程序入口 ORG 0013H LJMP INSE1 ;轉外部中斷;轉外部中斷1服

34、務程序入口服務程序入口 INSE0: PUSH PSW ;XI0中斷服務程序中斷服務程序 PUSH ACC POP ACC POP PSW RETI 2021-7-7第五章MCS-51中斷系統36 INSE1:PUSH PSW ;中斷服務程序;中斷服務程序 PUSH ACC JB P1.0,IR1 ;P1.0為為1,轉,轉XI1中斷服務程序中斷服務程序 JB P1.1,IR2 ;P1.1為為1,轉,轉XI2中斷服務程序中斷服務程序 JB P1.2,IR3 ;P1.2為為1,轉,轉XI3中斷服務程序中斷服務程序 JB P1.3,IR4 ;P1.3為為1,轉,轉XI4中斷服務程序中斷服務程序 IN

35、RET:POP ACC POP PSW RETI IR1: ;XI1中斷服務程序中斷服務程序 AJMP INRET IR2: ;XI2中斷服務程序中斷服務程序 AJMP INRET IR3: ;XI3中斷服務程序中斷服務程序 AJMP INRET IR4: ;XI4中斷服務程序中斷服務程序 AJMP INRET 2021-7-7第五章MCS-51中斷系統37 例例3:若規定外部中斷:若規定外部中斷0為邊沿觸發方式,低優先級,外接按為邊沿觸發方式,低優先級,外接按 鍵。試編寫主程序與中斷服務程序,實現每按一次按鍵,鍵。試編寫主程序與中斷服務程序,實現每按一次按鍵,P1 口口LED移動一位。移動一

36、位。 解:方法:在中斷服務程序中將寄存器解:方法:在中斷服務程序中將寄存器A的內容左環移一位,的內容左環移一位, 初值設為初值設為01H。 ORG0000H;主程序主程序 LJMPMAIN;主程序轉至主程序轉至MAIN處處 ORG003H;中斷服務程序入口地址中斷服務程序入口地址 LJMPZD0 ORG100H;主程序主程序 MAIN:MOVA,#01H;設設A的初值的初值 MOVP1,#01H;設設P1的初值的初值 SETBEA;開中斷開中斷 SETBEX0;允許外中斷允許外中斷0中斷中斷 CLRPX0;設為低優先級設為低優先級 SETBIT0;邊沿觸發邊沿觸發 HALT:SJMPHALT;

37、暫停等待中斷暫停等待中斷 ZD0:RLA;左環移一位左環移一位 MOVP1,A;回送回送 RETI;中斷返回中斷返回 END 2021-7-7第五章MCS-51中斷系統38 有以下幾點需要說明:有以下幾點需要說明: (1)由于從由于從0003H到到0023H之間分布了之間分布了5個中斷個中斷 源的入口地址,因此在一般情況下,主程序與中斷源的入口地址,因此在一般情況下,主程序與中斷 服務程序均用長轉移指令移至其它區域。服務程序均用長轉移指令移至其它區域。 (2)本例題未考慮保護現場與恢復現場的問題本例題未考慮保護現場與恢復現場的問題, 是否需要,應視具體情況而定。是否需要,應視具體情況而定。 (

38、3)本例是單重中斷,若為多級中斷,則情況本例是單重中斷,若為多級中斷,則情況 要復雜得多。要復雜得多。 (4)主程序處于暫停等待中斷只是為了舉例方主程序處于暫停等待中斷只是為了舉例方 便起見,在實際的單片機控制系統中一般是不會這便起見,在實際的單片機控制系統中一般是不會這 樣用的。樣用的。 2021-7-7第五章MCS-51中斷系統39 80C51的中斷系統十分重要,的中斷系統十分重要,C51編譯器允許在編譯器允許在C語言語言 源程序中聲明中斷和編寫中斷服務程序,從而減輕了采用匯源程序中聲明中斷和編寫中斷服務程序,從而減輕了采用匯 編程序編寫中斷服務程序的繁瑣程度。編程序編寫中斷服務程序的繁瑣程度。 通過使用通過使用interrupt關鍵字來實現。定義中斷服務程序關鍵字來實現。定義中斷服務程序 的一般格式如下:的一般格式如下: void 函數名函數名( ) interrupt n using m using m指明該中斷服務程序所對應的工作寄存器組,指明該中斷服務程序所對應的工作寄存器組, 取值范圍:取值范圍:03。指定工作寄存器組的缺點是所有被中斷調。指定工作寄存器組的缺點是所有被中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論