色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MCS-51單片機的中斷系統(tǒng)(1)

          MCS-51單片機的中斷系統(tǒng)(1)

          作者: 時間:2016-11-23 來源:網(wǎng)絡 收藏
          在CPU 與外設交換信息時,存在著一個快速的 CPU 與慢速的外設之間的矛盾。為解決這個問題,發(fā)展了中斷的概念。
          單片機在某一時刻只能處理一個任務,當多個任務同時要求單片機處理時,這一要求應該怎么實現(xiàn)呢?通過中斷可以實現(xiàn)多個任務的資源共享。
          中斷現(xiàn)象在現(xiàn)實生活中也會經(jīng)常遇到,例如,你在看書——手機響了——你在書上作個記號——你接通電話和對方聊天——談話結束——從書上的記號處繼續(xù)看書。這就是一個中斷過程。通過中斷,你一個人在一特定的時刻,同時完成了看書和打電話兩件事情。用計算機語言來描述,所謂的中斷就是,當 CPU 正在處理某項事務的時候,如果外界或者內部發(fā)生了緊急事件,要求 CPU 暫停正在處理工作而去處理這個緊急事件,待處理完后,再回到原來中斷的地方,繼續(xù)執(zhí)行原來被中斷的程序,這個過程稱作中斷。
          從中斷的定義我們可以看到中斷應具備中斷源、中斷響應、中斷返回這樣三個要素。中斷源發(fā)出中斷請求,單片機對中斷請求進行響應,當中斷響應完成后應進行中斷返回,返回被中斷的地方繼續(xù)執(zhí)行原來被中斷的程序。

          MCS-51單片機中斷系統(tǒng)

          MCS-51單片機的中斷源

          MCS-51單片機的中斷源共有兩類,它們分別是:外部中斷和內部中斷
          1. 外部中斷源
          ? 外部中斷0(#INT0):來自P3.2引腳,采集到低電平或者下降沿時,產(chǎn)生中斷請求。
          ? 外部中斷1(#INT1):來自#P3.3引腳,采集到低電平或者下降沿時,產(chǎn)生中斷請求。
          2. 內部中斷源
          ? 定時器∕計數(shù)器0(T0):定時功能時,計數(shù)脈沖來自片內;計數(shù)功能時,計數(shù)脈沖來自片外P3.4引腳。發(fā)生溢出時,產(chǎn)生中斷請求。
          ? 定時器∕計數(shù)器1(T1):定時功能時,計數(shù)脈沖來自片內;計數(shù)功能時,計數(shù)脈沖來自片外P3.5引腳。發(fā)生溢出時,產(chǎn)生中斷請求。
          ? 串行口:為完成串行數(shù)據(jù)傳送而設置。單片機完成接受或發(fā)送一組數(shù)據(jù)時,產(chǎn)生中斷請求。

          中斷控制的專用寄存器

          MCS-51單片機為用戶提供了四個專用寄存器,來控制單片機的中斷系統(tǒng)。

          1. 定時器控制寄存器(TCON)
          該寄存器用于保存外部中斷請求以及定時器的計數(shù)溢出。進行字節(jié)操作時,寄存器地址為88H。按位操作時,各位的地址為88H~8FH。寄存器的內容及位地址表示如下:

          位地址8FH8EH8DH8CH8BH8AH89H88H
          位符號TF1TR1TF0TR0IE1IT1IE0IT0

          ? IT0 和IT1——外部中斷請求觸發(fā)方式控制位
          IT0 (IT1)=1 脈沖觸發(fā)方式,下降沿有效
          IT0 (IT1)=0 電平觸發(fā)方式,低電平有效
          ?IE0和IE1——外中斷請求標志位
          當CPU采樣到#INT0(或#INT1)端出現(xiàn)有效中斷請求時,IE0(IE1)位由硬件置“ 1”。當中斷響應完成轉向中斷服務程序時,由硬件把IE (或IE )清零。
          ?TR0 和TR1——定時器運行控制位
          TR0 (TR1 )=0 定時器/計數(shù)器不工作
          TR0 (TR1 )=1 定時器/計數(shù)器開始工作
          ? TF0和TF1——計數(shù)溢出標志位
          當計數(shù)器產(chǎn)生計數(shù)溢出時,相應的溢出標志位由硬件置“1”。當轉向中斷服務時,再由硬件自動清“0”。計數(shù)溢出標志位的使用有兩種情況:采用中斷方式時,作中斷請求標志位來使用;采用查詢方式時,作查詢狀態(tài)位來使用。

          2. 串行口控制寄存器(SCON)
          進行字節(jié)操作時,寄存器地址為98H。按位操作時,各位的地址為98H~9FH。寄存器的內容及位地址表示如下:

          位地址9FH9EH9DH9CH9BH9AH99H98H
          位符號SM0SM1SM2RENTB8RB8TIRI


          其中與中斷有關的控制位共2位:
          ? TI——串行口發(fā)送中斷請求標志位
          當發(fā)送完一幀串行數(shù)據(jù)后,由硬件置“1”;在轉向中斷服務程序后,用軟件清“0”。
          ? RI——串行口接收中斷請求標志位
          當接收完一幀串行數(shù)據(jù)后,由硬件置“1”;在轉向中斷服務程序后,用軟件清“0”。串行中斷請求由TI和RI的邏輯或得到。就是說,無論是發(fā)送標志還是接收標志,都會產(chǎn)生串行中斷請求。

          3. 中斷允許控制寄存器(IE)
          進行字節(jié)操作時,寄存器地址為0A8H。按位操作時,各位的地址為0A8H~0AFH。寄存器的內容及位地址表示如下:
          位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H
          位符號EA//ESET1EX1ET0EX0
          其中與中斷有關的控制位共6位:
          ? EA——中斷允許總控制位
          EA=0 中斷總禁止,禁止所有中斷
          EA=1 中斷總允許,總允許后中斷的禁止或允許由各中斷源的中斷允許控制位進行設置。
          ?EX0和EX1——外部中斷允許控制位
          EX0(EX1)=0 禁止外部中斷
          EX0(EX1)=1 允許外部中斷
          ?ET0和ET1——定時器/計數(shù)器中斷允許控制位
          ET0(ET1)=0 禁止定時器/計數(shù)器中斷
          ET0(ET1)=0 允許定時器/計數(shù)器中斷
          ?ES——串行中斷允許控制位
          ES=0 禁止串行中斷
          ES=1 允許串行中斷
          可見,MCS-51單片機通過中斷允許控制寄存器對中斷的允許(開放)實行兩級控制。即以EA位作為總控制位,以各中斷源的中斷允許位作為分控制位。當總控制位為禁止時,關閉整個中斷系統(tǒng),不管分控制為狀態(tài)如何,整個中斷系統(tǒng)為禁止狀態(tài);當總控制位為允許時,開放中斷系統(tǒng),這時才能由各分控制位設置各自中斷的允許與禁止。
          MCS-51單片機復位后(IE)=00H,因此中斷系統(tǒng)處于禁止狀態(tài)。單片機在中斷響應后不會自動關閉中斷。因此在轉中斷服務程序后,應根據(jù)需要使用有關指令禁止中斷,即以軟件方式關閉中斷。

          4. 中斷優(yōu)先級控制寄存器(IP)
          MCS-51單片機的中斷優(yōu)先級控制比較簡單,因為系統(tǒng)只定義了高、低2個優(yōu)先級。高優(yōu)先級用“1”表示,低優(yōu)先級用“0”表示。各中斷源的優(yōu)先級由中斷優(yōu)先級寄存器(IP)進行設定。IP寄存器地址0B8H,位地址為0BFH~0B8H。寄存器的內容及位地址表示如下:
          位地址0BFH0BEH0BDH0BCH0BBH0BAH0B9H0B8H
          位符號///PSPT1PX1PT0PX0
          其中:
          PX0——外部中斷0優(yōu)先級設定位;
          PT0——定時中斷0優(yōu)先級設定位;
          PX1——外部中斷1優(yōu)先級設定位;
          PT1——定時中斷1優(yōu)先級設定位;
          PS——串行中斷優(yōu)先級設定位。
          以上各位設置為“0”時,則相應的中斷源為低優(yōu)先級;設置為“1”時,則相應的中斷源為高優(yōu)先級。
          優(yōu)先級的控制原則是:
          ? 低優(yōu)先級中斷請求不能打斷高優(yōu)先級的中斷服務;但高優(yōu)先級中斷請求可以打斷低優(yōu)先級的中斷服務,從而實現(xiàn)中斷嵌套。
          ? 如果一個中斷請求已被響應,則同級的其它中斷服務將被禁止。即同級不能嵌套。
          ? 如果同級的多個中斷同時出現(xiàn),則按CPU查詢次序確定哪個中斷請求被響應。其查詢次序為:外部中斷0→定時中斷→外部中斷→定時中斷→串行中斷。
          中斷優(yōu)先級控制,除了中斷優(yōu)先級控制寄存器之外,還有兩個不可尋址的優(yōu)先級狀態(tài)觸發(fā)器。其中一個用于指示某一高優(yōu)先級中斷正在進行服務,從而屏蔽其它高優(yōu)先級中斷;另一個用于指示某一低優(yōu)先級中斷正在進行服務,從而屏蔽其它低優(yōu)先級中斷,但不能屏蔽高優(yōu)先級的中斷。此外,對于同級的多個中斷請求查詢的次序安排,也是通過專門的內部邏輯實現(xiàn)的。



          評論


          相關推薦

          技術專區(qū)

          關閉