❶ 單片機中斷概念
單片機的中斷概念是指單片機在執行程序時,遇到事先設定的優先等級高於當前正在執行程序的控制信號時,暫時停止當前程序的執行,轉而先執行優先等級高的程序,等待所有優先等級較高的程序都執行完後,再返回繼續原來暫停執行的程序的操作,這樣的程序操作就稱為執行中斷操作。
為了保證中斷執行後能夠繼續執行原來的程序且不產生錯誤,中斷操作時,首先要保存中斷前的程序的地址、工作寄存器的內容等。直到中斷程序執行完成後再將暫時保存的工作寄存器的內容和地址取出,才能保證不回出現錯誤。
❷ 這個單片機程序的中斷發生條件是什麼
中斷發生的條件是:主函數中ADC_CONTR=0xef;執行結束,並且過了相應的
AD轉換
時鍾周期,單片機完成將AD轉換值保存在結果寄存器中等動作。這時候就會去執行AD轉換的中斷。
❸ 什麼是單片機的中斷
不同的計算機其硬體結構和軟體指令是不完全相同的,因此,中斷系統也是不相同的。
計算機的中斷系統能夠加強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 的系統上以中斷驅動模式使用。
以上內容參考網路-中斷
❹ 51單片機c語言編程中產生中斷的條件是什麼
三個:
1.總中斷使能位EA=1
2.相應中斷使能 (ET0、EX0……) 打開
3.中斷源:外部中斷引腳的電平觸發、定時器溢出……
oid PxInt0(void) interrupt 0 //定義外部中斷0
void PxInt1(void) interrupt 2 //定義外部中斷1
void time0_int(void) interrupt 1 //定義定時器0
void time1_int(void) interrupt 3 //定義定時器1
這里為什麼是 0 1 2 3的順序呢~?其實是單片機內部默認的,順序依次是:
0 外部中斷0
1 定時/計數器0
2 外部中斷1
3 定時/計數器1
4 串列口中斷
這個是沒有什麼理由的,記住就行,以後要定義一個中斷的時候,定義的是哪一個,就在後面加上它的序號就行了,比如void PxInt0(void) interrupt 0 表示外部中斷0,就在後面加上interrupt 0.
逐詞解釋的話。。。如:void PxInt0(void) interrupt 0
void的意思是沒有返回值,Pxint0(void)是你定義的函數名,interrupt表示你定義的是中斷函數,0表示你定義的是外部中斷0
後面的依此類推。
另外,中斷函數不需要在main函數前聲明,當單片機檢測到中斷所需的信號時,它會自動立即停止正在進行的工作進入中斷函數。
❺ 單片機的中斷源是什麼來的
有兩種,一種是內部的中斷,一種是外部的中斷。內部的中斷是時鍾信號帶來的中斷,換言之,晶振產生的時鍾是中斷源;外部中斷是外部信號帶來的中斷,以51舉例來說,P3.4口就是外部中斷,你可以設置觸發方式(負跳變觸發或者低電平觸發),這時外部的信號就能控制單片機中斷了
❻ MCS-51系列單片機的有幾個中斷源各中斷標志是如何產生的如何清除各中斷標志
標准51有5個中斷向量(不算復位),分別是外部中斷0,定時器0,外部中斷1,定時器1,串列口;總共有6個中斷標志,串列口的發送和接受共享一個中斷向量。
各個終端標志產生情況如下:
外部中斷可以設置邊沿觸發或者電平觸發,邊沿觸發進入中斷程序後硬體自動清中斷標志,電平觸發需要軟體清標志位;
定時器T0,T1計數溢出產生中斷,進入中斷程序硬體自動清標志位;
串列口發送完成或者接收到數據就觸發中斷,由於是兩個中斷標志共享一個中斷向量,所以需要在中斷程序里由軟體判斷是發送中斷還是接受中斷,並且只能由軟體清標志位;
以上是標准51的中斷系統,52由於多了一個T2定時器(T2定時器跟T0,T1功能相差很大,T2要強大很多),因此多了一個中斷向量2個中斷標志(溢出中斷和T2外部中斷),T2中斷標志必須由軟體清除標志位
中斷使能位於IE寄存器
各中斷標志位於相應的模塊控制寄存器裡面
模塊
位地位
位名稱
說明
T1
TCON.7
TF1
T1溢出標志
T0
TCON.5
TF0
T0溢出標志
T2
T2CON.7
TF2
T2溢出中斷標志
T2CON.6
EXF2
T2外部中斷標志
外部中斷1
TCON.3
IE1
外部中斷1標志
外部中斷0
TCON.1
IE0
外部中斷0標志
串列口
SCON.1
TI
發送中斷標志
SCON.0
RI
接受中斷標志
❼ 簡述單片機中斷相應過程
首先開中斷,包括各個中斷源和總中斷,並設置中斷觸發條件,如定時器初值, 低電平觸發還是下降沿觸發,然後運行主程序,中斷條件具備時,轉入中斷程序,中斷程序完成後,返回主程序,至於保護重要的寄存器內容,屬於中斷程序之中的內容,包括有些共用中斷判斷到底屬於哪 一個中斷和清除中斷標志,都是中斷程序的內容,有的必須有,有的就沒有。
❽ 單片機中斷的基本原理
什麼是中斷:CPU在處理某一事件A時,發生的另外某一事件B請求CPU去處理(產生了中斷),隨後CPU暫時中斷當前正在執行的任務,去對事件B進行處理,CPU處理完事件B後再返回之前中斷的位置繼續執行原來的事件A,這一過程總稱為中斷。
❾ 單片機中斷的原理
單片機中的CPU(暫且叫做CPU)在每個程序周期都會檢查中斷源(比如說外部中斷,計時器溢出······),一旦發現有中斷,馬上停止當前的程序(一般情況是,高級的單片機要仲裁中斷等級),並保護現場(寄存器的值入棧),然後調用中斷程序。中斷程序結束後,恢復現場(剛剛入棧的值出棧),繼續剛剛的程序!
❿ 單片機中斷是怎麼回事
中斷是指CPU在正常執行程序的過程中,由於計算機內部或外部發生了另一事件(如定時時間到,超壓報警等),請求CPU迅速去處理,CPU暫時停止當前程序的運行,而轉去處理所發生的事件,待發生的事件處理完以後,CPU再返回到原來暫停的地方,繼續執行原來程序,這樣一個過程稱為中斷。
設置中斷的必要性
1.分時操作 採用中斷技術能夠使CPU與外圍設備並行工作,實現分時操作,大大提高了CPU的利用率。
2.實時處理 實時控制是單片機系統一個重要的應用領域,它要求CPU對工作現場的各種參數和狀態的隨機變化能夠快速響應並加以及時處理,而這些功能只有採用中斷技術才能得以實現。
3.故障處理 計算機在運行過程中常常會突然發生故障,如電源掉電、內存出錯及程序故障等。