欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
關于51單片機的中斷程序執行
[打印本頁]
作者:
溝里郭嘉
時間:
2021-10-30 08:52
標題:
關于51單片機的中斷程序執行
如果INT0設置為下降沿中斷,那么當中斷發生后,INT0立即變為高電平,然后在中斷程序結束之前又變成低電平。結果會如何?(單片機開發版不在手邊,只好求教大家了)
第一種可能:單片機繼續執行中斷程序,不管新的下降沿信號。
第二種可能:單片機重新執行中斷程序。
結果會是哪一種?
作者:
188610329
時間:
2021-10-30 13:39
繼續執行, 直道結束后再次運行INT0中斷。 但是,如果在中斷結束前有 IE0 = 0; 的語句,并且INT0的再次下降沿發生在這句與句之前,那么,退出后中斷后也不會再次執行中斷。
作者:
yzwzfyz
時間:
2021-10-30 13:44
本帖最后由 yzwzfyz 于 2021-11-1 08:11 編輯
經樓下提醒,訂正一下:
是否發生中斷響應需要三個條件:
1、中斷被允許。
2、IE0=1
3、當前程序未運行在本級或更高級的中斷服務條件中。
INT0下沿發生后,僅僅是讓IE0=1,并不決定是否響應中斷。
下面回復你的問題,假設(1、)已成立:
【如果INT0設置為下降沿中斷,那么當中斷發生后,INT0立即變為高電平,然后在中斷程序結束之前又變成低電平】:這時僅讓IE0=1。由于條件(3、)的原因(程序在本級中斷服務程序中),所以不會立即響應。
當中斷退出時(以RETI指令為界定條件),會檢測到IE0=1,但需要在下一個指令周期才能被響應,所以會再執行一條指令,如果此時(1、)(3、)也滿足條件,則會再次進行中斷服務程序。
作者:
188610329
時間:
2021-10-30 19:14
yzwzfyz 發表于 2021-10-30 13:44
是否發生中斷響應需要三個條件:
1、中斷被允許。
2、IT0=1
糾正一下:
IT0是 選擇 中斷方式,下降沿還是低電平觸發。 IE0才是中斷標志位。
作者:
Y_G_G
時間:
2021-10-30 23:23
進入中斷之后,硬件自動清除IE0標志位
在中斷程序執行期間.只要還沒有退出中斷程序,當前中斷不會被自己中斷
也就是說,當程序還在執行INT0 中斷的時候,INT0在執行期間又被觸發了一次(不管是下降沿還是低電平,又或者是上升沿),INT0還是會在繼續執行當前的代碼
但是,IE0會被重新置位.當你執行完ITN0之后,退出了就會再次進入INT0中斷
所以,一般在退出之前先清除IE0
另外,IT0在傳統的AT8051和STC8051中的功能是不一樣的,要看數據手冊
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1