微控制器外部中斷0和外部中斷,微控制器外部中斷0和外部中斷

2022-03-14 00:43:17 字數 3591 閱讀 6322

1樓:匿名使用者

你想要的結果是不是應該要把while(1)中的第乙個time1=0去掉。

2樓:匿名使用者

不知你 time2 是否有用

ew_free_sn_free();執行一次要多長時間?若時間很短的話,有可能一直執行下去,因你不斷地把 time1清0,time1<10永遠滿足 若時間較長的話,執行一次 ew_free_sn_free()後發現 不僅time1>10 而且 time1>20, 所以ew_free_sn_nor()執行不了,但你說的中斷次數為11,再次偱環 到else if(time1<20)時 ew_free_sn_nor()應該可執行1次

ew_free_sn_nor()執行時間不超過10次中斷的話,又回到 if(time1<10)而執行 ew_free_sn_free(); 這也許是你想要和結果

若ew_free_sn_nor()執行時間超過10次不超過20次中斷的話,程式在此此反覆執行

若ew_free_sn_nor()執行時間超過20次中斷的話,程式跑飛,兩條語句都不執行,我也不知當time1溢位後它會不會回來

若ew_free_sn_free()和ew_free_sn_nor()兩條語句佔用時間不是定值的話,執**況就更複雜了

stc89c52微控制器外部中斷0和外部中斷1有什麼區別嗎

3樓:匿名使用者

沒有區別,是功能相同的兩路中斷,唯一的區別就是中斷向量不一樣,中斷0的向量位址是0003h,中斷1的向量位址是0013h

4樓:匿名使用者

外部中斷0系統預設有最高優先順序,但可以改。再就是中斷向量不同。其它一樣。

51微控制器外部中斷1和外部中斷0有什麼區別

5樓:

功能上沒什麼區別,外部中斷0(p3.2),外部中斷1(p3.3),只是中斷標誌有區別。

優先順序不同,在自然優先順序中,外部中斷0的優先順序最高。不過可能優先順序暫存器px0、px1去設定其高低的優先順序。

51微控制器,如果外部中斷0被觸發,定時器0、外部中斷1、定時器1還能工作麼。如果是外部中斷1被觸發呢?

6樓:做而論道

如果在沒有更改過優先順序的情況下,外部中斷1被觸發,定時器1和定時器0哪個還能工作?

不知道樓主所說的「工作」,是什麼意思。

外部中斷0、定時器0、外部中斷1、定時器1和序列口,它們是同時工作的。

只是當滿足一定的條件,它們會向cpu申請中斷,而cpu只有乙個,只能執行乙個外設的中斷程式。

如果外部中斷1被觸發,cpu執行x1的中斷程式,這時,定時器1和定時器0仍然在做自己的工作,並沒有停止工作。

樓主的問題,可能是問cpu的,當cpu在執行外部中斷1的程式期間,還能不能接受t1、t0的中斷申請。

答案是:不能。

只有高階的,可以中斷低階的。

樓主已經說它們是同一級別的中斷源,那麼它們就是不能互相中斷的。

只有當這個中斷程式結束了,返回主程式後,cpu才會響應剛才早已來到的中斷申請。

7樓:

這要看你的中斷優先順序是如何設定的了。(中斷優先順序控制暫存器)如果其他中斷都比中斷0優先順序高,當中斷0被觸發,其他中斷來了就要立刻去執行其他的,

否則就要等中斷0執行完以後再去執行其他的。

同理中斷1也這樣。

如果都是同一優先順序的,系統還是按照自然優先順序進行查詢、響應中斷。

8樓:a語無倫次

首先要看你設定的中斷優先順序,就是在 interrupt 後面的 using x, x表示0到4的數,其中0的優先順序為最高;當外部中斷0被觸發時,其他中斷依舊在進行,只是要在中斷0結束後才中斷;

如果是外部中斷1被觸發的話,可以被比他優先順序高的中斷打斷!一般優先順序的從高到低的排序是:中斷0、定時器0、外部中斷1、定時器1、序列口中斷,但當用到using x時,根據x確定,其中0為最高!

51微控制器外部中斷1和0都被使用了,但是還需要使用乙個定時器中斷,請問該怎麼設定呢?

