A. 單片機中的中斷是怎麼實現的
概念:引起CPU中斷的根源,稱為中斷源。中斷源向CPU提出的中斷請求。CPU暫時中斷原來的事務A,轉去處理事件B。對事件B處理完畢後,再回到原來被中斷的地方(即斷點),稱為中斷返回。實現上述中斷功能的部件稱為中斷系統(中斷機構)。
80C51的中斷系統有5個中斷源 ,2個優先順序,可實現二級中斷嵌套(就是可以在嵌套過程中再次響應嵌套) 。
中斷源
1、INT0(P3.2),外部中斷1。可由IT0(TCON.0)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.2引腳上出現有效的中斷信號時,中斷標志IE0(TCON.1)置1,向CPU申請中斷。
2、INT1(P3.3),外部中斷2。可由IT1(TCON.2)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.3引腳上出現有效的中斷信號時,中斷標志IE1(TCON.3)置1,向CPU申請中斷。
3、TF0(TCON.5),片內定時/計數器T0溢出中斷請求標志。當定時/計數器T0發生溢出時,置位TF0,並向CPU申請中斷。
4、TF1(TCON.7),片內定時/計數器T1溢出中斷請求標志。當定時/計數器T1發生溢出時,置位TF1,並向CPU申請中斷。
5、RI(SCON.0)或TI(SCON.1),串列口中斷請求標志。當串列口接收完一幀串列數據時置位RI或當串列口發送完一幀串列數據時置位TI,向CPU申請中斷。
中斷請求標志
1、TCON的中斷標志
IT0(TCON.0):外部中斷0觸發方式控制位。
當IT0=0時:為電平觸發方式。
當IT0=1時:為邊沿觸發方式(下降沿有效)。
IE0(TCON.1):外部中斷0中斷請求標志位。
IT1(TCON.2):外部中斷1觸發方式控制位。
IE1(TCON.3):外部中斷1中斷請求標志位。
TF0(TCON.5):定時/計數器T0溢出中斷請求標志位。
TF1(TCON.7):定時/計數器T1溢出中斷請求標志位。
單片機TCON輔助設置工具
2、SCON的中斷標志
RI(SCON.0),串列口接收中斷標志位。當允許串列口接收數據時,每接收完一個串列幀,由硬體置位RI。同樣,RI必須由軟體清除。
TI(SCON.1),串列口發送中斷標志位。當CPU將一個發送數據寫入串列口發送緩沖器時,就啟動了發送過程。每發送完一個串列幀,由硬體置位TI。CPU響應中斷時,不能自動清除TI,TI必須由軟體清除。
80C51中斷的控制
中斷允許控制
CPU對中斷系統所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。
EX0(IE.0):外部中斷0允許位;
ET0(IE.1):定時/計數器T0中斷允許位;
EX1(IE.2):外部中斷0允許位;
ET1(IE.3):定時/計數器T1中斷允許位;
ES(IE.4):串列口中斷允許位;
EA (IE.7): CPU中斷允許(總允許)位。
單片機IE自動設計工具
中斷優先順序控制
80C51單片機有兩個中斷優先順序,即可實現二級中斷服務嵌套。每個中斷源的中斷優先順序都是由中斷優先順序寄存器IP中的相應位的狀態來規定的 。
PX0(IP.0),外部中斷0優先順序設定位;
PT0(IP.1),定時/計數器T0優先順序設定位;
PX1(IP.2),外部中斷0優先順序設定位;
PT1(IP.3),定時/計數器T1優先順序設定位;
PS? (IP.4),串列口優先順序設定位;
PT2(IP.5),定時/計數器T2優先順序設定位。
單片機IP自動設計工具
中斷優先順序規則:
CPU同時接收到幾個中斷時,首先響應優先順序別最高的中斷請求。
正在進行的中斷過程不能被新的同級或低優先順序的中斷請求所中斷。
正在進行的低優先順序中斷服務,能被高優先順序中斷請求所中斷。
中斷系統總結:
TCON和SCON是中斷請求,以及控制外部中斷的有效方式。IE控制是否允許CPU響應中斷,是否允許響應某一個中斷。IP控制中斷的優先順序。
B. 單片機中斷概念
單片機的中斷概念是指單片機在執行程序時,遇到事先設定的優先等級高於當前正在執行程序的控制信號時,暫時停止當前程序的執行,轉而先執行優先等級高的程序,等待所有優先等級較高的程序都執行完後,再返回繼續原來暫停執行的程序的操作,這樣的程序操作就稱為執行中斷操作。
為了保證中斷執行後能夠繼續執行原來的程序且不產生錯誤,中斷操作時,首先要保存中斷前的程序的地址、工作寄存器的內容等。直到中斷程序執行完成後再將暫時保存的工作寄存器的內容和地址取出,才能保證不回出現錯誤。
C. 什麼是單片機的中斷
不同的計算機其硬體結構和軟體指令是不完全相同的,因此,中斷系統也是不相同的。
計算機的中斷系統能夠加強CPU對多任務事件的處理能力。中斷機制是現代計算機系統中的基礎設施之一,它在系統中起著通信網路作用,以協調系統對各種外部事件的響應和處理。中斷是實現多道程序設計的必要條件。 中斷是CPU對系統發生的某個事件作出的一種反應。
引起中斷的事件稱為中斷源。中斷源向CPU提出處理的請求稱為中斷請求。發生中斷時被打斷程序的暫停點稱為斷點。
CPU暫停現行程序而轉為響應中斷請求的過程稱為中斷響應。處理中斷源的程序稱為中斷處理程序。
CPU執行有關的中斷處理程序稱為中斷處理。而返回斷點的過程稱為中斷返回。中斷的實現實行軟體和硬體綜合完成,硬體部分叫做硬體裝置,軟體部分稱為軟體處理程序。
響應處理
大多數中斷系統都具有如下幾方面的操作,這些操作是按照中斷的執行先後次序排列的。
1、 接收中斷請求。
2、 查看本級中斷屏蔽位,若該位為1則本級中斷源參加優先權排隊。
3、 中斷優先權選擇。
4、 處理機執行完一條指令後或者這條指令已無法執行完,則立即中止現行程序。接著,中斷部件根據中斷級去指定相應的主存單元,並把被中斷的指令地址和處理機當前的主要狀態信息存放在此單元中。
5、 中斷部件根據中斷級又指定另外的主存單元,從這些單元中取出處理機新的狀態信息和該級中斷控製程序的起始地址。
6、 執行中斷控製程序和相應的中斷服務程序。
7、 執行完中斷服務程序後,利用專用指令使處理機返回被中斷的程序或轉向其他程序。
沖突
在一些罕見的情況下,兩個ISA設備可以共享相同的 IRQ,只要它們不同時使用即可。為了解決這個問題,後來的PCI 匯流排允許 IRQ 共享。PCI Express沒有物理中斷線,並使用消息信號中斷(MSI) 到操作系統(如果可用)。
在早期的 IBM 兼容個人計算機中,中斷曾經是一種常見的硬體錯誤,當兩個設備嘗試使用相同的中斷請求(或 中斷)向可編程中斷控制器(PIC)發出中斷信號時會收到該錯誤。
PIC 期望每條線路僅來自一個設備的中斷請求,因此沿同一條線路發送中斷信號的多個設備通常會導致 中斷 沖突,從而導致計算機死機。
例如,如果在系統中添加數據機擴展卡並分配給中斷4,傳統上分配給串列埠1,則可能會導致中斷沖突。最初,中斷 7 是使用音效卡的常見選擇,但後來發現 中斷 7 會干擾列印機埠(LPT1)時使用了中斷5。該串列埠經常禁用可以用於其他設備的中斷線。
中斷 2/9 是 MPU-401 MIDI 埠的傳統中斷線,但這與ACPI系統控制中斷(SCI 在 Intel 晶元組上硬連線到 中斷9)沖突;
這意味著 ISAMPU-401帶有硬連線中斷2/9 的卡和帶有硬編碼 中斷 2/9 的 MPU-401 設備驅動程序不能在啟用 ACPI 的系統上以中斷驅動模式使用。
以上內容參考網路-中斷
D. 單片機的中斷源是什麼來的
有兩種,一種是內部的中斷,一種是外部的中斷。內部的中斷是時鍾信號帶來的中斷,換言之,晶振產生的時鍾是中斷源;外部中斷是外部信號帶來的中斷,以51舉例來說,P3.4口就是外部中斷,你可以設置觸發方式(負跳變觸發或者低電平觸發),這時外部的信號就能控制單片機中斷了
E. 51單片機中斷原理
中斷意思是打斷,即允許單片機的正常工作被一些特殊的任務所打斷,從而保證單片機能夠專心工作又不錯過重要事務。中斷系統包括中斷源和中斷控制系統,單片機每執行完一條指令,就會檢測中斷源,當有中斷發生且中斷未被屏蔽,就會轉向中斷程序入口地址,執行中斷程序,執行完中斷程序,又返回主程序。
F. 簡述單片機中斷相應過程
首先開中斷,包括各個中斷源和總中斷,並設置中斷觸發條件,如定時器初值, 低電平觸發還是下降沿觸發,然後運行主程序,中斷條件具備時,轉入中斷程序,中斷程序完成後,返回主程序,至於保護重要的寄存器內容,屬於中斷程序之中的內容,包括有些共用中斷判斷到底屬於哪 一個中斷和清除中斷標志,都是中斷程序的內容,有的必須有,有的就沒有。
G. 單片機中斷的基本原理
什麼是中斷:CPU在處理某一事件A時,發生的另外某一事件B請求CPU去處理(產生了中斷),隨後CPU暫時中斷當前正在執行的任務,去對事件B進行處理,CPU處理完事件B後再返回之前中斷的位置繼續執行原來的事件A,這一過程總稱為中斷。
H. 51單片機定時器中斷原理
原理很簡單,說白了就是用一個計數器對內部時鍾計數,計滿溢出時觸發定時器中斷,此時,程序會中斷執行當前代碼跳轉到一個固定地址(定時器中斷服務程序入口)去執行中斷服務程序,執行完畢再回到被中斷的代碼地址繼續執行。
I. 51單片機外部中斷的觸發方式
51單片機的外部中斷有兩種觸發方式可選:電平觸發和邊沿觸發。選擇電平觸發時,單片機在每個機器周期檢查中斷源口線,檢測到低電平,即置位中斷請求標志,向CPU請求中斷。選擇邊沿觸發方式時,單片機在上一個機器周期檢測到中斷源口線為高電平,下一個機器周期檢測到低電平,即置位中斷標志,請求中斷。
這個原理很好理解。但應用時需要特別注意的幾點:
1) 電平觸發方式時,中斷標志寄存器不鎖存中斷請求信號。也就是說,單片機把每個機器周期的S5P2采樣到的外部中斷源口線的電平邏輯直接賦值到中斷標志寄存器。標志寄存器對於請求信號來說是透明的。這樣當中斷請求被阻塞而沒有得到及時響應時,將被丟失。換句話說,要使電平觸發的中斷被CPU響應並執行,必須保證外部中斷源口線的低電平維持到中斷被執行為止。因此當CPU正在執行同級中斷或更高級中斷期間,產生的外部中斷源(產生低電平)如果在該中斷執行完畢之前撤銷(變為高電平)了,那麼將得不到響應,就如同沒發生一樣。同樣,當CPU在執行不可被中斷的指令(如RETI)時,產生的電平觸發中斷如果時間太短,也得不到執行。
2) 邊沿觸發方式時,中斷標志寄存器鎖存了中斷請求。中斷口線上一個從高到低的跳變將記錄在標志寄存器中,直到CPU響應並轉向該中斷服務程序時,由硬體自動清除。因此當CPU正在執行同級中斷(甚至是外部中斷本身)或高級中斷時,產生的外部中斷(負跳變)同樣將被記錄在中斷標志寄存器中。在該中斷退出後,將被響應執行。如果你不希望這樣,必須在中斷退出之前,手工清除外部中斷標志。
3) 中斷標志可以手工清除。一個中斷如果在沒有得到響應之前就已經被手工清除,則該中斷將被CPU忽略。就如同沒有發生一樣。
4) 選擇電平觸發還是邊沿觸發方式,TCON 控制寄存器
設置。應從系統使用外部中斷的目的上去考慮,而不是如許多資料上說的根據中斷源信號的特性來取捨。比如,有的書上說(《Keil C51使用技巧及實戰》),就有類似的觀點。
J. 單片機中斷的原理
單片機中的CPU(暫且叫做CPU)在每個程序周期都會檢查中斷源(比如說外部中斷,計時器溢出······),一旦發現有中斷,馬上停止當前的程序(一般情況是,高級的單片機要仲裁中斷等級),並保護現場(寄存器的值入棧),然後調用中斷程序。中斷程序結束後,恢復現場(剛剛入棧的值出棧),繼續剛剛的程序!