外部中斷

外部中斷

外部中斷是單片機實時地處理外部事件的一種內部機制。當某種外部事件發生時,單片機的中斷系統將迫使CPU暫停正在執行的程式,轉而去進行中斷事件的處理;中斷處理完畢後.又返回被中斷的程式處,繼續執行下去。

基本介紹

  • 中文名:外部中斷
  • 外文名:external interrupt
產生機理,操作說明,觸發方式,電平觸發方式,跳沿觸發方式,功能,

產生機理

單片機在自主運行時一般是在執行一個死循環程式,在沒有外界干預(輸入信號)時它基本處於一個封閉狀態。比如一個電子時鐘,它會按時、分、秒的規律自主運行並通過輸出設備(如液晶顯示屏)把時間顯示出來。在不需要對它進行調校時它不需要外部干預,自主封閉地運行。如果這個時鐘足夠準確而又不掉電的話,它可能一直處於這種封閉運行狀態。但事情往往不會如此簡單,在時鐘剛剛上電或時鐘需要重新校準.甚至時鐘被帶到不同時區的時候,就需要重新對時鐘進行調校,這時就要求時鐘必須具有調校功能。因此單片機系統往往又不會是一個單純的封閉系統.它有些時候恰恰需要外部的干預,這也就是外部中斷產生的根本原因。
在沒有干預的情況下,單片機的程式在封閉狀態下自主運行,如果在某一時刻需要回響一個外部事件(比如有按鍵按下),這時就會用到外部中斷。具體來講,外部中斷就是在單片機的一個引腳上,由於外部因素導致了一個電平的變化(比如由高變低),而通過捕獲這個變化,單片機內部自主運行的程式就會被暫時打斷,轉而去執行相應的中斷處理程式,執行完後又回到原來中斷的地方繼續執行原來的程式。這個引腳上的電平變化,就申請了一個外部中斷事件,而這個能申請外部中斷的引腳就是外部中斷的觸發引腳。

操作說明

要產生中斷,必須先配置好並使能中斷線。根據需要的邊沿檢測設定兩個觸發暫存器,同時在中斷禁止暫存器的相應位寫1允許中斷請求。當外部中斷線上發生了期待的邊沿時,將產生一個中斷請求,對應的掛起位也隨之被置l。在掛起暫存器的對應位寫1,將清除該中斷請求。如果需要產生事件,必須先配置好並使能事件線。根據需要的邊沿檢測通過設定兩個觸發暫存器,同時在事件禁止暫存器的相應位寫1允許事件請求。當事件線上發生了需要的邊沿時,將產生一個事件請求脈衝,對應的掛起位不被置1。通過在軟體中斷/事件暫存器寫1,也可以通過軟體產生中斷/事件請求。

觸發方式

外部中斷的觸發有兩種觸發方式:電平觸發方式和跳沿觸發方式。

電平觸發方式

若外部中斷定義為電平觸發方式,外部中斷申請觸發器的狀態隨著CPU在每個機器周期採樣到的外部中斷輸入線的電平變化而變化,這能提高CPU對外部中斷請求的回響速度。當外部中斷源被設定為電平觸發方式時,在中斷服務程式返回之前,外部中斷請求輸入必須無效(即變為高電平),否則CPU返回主程式後會再次回響中斷。所以電平觸發方式適合於外部中斷以低電平輸入而且中斷服務程式能清除外部中斷請求源(即外部中斷輸入電平又變為高電平)的情況。

跳沿觸發方式

外部中斷若定義為跳沿觸發方式,外部中斷申請觸發器能鎖存外部中斷輸入線上的負跳變。即便是CPU暫時不能回響,中斷申請標誌也不會丟失。在這種方式里,如果相繼連續兩次採樣,一個機器周期採樣到外部中斷輸入為高,下一個機器周期採樣為低,則置“1”中斷申請觸發器,直到CPU回響此中斷時才清’0’。這樣不會丟失中斷,但輸入的負脈衝寬度至少保持12個時鐘周期(若晶振頻率為6MHz,則為21xs),才能被CPU採樣到。外部中斷的跳沿觸發方式適合於以負脈衝形式輸入的外部中斷請求。

功能

(1)實時處理功能:在實時控制中,現場的各種參數、信息均隨時問和現場而變化。這些外界變數可根據要求隨時向CPU發出中斷申請.請求CPU及時處琿中斷請求,如中斷條件
(2)故障處理功能:針對難以預料的情況或故障,如掉電、存儲出錯、運算溢出等,可通過中斷系統由故障源向CPU發出中斷請求,再由CPU轉到相應的故障處理程式進行處理。
(3)分時操作:中斷可以解決快速的CPU與慢速的外設之問的矛盾,使CPU和外設同時工作。CPU在啟動外設工作後繼續執行主程式,同時外設也在工作。每當外設做完一件事就發出中斷申請,請求CPU中斷它正在執行的程式,轉去執行中斷服務程式(一般情況是處理輸入/輸出數據),中斷處理完之後,CPU恢復執行主程式,外設也繼續工作。這樣,CPU可啟動多個外設同時工作,大大地提高其效率。

相關詞條

熱門詞條

聯絡我們