在微控制器中子程式與中斷服務程式的異同點

2021-05-23 17:11:31 字數 2203 閱讀 3128

1樓:匿名使用者

相似點:

⑴ 都是中斷當前正在執行的程式,都要通過執行返回指令,返回到原來的程式。

⑵ 都是由硬體自動地把斷點地址壓入堆疊;當執行到返回指令時,自動彈出斷點地址以便返回原來的程式。

⑶都要通過軟體完成現場保護和現場恢復。

⑷ 都可以實現巢狀。

2樓:焦水淼

中斷是微控制器的一個重要功能,中斷子程式專為執行中斷功能,它是在發生中斷後,自動執行的,不需要主程式呼叫;普通子函式要主程式呼叫才能執行。

彙編裡的區別:

普通子函式用ret返回;中斷子程式用reti返回,reti返回時要清除中斷標誌的;

普通子函式呼叫時直接進入函式入口地址,中斷函式在中斷髮生時先進中斷入口

03h、08h、13h、18h、23h後隨即寫一個跳轉指令,再跳轉到相應語句。

c語言區別:

普通子函式用的是c語言裡的主函式呼叫子函式的方法,子函式可以有引數,有返回值;中斷函式沒有引數,沒有返回值;

3樓:匿名使用者

差別:⑴ 中斷請求訊號可以由外部裝置發出,是隨機的;子程式呼叫卻是由軟體編排好的。

⑵ 中斷響應後由固定的向量地址轉入中斷服務程式,而子程式地址由軟體設定。

⑶ 中斷響應是受控的,其響應時間會受一些因素影響;子程式響應時間是固定的。

微控制器裡中斷返回和子程式返回的區別是什麼? 5

4樓:可以叫我表哥

中斷服務子程式入口地址相對某一中斷是固定的,呼叫子程式的偏移地址是隨機的,基本過程差不多,返回時,中斷服務子程式用的是reti 呼叫子程式是ret。

呼叫中斷服務子程式和呼叫子程式都會把當前偏移地址的下一地址壓棧,但呼叫子程式的返回指令ret不影響標誌位,reti從中斷程式返回,並會清除內部相應的中斷狀態暫存器。

5樓:

基本沒有區別!都會在返回時恢復壓棧的pc指標並繼續執行程式。

中斷處理程式實際上也可以看做是一個普通的子程式,只是它的呼叫是預先設定的地址入口,並且它的呼叫時由中斷觸發的;而子程式是我們人為地呼叫的。

但是中斷子程式的返回有時要考慮對中斷的處理(如開關中斷允許、初始化資料-----比如計數器或者定時器的初始值處理等等)。

6樓:蔥要吃魚

中斷是微控制器的一個重要功能,中斷子程式專為執行中斷功能,它是在發生中斷後,自動執行的,不需要主程式呼叫;子程式要主程式呼叫才能執行。

7樓:匿名使用者

中斷返回後繼續執行斷點以後的程式,子程式返回其實是在編譯時把子程式插在主調程式之中,執行完子程式後順序執行後面的程式而已。

計算機組成原理呼叫中斷服務程式和呼叫子程式有何區別

8樓:夜隱霜華

1.子程式呼叫是預先安排好的,程式中斷是隨機發生的;

2.呼叫子程式,是為主程式服務的,而中斷程式與主程式的程式毫無關係;

3.子程式是由呼叫指令給出目標地址,中斷是通過隱指令獲得中斷服務程式的入口地址

9樓:匿名使用者

更重要的是呼叫中斷子程式還需要保護現場而呼叫子程式則不需要

10樓:匿名使用者

斷服務程式 呼叫子程式

隨機產生的 程式中事先安排好的

保護斷點、保護現場 只保護斷點

為外設服務和處理各種事件 為主程式服務

微控制器程式中,中斷服務子程式與其他普通程式有什麼不同?

11樓:電量測量

這兩型別的子程式區別在於如下幾點:

中斷服務子程式有5箇中斷內

源中斷服務子程式不需要容在主程式中被呼叫,而是滿足條件自動觸發從指令上看中斷用reti,子程式用ret

在呼叫普通子程式時有可能被優先順序高的中斷子程式打斷兩者入口地址不同,中斷有固定入口地址

12樓:aizen_人間喜劇

一個自動呼叫 一個手動呼叫 你說有什麼不同

13樓:陸澤仍雅麗

兩型別程式區別於幾點:

斷服務程式5斷源

斷服務程式需要主程式呼叫滿足條件自觸發

指令看斷用reti程式用ret

呼叫普通程式能優先順序高斷程式打斷

兩者入口址同斷固定入口址

51微控制器的中斷服務程式入口地址是0003H,000BH,他

三位元組的跳轉指令分別存在0003h 0004h 0005h和000bh 000ch 000dh。就是隻佔用3,4,5三個位元組,剩下的6 a地址的空間空閒 你所說的0003h,000bh為rom地址,一個地址上有一位元組,就是說0003h到000bh有11 3 8位元組,3位元組的跳轉指令肯定可以...

微控制器程式解釋,微控制器程式解釋

222222222222222222222222222222222222 cnta equ 30h 定義cnta為暫存器30h count equ 31h 定義count為暫存器31h org 00h 程式開始 ljmp start 開始程式入口 org 0bh 定時器t0中斷程式入口地址,不過最好...

微控制器程式問題,微控制器程式問題

其實現在有部分高階的微控制器都有flash儲存區,不過我們一般是作為儲存程式用的,但其實也可以作為少量的資料區使用。但一般普通的51系列微控制器是不能的,只能外部擴充套件加eeprom,或者flash。只不過現在很多微控制器是內部由eeprom,擴充套件的資料flash,按照晶片的公司提供的data...