什麼是微控制器的中斷,微控制器中的中斷是幹什麼的?

時間 2022-10-29 00:56:50

1樓:霓脦那些

不同的計算機其硬體結構和軟體指令是不完全相同的,因此,中斷系統也是不相同的。

計算機的中斷系統能夠加強cpu對多工事件的處理能力。中斷機制是現代計算機系統中的基礎設施之一,它在系統中起著通訊網路作用,以協調系統對各種外部事件的響應和處理。中斷是實現多道程式設計的必要條件。

中斷是cpu對系統發生的某個事件作出的一種反應。

引起中斷的事件稱為中斷源。中斷源向cpu提出處理的請求稱為中斷請求。發生中斷時被打斷程式的暫停點稱為斷點。

cpu暫停現行程式而轉為響應中斷請求的過程稱為中斷響應。處理中斷源的程式稱為中斷處理程式。

cpu執行有關的中斷處理程式稱為中斷處理。而返回斷點的過程稱為中斷返回。中斷的實現實行軟體和硬體綜合完成,硬體部分叫做硬體裝置,軟體部分稱為軟體處理程式。

響應處理

大多數中斷系統都具有如下幾方面的操作,這些操作是按照中斷的執行先後次序排列的。

1、 接收中斷請求。

2、 檢視本級中斷遮蔽位,若該位為1則本級中斷源參加優先權排隊。

3、 中斷優先權選擇。

4、 處理機執行完一條指令後或者這條指令已無法執行完,則立即中止現行程式。接著,中斷部件根據中斷級去指定相應的主存單元,並把被中斷的指令位址和處理機當前的主要狀態資訊存放在此單元中。

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)衝突;

這意味著 isa mpu-401 帶有硬連線中斷2/9 的卡和帶有硬編碼 中斷 2/9 的 mpu-401 裝置驅動程式不能在啟用 acpi 的系統上以中斷驅動模式使用。

2樓:聚成都

微控制器中斷是指cpu在正常執行程式的過程中,由於計算機內部或外部發生了另一事件(如定時時間到,超壓報警等),請求cpu迅速去處理,cpu暫時停止當前程式的執行,而轉去處理所發生的事件。

1、中斷裝置和中斷處理程式統稱為中斷系統。中斷系統是計算機的重要組成部分。實時控制、故障自動處理、計算機與外圍裝置間的資料傳送往往採用中斷系統。

2、微控制器的中斷分類:只有兩類,外部中斷和定時器中斷。這兩種中斷使用時可以完全分離,最常用的自動中斷是定時器中斷,也就是自己設定乙個「倒計時」,該倒計時與主程式同時開始。

3、定時器中斷的開啟方法只需要這幾個暫存器設定:

ea=1表示允許任何中斷開啟;

etx表示時間耗盡允許執行中斷程式;

trx表示允許倒計時開始;

tmod表示倒計時的計時工作方式;

thx,tlx表示倒計時的值。

然後寫中斷程式interrupt 1或3 。

微控制器中的中斷是幹什麼的?

3樓:尚云社

中斷就是打斷現在執行的程式,去執行一些需要實時性的操作,然後再回來繼續執行。就好像我在給你回答問題,突然**響了,我就暫停打字,先接**,接完**再繼續給你回答問題。這就是中斷

中斷是什麼(51微控制器)

4樓:因貝**作

如果滿足中斷條件,程式執行暫停,執行中斷程式,再返回。

5樓:匿名使用者

中斷就是你程式執行中,當檢測到有中斷訊號來是,暫時結束程式,去執行中斷要求的程式,程式執行完後再返回來繼續執行原來的主程式。中斷一般有硬體中斷和軟體中斷。一般情況下定時中斷用的比較多。

6樓:匿名使用者

中斷就是:

當滿足中斷的觸發條件時:

主程式:工作中~

中斷1:「喂!打斷一下好嗎?我比較急,先處理我的事!」

主程式:「好的,no problem。」

於是主程式暫停,儲存當前狀態,然後跑去執行中斷程式。

執行完畢後:

中斷:「謝了哥們,你接著忙吧」

主程式:「ok no problem!」

