51微控制器的程式中怎麼才能進入中斷中

2025-03-21 08:00:24 字數 1610 閱讀 6344

1樓:脫晴虹湯霽

中斷保護現場,是為了你中斷子程式執行完以後能夠返回到你程式中中斷點,即產生中斷的地方,使程式能夠繼續向下執行!!!

如過你說的不用保護現場的話,那麼程式執行完以後就不能夠回到現場,那麼你的程式將不知道要跳轉到那裡去了,也就是飛鳥,呵呵……

你說的中斷巢狀,也是一樣的,兩者都要保護現場,不然你也不能夠回到現場,程式也會飛的!!燃春肢!!

而我們保護現場的資料都是放在堆疊中森纖的,因此,你的中斷次數也不能夠超過堆疊的級數,那樣資料也會丟失!!!

說白了,中斷它不同於子程式,子程式是固定好了的,返回的位置也固定了;而中斷我們不能夠預知它在那裡發生中斷,因此要保護現場,使中斷子程式執行完後返回到中斷的地方!!!

呵呵……說的太多了!!!

我知道你說的意思了,但是你要知道,中斷現場保護是在中斷子程式中進行的,因此當你高一級的中斷髮生的時候(他們不可能共用一箇中斷子程式,如果是同一中斷,那也不可能,因為51中斷中你進入中斷子程式後要將禁止該中斷再次中斷,好象似的,嘿嘿……你可以試試),在高一級的中斷子程式中也有現場保護,你的問題就是沒有把現場保護放對地方!!!

它們是把現場保護在同一堆疊中,我跟你打個比方吧,假如說堆疊的位址是80h,低一級的中斷要保護的是1,2,3;高一級要保護的現場是4,5,6,那麼在低一級的中斷髮生的時候,現場保護1,2,3將壓如堆疊,(順序書上應該有,這裡是個比喻),那我先壓入1,堆疊位址加1,壓入2,堆疊位址再加1,如果這個時候高一級的中斷髮生,那麼現在就應該跳到高一級中斷的子程式,堆疊位址就是82h了,在將4,5,6分別壓入堆疊,這皮世樣堆疊的位址就是85h,當高一級的中斷子程式結束後,返回現場,堆疊的資料要從85h開始彈出,這樣現場返回的就是6,5,4,這個時候程式就會跳到中斷之前的地方,即底一級的中斷那裡,將要繼續將3保護到堆疊中,在執行低一級的中斷子程式。(其中,你要在中斷保護現場完了後將中斷標誌清0啊,不然它始終會中斷的,不可能去執行程式去了。

這樣講解你應該知道它們的過程了吧,呵呵!

2樓:能岑姓闌

一是相應的中斷要開放,主要是ie暫存器。

二是中斷的條件發生,比如定時、計數時間到,外部中斷訊號觸發,序列通訊接收或空拆傳送一幀結束。

三是沒有晌清同級宴虧前或者更高階中斷在執行。

51微控制器中有哪些中斷源?

3樓:網友

mcs-51微控制器有5箇中斷源,分別為:

51微控制器中中斷入口的含義是什麼

4樓:網友

51微控制器在。

**段的最前端有固定的位址對應每個中斷,比如復位在0x0000,外部中斷在0x0003,定時器0溢位中斷在發生中斷會自動從這裡對應的位址執行程式, 這裡的空間很小,所以一般就放一條跳轉指令,跳到具體的中斷處理函式。

5樓:網友

中斷入口,也就是中斷向量,是中斷髮生時程式轉向的位址,如外部中斷0的位址是0003h

6樓:魚翔淺底的自由

就是當系統發生中斷的時候(比如定時器計數中斷),cpu跑到中斷響應函式去執行的入口位址。

7樓:網友

停止當前響應程式,通過指標呼叫其他程式。

求61微控制器定時程式,51微控制器定時器的工作方式

不管用什麼微控制器,這是乙個很簡單的程式。就是個定時功能,什麼都沒有。微控制器定時器的工作方式 您好,親親微控制器定時器的工作方式如下,tmod 控制定時器的工作方式。個bit,高四位 bit 控制 t,低四位 bit 控制 t。因為定時器有種工作方式 tmod x 工作方式 tmod x 工作方式 tm...

51微控制器的程式是什麼意思,51微控制器的51是什麼意思?

clr c 清零進位標誌 mov a,66h 立即數66h送入ajc loop1 判斷c是否為0,c 1跳轉到loop1cpl c 取反c setb 01h 非法的指令setb只能對位操作loop1 orl c,acc.0 將a的最低位送入c中jb acc.2loop2 a中的第三位為1則跳到loo...

c51微控制器中斷程式中的interrupt1,2,3是由什麼決定的

interrupt x是指用的第幾個中斷。1 2 3是由中斷向量表決定的。也就是由微控制器的中斷入口地址的順序決定的。這個是硬體決定的軟體不能改變。例如外部中斷0就是interrupt 0 定時器0 是interrupt 1 外部中斷1是interrupt 2 定時器2是interrupt 3 串列...