9樓:專注51微控制器

外部中斷和定時器中斷互補干涉,你的51微控制器外部中斷1和外部中斷0都被使用了,不會對你使用定時器中斷產生影響的,設定很簡單,程式**附後,要想是定時器中斷1的優先順序低於外部中斷,你可以將外部中斷優先順序設定為高優先順序,而定時器中斷設定為低優先順序。這樣就可以了。初始化程式為:

init()

10樓:

用51機就可以。

51微控制器外部中斷1和0都被使用了,但是還需要使用乙個定時器中斷,請問該怎麼設定呢51微控制器外部中斷1和0都被使用了,但是還需要使用乙個定時器中斷,請問該怎麼設定呢

11樓:

如果其他中斷都比中斷0優先順序高,當中斷0被觸發,其他中斷來了就要立刻去執行其他的,

否則就要等中斷0執行完以後再去執行其他的。

同理中斷1也這樣。

如果都是同一優先順序的,系統還是按照自然優先順序進行查詢、響應中斷。

追問如果在沒有更改過優先順序的情況下,外部中斷1被觸發,定時器1和定時器0哪個還能工作?

如何同時在乙個微控制器c語言中同時使用外部中斷0和1?

12樓:匿名使用者

外部中斷int0的優先順序》定時器0>外部中斷int1>定時器1>序列口通訊中斷ri或ti

13樓:

(51微控制器)如果沒有特別需要,可以不設定優先順序,則按自然優先順序執行,自然優先順序順序為:int0 t0 int1 t1 串列埠 。

void init() //中斷初始化void ex0() interrupt 0{}void ex1 interrupt 2{}

14樓:匿名使用者

void init() //中斷初始化

void ex0_service(void) interrupt 0

void ex1_service(void) interrupt 2

51微控制器中的外部中斷服務程式入口0和1有什麼不同

15樓:匿名使用者

它們是抄

兩個獨立的中斷源,各自有各自的中斷程式入口,都有對應的訊號輸入引腳外部中斷0的編號是0 位址0x0003, 外部中斷1的編號是2 位址0x0013

定時器0中斷的編號是1 位址0x000b

組合語言程式設計用 程式位址,c語言程式設計用中斷序號

16樓:匿名使用者

你是哪個型別的51微控制器 一般是指 兩個中斷的區分

51微控制器,用外部中斷0和外部中斷1實現:1個七段led數碼管顯示值加1和減1。程式怎麼編?

17樓:匿名使用者

給你講思路吧,先設定外部中段,開啟中斷開關。主程式可以利用乙個for迴圈,每有一次中斷就操作一次陣列(陣列元素加一或減一(其中陣列對應的是數碼管1~9的顯示))

18樓:匿名使用者

簡單。。。。。。。。。。

微控制器外部中斷,微控制器外部中斷?

定時百器中斷是設定定時時間,到了該時間,就進行處理一次。可以處理按度鍵掃瞄,動態顯示,時鐘累加等問。外部中斷,是與外答接接觸,當中斷引腳為低電平時,進入中斷。如果你的微控制器沒內有專門的鍵盤中斷,可以使用外部中容斷來做鍵盤中斷。定時百器中斷是設定定時時間,到了該時間,就進行處理一次。可以處理按度鍵掃...

微控制器中斷問題,高手進,微控制器C語言外部中斷程式問題,高手進

中斷函式寫在主函式之外,中斷函式是不能由主函式呼叫的,但是中斷函式本身可以呼叫其他函式。微控制器一般都有若干個中斷源,每個中斷源對應乙個中斷入口位址,也叫做中斷向量,中斷向量空間很小,一般在中斷向量處放入一條跳轉指令指向中斷服務程式位址,當你用c語言宣告乙個中斷函式時,編譯器會幫你完成這些工作。以上...

跪求pic 微控制器 外部中斷函式解析

你這個是pic那個晶元啊,各個pic晶元型號不同,暫存器也不同。猜想一下,rb0為中斷引腳,那可能是pic16f88x系列的微控制器。那要好好看看這晶元的資料手冊了,這個個portb0口還對應了乙個ad輸入端,如果不對anselh 模擬選擇器高位元組暫存器 這個暫存器進行操作,預設是ad輸入。所以你...