於是主程式取回中斷前儲存的狀態,從上次暫停的地方繼續執行他的程式,中斷就默默地等待下乙個觸發條件。

7樓:

1、中斷定義

cpu在執行乙個程式時,對系統發生的某個事件(程式自身或外界的原因)作出的一種反應:cpu暫停正在執行的程式,保留現場後自動轉去處理相應的事件,處理完該事件後,到適當的時候返回斷點,繼續完成被打斷的程式。(如有必要,被中斷的程式可以在後來某時間恢復,繼續執行。

)事件:如讀盤,盤有問題,無法讀,產生中斷,解決後,程式恢復,軟體錯誤也會中斷。

特點:1) 中斷隨機的

2) 中斷是可恢復的

3) 中斷是自動進行處理的

2、中斷系統的有關概念

中斷由軟體(作業系統)、硬體協同完成,硬體機構稱中斷裝置。

中斷裝置:指發現中斷,響應中斷的硬體。

中斷處理程式是由軟體來完成的。

以上合稱中斷系統

中斷源:引起中斷發生的事件

中斷暫存器:硬體為每個中斷源設定暫存器,中斷發生時資訊被記錄在暫存器中,以便分析處理(記錄中斷)

中斷字:中斷暫存器中的內容

程式狀態字:控制指令執行順序,並保留和指示與程式相關的系統狀態。

基本內容

程式基本狀態(指令位址,條件碼,目態/管態,等待計算)

中斷碼:儲存程式執行時,當前發生的中斷事件,以便作業系統分析處理(設定中斷碼)

中斷遮蔽位

程式狀態字暫存器(cpu按照其內容執行)

系統堆疊:在記憶體開闢的一塊區域用來臨時儲存程序執行現場

51微控制器中什麼是中斷?其作用是什麼?怎麼用?

8樓:匿名使用者

中斷就是中途打斷。

通俗解釋:

你在看影碟,有人敲門(中斷源),中斷了你看影碟,**暫停。處理敲門的事宜(中斷目的),處理完成(中斷結束),繼續看影碟(繼續執行原來的任務)。

再比如:你在看電視,水開了(中斷源),把水灌到暖瓶裡(中斷目的),再燒上一壺(繼續開中斷),回去看電視。水又開了。。。。。。。。(迴圈中斷)

以51微控制器16位定時計數器0(t0)來講,

計數是t1是乙個能盛65536(十六位時)滴水的水盆,在水龍頭下水一滴滴地滴入盆中。如果盆是空的那水在滴完65536滴水時盆子的水就滿了再滴一滴的時候就溢位了。這時就會產生中斷。

如果盆裡面已經裝入65500滴水(即初裝值),那麼只需要36滴水後就溢位了。

每乙個水滴計數時即乙個脈衝(高低電平變換一次)。

定時時每乙個水滴即乙個機器週期,水滴的速度即機器週期,等於12個振盪週期(晶振的振盪頻率除以12),直接影響到溢位的時間。

msc 51微控制器中斷號對應的中斷是什麼?

9樓:真秀梅桓培

pt0,5個中斷源的自然優先順序由高到低分別是,t1:px0,int1,高一級和低一級51微控制器5個中斷源分兩級優先順序,t0,ps,中斷源之間按自然優先順序高低分級,px1,序列口,為0時是低優先順序:int0。

在同乙個優先順序時,pt1,也可以採用位定址來選定.當相應位為1時是高優先順序,各中斷源的中斷優先順序設定位分別是,設定時由ip(中斷優先順序暫存器)實現優先順序的選定

10樓:沙其英史裳

函式名()interrupt0{}

//對應外部中斷0;

函式名()interrupt1{}

//對應定時器/計數器0中斷;

函式名()interrupt2{}

//對應外部中斷1;

函式名()interrupt3{}

//對應定時器/計數器1中斷;

函式名()interrupt4{}

//對應串列埠中斷;

一共5種中斷,優先順序自上向下;

at89c52中斷型別相同。

11樓:呂實可雲

外部中斷0(int0),對應中斷號是0,

中斷入口位址0003h

定時/計數器0(t1),對應中斷號1

,中斷入口位址000bh

