⑴ 什麼是中斷處理程序編寫中斷處理程序時要注意哪些問題
發生中斷時CPU在中斷允許的情況下,強制跳轉至中斷處理程序對該中斷進行響應。
中斷處理程序需要注意:
若是改寫系統中斷,盡量保存系統中斷的原地址;
如果是自定義中斷,需要注意是否允許多重中斷,即能否被另一個中斷(包括同一個中斷號的相同中斷)打斷,若不希望被打斷,應當在中斷處理程序開始時關閉中斷允許位IF(用CLI指令),並且在程序結束時開啟中斷位(用STI指令)。
另外,中斷處理程序本身也是一個過程,也有可能出錯,所以盡量不要在中斷處理程序中產生錯誤,以免程序不可控。
⑵ C語言中是怎麼實現中斷的能提供點資料或舉幾個例子更好……
中斷大概是這樣的。。。如果有點錯誤不要怪我。。。我以前作過滑鼠中斷的東西。。現在有些想不起來了。。。所以。。。呵呵呵。。。
當程序運行到中斷條件的時候,會向CPU發信號改變優先順序(原先運行的東西會放進哪個特定的地方的,作保存),以發出中斷的那段程序作為最高優先,執行完成後再由執行另外的。。。建議你去看看匯編。。。哈哈哈。。。我沒學過的。。。
C中實現中斷是用了一個函數:geninterrupt(...)
這個「...」是個16進制的數字,是中斷號,像滑鼠中斷號就是0x33
還要用到類似匯編里寄存器模樣的變數:如_AX,_BX,_CX,_DX...不同的值功能不同。。。哎呀,我都忘完了。。。建議去查下geninterrupt()的用法就OK了。。。
⑶ 單片機匯編語言程序中中斷程序怎麼用,在程序中如何識別出哪裡是中斷服務程序,哪裡是主程序
一般在程序開頭有中斷子程序的入口處,在主程序里可以看到這些子程序的。標號名可以隨便取,但入口地址是固定的。
ORG 00H
AJMP MAIN
ORG 03H ;外部中斷0 入口地址
AJMP EX0INT ;跳轉至外部中斷0子程序
ORG 0BH
AJMP T0INT ;定時中斷0
ORG 13H
AJMP EX1INT ;外部中斷1
ORG 1BH
AJMP T1INT ;定時中斷1
ORG 23H
AJMP URT ;串口中斷
MAIN:
...
EX0INT: 外部中斷0子程序
...
T0INT: 定時器0 中斷子程序
...
⑷ 單片機編程時中斷程序如何使用
中斷程序不是使用的,是當單片機的中斷源有中斷請求時,以允許中斷的情況下,就是自動轉到中斷程序去執行了。所以,編程時,需要在中斷完成什麼任務,都要寫到中斷程序中就行了,會自己去執行的。而不需要你去使用的。
⑸ 單片機的查詢和中斷兩種方式怎麼從程序裡面看出來
這不是怎麼從程序裡面看出來的,而是你想怎麼寫程序的,你是想看別人的程序嗎?
簡單和方法:中斷方式必須開中斷,程序中必須有:ea=1,et1=1,這樣的語句,然後州禪讓必須有定時器t1的中斷服務子程序。
而查詢方式則不能寫那兩行冊局的,也沒襲顫有中斷服務子程序的,而是在程序是要查詢t1的定時到否,
這么寫,while(tf1==0);
tf1=0;
th1=x/256;
//x是定時的時間常數
tl1=x%256;
........其它程序
⑹ 中斷技術具體應用在計算機系統那一方面
中斷是指CPU對系統發生的某個事件作出的一種反應:CPU暫停正在執行的程序,保留現場後自動轉去執行相應的處理程序,處理完該事件後再返回斷點繼續執行被"打斷"的程序
在我們所用的電腦中,所有的硬體都需要執行中斷請求的動作,簡單說它的作用就是用來停止其相關硬體的工作狀態。我們可以舉一個日常生活中的例子來說明,假如你正在給朋友寫信,電話鈴響了,這時你放下手中的筆去接電話,通話完畢再繼續寫信。這個例子就表現了中斷及其處理的過程:電話鈴聲使你暫時中止當前的工作,而去處理更為急需處理的事情——接電話,當把急需處理的事情處理完畢之後,再回過頭來繼續原來的事情。在這個例子中,電話鈴聲就可以稱為「中斷請求」,而你暫停寫信去接電話就叫作「中斷響應」,那麼接電話的過程就是「中斷處理」。由此我們可以看出,在計算機執行程序的過程中,胡陸廳由於出現某個特殊情況(或稱為「事件」),使得系統暫時中止現行程序,而轉去執行處理這一特殊事件的程序,處理完畢之後再回到原來程序的中斷點繼續向下執行,而這個過程就被稱為中斷。
中斷的作用
我們可以再舉一個例子來說明中斷的作用。假設有一個朋友來拜訪你,但是由於不知何時到達,你只能在門口等待,於是什麼事情也幹不了;但如果在門口裝一個門鈴,你就不必在門口等待而可以在家裡去做其他的工作,朋友來了按門鈴通知你,這時你才中斷手中的工作去開門,這就避免了不必要的等待。而計算機也一樣,例如列印文稿的操作。因為cpu傳送數據的速度高,而列印機速度較慢,如果不採用中斷技術,cpu將經常處於等待狀態,這會使得電腦的工作效率極低。而採用了中斷方式後,cpu就可以在列印的同時進行褲隱其他的工作,而只在列印機緩沖區內的當前內容列印完畢,而發出中斷請求之後才予以響應,這時才暫時中斷當前的工作轉去執行停止列印的操作,之後再返回執行原來的程序。這樣就大大地提高了計算機系統的效率。
irq中斷
計算機中的中斷有好幾種,根據中斷信號產生的來源可以分為:硬體中斷和軟體中斷。硬體中斷多由外圍設備和計算機系統控制器發出,軟體中斷一般由軟體命令產生。在硬體中斷中又有「可屏蔽中斷」和「不可屏蔽中斷」之分。顧名思義,可屏蔽中斷可以由計算機根據系統的需要來決定是否進行接收處理或是延後處理(即屏蔽),而悉慶不可屏蔽中斷便是直接激活相應的中斷處理程序,它不能也不會被延誤。而irq中斷就是可屏蔽的硬體中斷,它的全稱為interrupt request 即「中斷請求」。
在電腦的系統中,是由一個中斷控制器8259或是8259a的晶元(現在此晶元大都集成到其他的晶元內)來對系統中每個硬體的中斷進行控制。目前共有16組irq,去掉其中用來作橋接的一組irq,實際上只有15組irq可供硬體調用。而這些irq都有自己建議的配置。
分配irq中斷
我們日常所用的操作系統對於irq的設置也不盡相同,所以在安裝新硬體的時候,系統往往並不能自動檢測正確的irq來分配給所需調用的硬體,這就會造成此硬體設備或是原來的舊硬體出現不能正常工作的現象。其實這是系統自動將該硬體的irq分配給了其他與此irq相同的硬體上,從而發生沖突使硬體不能正常工作。一般如果遇到這種情況,只要將新舊兩個硬體的irq配置手動調開就可以解決了。
對於一些常用的硬體一般都有其默認的irq數值。比如音效卡常常使用irq5或7。雖然這些配件使用其他的irq值大多數也能工作,但假如碰到特別「挑剔」的軟體或游戲等程序,例如只能識別irq值為5或7的音效卡,那麼如果將它設成irq9就白費心機了。
⑺ 什麼是中斷簡述中斷處理過程
中斷就是執行中斷服務程序,這是中斷系統的核心。不同計算機系統的中斷處理過程各具特色,但對多數計算機而言,其中中斷服務程序的流程如下。 中斷處理過程基本上由3部分組成,第一部分為准備部分,其基本功能是保護現場,對於非向量中斷方式則需要確定中斷源,最後開放中斷,允許更高級的中斷請求打斷低級的中斷服務程序;第二部分為處理部分,即真正執行具體的為某個中斷源服務的中斷服務程序;第三部分為結尾部分,首先要關中斷,以防止在恢復現場過程中被新的中斷請求打斷,接著恢復現場,然後開放中斷,以便返回原來的程序後可響應其他的中斷請求。中斷服務程序的最後一條指令一定是中斷返回指令。
一個完整的中斷過程包括:
中斷請求:是指中斷源(引起中斷的事件或設備)向CPU
發出的請求中斷的要求。
中斷判優:當有多個中斷源發出請求時,需要通過適當的辦法決定先處理哪個中斷請求;
中斷響應:指CPU中止現行程序轉至中斷服務程序的過程;
中斷處理:就是指CPU執行中斷服務程序;
中斷返回: 執行完中斷服務程序後,返回到被中斷的程序
中斷的作用:
(1)CPU與I/O設備並行工作
(2)硬體故障處理
(3)實現人機聯系:在計算機工作過程中,如果用戶要干預機器,如查看計算的中間結果,了解機器的工作狀態,給機器下達臨時性的命令等。在沒有中斷系統的計算機里這些功能幾乎是無法實現的。
(4)實現多道程序和分時操作
(5)實現實時處理
(6)實現應用程序和操作系統的聯系
(7)多處理機系統各處理機間的聯系
⑻ 在計算機系統中,請解釋什麼是中斷,請用流程圖畫出一次中斷處理流程
中斷是指計算機運行過程中,出現某些意外情況需主機干預時,機器能自動停止正在運行的程序並轉入處理新情況遲笑的程序,處理完畢後又返回原被暫停的程序繼續運行。
中斷流程圖如下:
(8)中斷在程序中怎麼體現擴展閱讀
眾所周知,處理器的速度跟外圍硬體設備的速度往往不在一個數量級上,因此,如果內核採取讓處理器向硬體發出一個請求,然後專門等待回應的辦法,顯然降低內核效率。
既然硬體的響應這么慢,那麼內核就應該在此期間處理其他事務,等到硬體真正完成了請求的操作之後,再回過頭來對它進行處緩州理。想要實現這種功能,輪詢(polling)可能會是一種解決辦法。可以讓內核定期對設備的狀態進行查詢,然後做出相應的處理。
不過這種方法很可碼哪含能會讓那個內核做不少無用功,因為無論硬體設備是正在忙碌著完成任務還是已經大功告成,輪詢總會周期性的重復執行。更好的辦法是由我們來提供一種機制,讓硬體在需要的時候再向內核發出信號(變內核主動為硬體主動),這就是中斷機制。
中斷使得硬體得以與處理器進行通信。舉個例子,在你敲打鍵盤的時候,鍵盤控制器(控制鍵盤的硬體設備)會發送一個中斷,通知操作系統有鍵按下。中斷本質是一種特殊的電信號,由硬體設備發向處理器。
處理器接受到中斷後,會馬上向操作系統反映此信號的到來,然後就由os負責處理這些新到來的數據。硬體設備生成中斷的時候並不考慮與處理器的時鍾同步——換句話說就是中斷隨時可以產生。因此,內核隨時可能因為新到來的中斷而被打斷。
不同的設備對應的中斷不同,而每個中斷都通過一個惟一的數字標識。因此,來自鍵盤的中斷就有別於來自硬碟的中斷,從而使得操作系統能夠對中斷進行區分,並知道哪個硬體設備產生了哪個中斷。這樣,操作系統才能給不同的中斷提供不同的中斷處理程序。
在它執行程序的時候,如果有另外的事件發生(比如用戶又打開了一個程序)那麼這時候就需要由計算機系統的中斷機制來處理了。
中斷機制包括硬體的中斷裝置和操作系統的中斷處理服務程序。
讓硬體在需要的時候再向內核發出信號。
參考資料來源:網路-中斷機制
參考資料來源:網路-中斷
⑼ 1、什麼是中斷什麼是中斷服務程序什麼是中斷源
1、中斷:指當出現需要時,CPU暫時停止當前程序的執行轉而執行處理新情況的程序和執行過程。即在程序運行過程中,系統出現了一個必須由CPU立即處理的情況,此時,CPU暫時中止程序的執行轉而處理這個新的情況的過程就叫做中斷。
2、中斷服務程序:處理器處理"急件",可理解為是一種服務,是通過執行事先編好的某個特定的程序來完成的,這種處理"急件"的程序被稱為--中斷服務程序。
3、中斷是處理器一種工作狀態的描述。我們把引起中斷的原因,或者能夠發出中斷請求信號的來源統稱為中斷源。