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輸入。所以你...