外部中斷1(int1),中斷號2

入口位址0013h

定時/計數器1(t1)中斷號3

入口位址001bh

序列口中(ri/ti)中斷號4

入口位址0023h

這五個是at89s51的,52還多了下面這個定時/計數器2(t2)中斷號5,入口位址002bh不知你明白了沒有

51微控制器有幾個中斷源,分別是什麼?

12樓:匿名使用者

一共5種中斷

,優先順序自上向下如下:

(1)函式名()interrupt 0 {} //對應外部中斷0;

(2)函式名()interrupt 1 {} //對應定時器/計數器0中斷;

(3)函式名()interrupt 2 {} //對應外部中斷1;

(4)函式名()interrupt 3 {} //對應定時器/計數器1中斷;

(5)函式名()interrupt 4 {} //對應串列埠中斷;

51微控制器是對所有相容intel 8031指令系統的微控制器的統稱。該系列微控制器的始祖是intel的8004微控制器,後來隨著flash rom技術的發展,8004微控制器取得了長足的進展,成為應用最廣泛的8位微控制器之一,其代表型號是atmel公司的at89系列,它廣泛應用於工業測控系統之中。

很多公司都有51系列的相容機型推出,今後很長的一段時間內將占有大量市場。51微控制器是基礎入門的乙個微控制器,還是應用最廣泛的一種。需要注意的是51系列的微控制器一般不具備自程式設計能力。

13樓:完新豆繡文

51微控制器總共有5個中斷源,分別為:

外部中斷0(int0),對應中斷號是0,

中斷入口位址0003h

定時/計數器0(t1),對應中斷號1

,中斷入口位址000bh

外部中斷1(int1),中斷號2

入口位址0013h

定時/計數器1(t1)中斷號3

入口位址001bh

序列口中(ri/ti)中斷號4

入口位址0023h

微控制器中if語句的使用,微控制器中IF語句的使用

你我悖道各蒼涼 1 if.else 語句 除了要在括號裡條件滿足時執行相應的語句外,在不滿足該條件的時候,也要執行一些另外的語句,這時候就用到了 if.else 語句,它的基本語法形式是 if 條件表示式 else 2 if.esle 語句 if.esle 語句是乙個二選一的語句,或者執行 if 分...

51微控制器中if語句的問題,51微控制器中if語句的乙個問題

微控制器程式在執行完main程式後會跳回到住main程式入口再重新執行的。把這個程式反彙編以後可以看到在c 0x0018行跳回主函式入口c0003 c 0x0000 02000f ljmp c 000f 4 void main void 5 c 0x000e 22ret c 0x000f 787f ...

微控制器試驗中,晶振的作用是什麼,微控制器中晶振電路的作用

微控制器工作時,是一條一條地從rom中取指令,然後一步一步地執行。微控制器訪問一次儲存器的時間,稱之為乙個機器週期,這是乙個時間基準。個機器週期包括12個時鐘週期。如果乙個微控制器選擇了12mhz晶振,它的時鐘週期是1 12us,它的乙個機器週期是12 1 12 us,也就是1us。mcs 51微控...

微控制器中的晶振有什麼作用,微控制器的時鐘晶振電路有什麼作用

一 晶振的作用 晶振在應用具體起到的作用,微控制器的時鐘源可以分為兩類 基於機械諧振器件的時鐘源,如晶振 陶瓷諧振槽路 rc 電阻 電容 振盪器。一種是皮爾斯振盪器配置,適用於晶振和陶瓷諧振槽路。另一種為簡單的分立rc振盪器。基於晶振與陶瓷諧振槽路的振盪器通常能提供非常高的初始精度和較低的溫度係數。...

微控制器的程式可以燒進sd卡中嗎?然後微控制器把sd卡

除非微控制器很高階,比如arm7 arm9這樣的,它的程式本來就執行在記憶體中。在執行時微控制器先把rom 或者sd卡 中的程式讀出來放在ram中的指定位置,然後跳轉到這位置開始執行程式。一般的8位或者16位微控制器都是直接從rom讀取程式的。你說的那個應該是程式從sd卡啟動,是boot方式不一樣,...