⑴ 什麼是單片機的中斷
不同的計算機其硬體結構和軟體指令是不完全相同的,因此,中斷系統也是不相同的。
計算機的中斷系統能夠加強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 的系統上以中斷驅動模式使用。
以上內容參考網路-中斷
⑵ C51單片機中斷的優點缺點和特點分別都是什麼
特點快准時
優點就是特點
缺點 如果處理不當 程序容易跑飛 變數被莫名修改
⑶ 單片機中斷問題
要搞清中斷,就要先說一說單片機P3口的幾個引腳;P30到P35是中斷的輸入引腳。包括串列口、定時器(計數器)、外部中斷等等。這些中斷的特點是當中斷的條件滿足時,會執行相應的中斷程序。注意中斷程序的執行和匯編語言的子程序有一個重要區別:(多數教科書都沒提這一點)子程序必須有調用語句ACALL之類的調用它,它才能執行;而中斷不是!它是滿足中斷條件後,自動執行的。比如:定時器計數滿;外部中斷引腳低電平觸發;串列口接受到數據....,此時程序自動跳到中斷入口:03H,0BH,....23H。進入中斷入口後一般要跳轉一下再轉到相應的中斷子程序里去(除非你的中斷程序很短,不會進入別的中斷)。拿C語言來說,就是在C51里,中斷函數不需要主函數main()調用,自動執行(前提是觸發中斷的條件出現時)。
中斷不就是中間發生什麼事情,跳轉到另外一處,執行完在返回么?
這里的「中間發生什麼事情」,就是觸發的中斷,根據觸發中斷的類型,程序自動跳轉到入口程序(比如,觸發外部中斷0,則跳到03H,串列口中斷則是23H,這些入口地址一般安排跳轉指令)
為什麼還要中斷專門拿出來用啊,直接跳轉指令不就行了么?
單片機要用中斷這種方式工作呀!比如單片機在處理數據時,外部設備傳來一個信號,要求啟動,這是一個外部中斷信號,單片機收到後進入相應中斷程序,啟動設備,或者監測設備等等。沒有中斷,單片機的功能大大降低。
意思是不是就是說一個是已知的條件跳轉,一個是未知的,所以才採用中斷
有這個意思,但不準確。中斷是外部信號引起的,或者時鍾計時到、或者串列接收到數據,總之中斷的產生不由程序里的代碼決定。
⑷ 單片機中斷概念
單片機的中斷概念是指單片機在執行程序時,遇到事先設定的優先等級高於當前正在執行程序的控制信號時,暫時停止當前程序的執行,轉而先執行優先等級高的程序,等待所有優先等級較高的程序都執行完後,再返回繼續原來暫停執行的程序的操作,這樣的程序操作就稱為執行中斷操作。
為了保證中斷執行後能夠繼續執行原來的程序且不產生錯誤,中斷操作時,首先要保存中斷前的程序的地址、工作寄存器的內容等。直到中斷程序執行完成後再將暫時保存的工作寄存器的內容和地址取出,才能保證不回出現錯誤。
⑸ 單片機的內部中斷和外部中斷有什麼區別
一、主體不同
1、內部中斷:斷是一個演算法指令,是由軟中斷指令啟動的中斷。
2、外部中斷:是單片機實時地處理外部事件的一種內部機制。
二、機制不同
1、內部中斷:執行除法指令時,出現除數為0或商超過寄存器所能表達的范圍,則產生類型為0 的內部中斷。是優先順序最高的內部中斷。
2、外部中斷:當某種外部事件發生時,單片機的中斷系統將迫使CPU暫停正在執行的程序,轉而去進行中斷事件的處理;中斷處理完畢後.又返回被中斷的程序處,繼續執行下去。
三、特點不同
1、內部中斷:由一條指令INT n產生中斷類型碼或者由指令規定,或者是預定的。不執行INTA匯流排周期,CPU也不發出響應信號INTA。
2、外部中斷:在實時控制中,現場的各種參數、信息均隨時問和現場而變化。這些外界變數可根據要求隨時向CPU發出中斷申請。請求CPU及時處琿中斷請求,如中斷條件。
⑹ 單片機的中斷
你是想問什麼是中斷嗎?
單片機中斷分外部中斷、定時器中斷。外部中斷即通過設置相應寄存器,可以使單片機的相應引腳有高信號時,暫時放棄執行主程序,轉而去執行中斷程序,中斷程序執行完後,繼續執行主程序;定時器中斷也是通過設置相應寄存器,使單片機內部的累加器運行(不會影響單片機執行主程序),當累加器溢出時(即累加器的所有二進制位都加到了1)會產生中斷信號,此時,單片機暫時放棄執行主程序,轉而去執行中斷程序,中斷程序執行完後,繼續執行主程序。
相關資料書上介紹的很詳細,仔細看看就行。
⑺ 51單片機各中斷源特點
51單片機有三種中斷:
1、外部中斷,共兩個,外部中斷0和外部中斷1,特點是由專門的IO口觸發(P3.2,P3.3),可以是電平,也可以是下降沿。
2、定時器中斷,共兩個,定時器0和定時器1,特點是:可以工作定時或者計數器兩種模式,每種模式有4種工作方式,定時器由內部計數,計數器有外部脈沖輸入計數(P3.4,P3.5),計滿溢出申請中斷。
3、串口中斷,當接收到一幀數據,或發送完一幀數據時,申請中斷。
⑻ 什麼是單片機的中斷,中斷有什麼特點
中斷是」打斷「的意思,即允許正常運行的程序被一些緊急的事務所打斷 ,前提是你允許中斷發生,並且中斷條件已經具備,如定時器定時時間到或外部引腳來了低電平。
有了中斷,單片機不用頻繁地去查詢這些條件是否具備,從而專心地進行工作,但中斷發生時,又可以隨時作出響應
CPU好象一個大領導,如不讓下級部門有事敲門或打電話向你反映問題,你還想了解情況,過一會兒不管有事無事你就得一個部門一個部門問一問,主動權全在你手裡,可累不累呀
不如開放渠道(中斷允許),告訴部下有事隨時向我匯報,沒事我該喝茶喝茶,該看報看報,這樣既減輕了負擔,又不會錯過緊急事務
中斷系統一般包括中斷源 中斷控制寄存器 中斷優先順序寄存器等部分,一般高檔單片機中斷源比較多,且中斷優先順序也比較多
⑼ 51單片機中斷有哪些特點
兩級中斷嵌套,不同中斷向量,串口的接收和發送同一個中斷向量,要用RI和TI區分,沒個中斷都有獨立的使能標志,有總中斷時能標志。中斷無返回和形參,使用全局變數傳遞數據