|
我現在的想法是, 1、同為低優先級或者高優先級時,遵循 外部中斷0->定時器/計數器T0->外部中斷1->定時器/計數器T1->串口中斷(優先級由高到低),的自然優先級,那么在同級優先級(同為高優先級或者同為低優先級)時在自然優先級里的低優先級可以被高優先級打斷;
2、倘若設置外部中斷0為高優先級,外部中斷1為低優先級,那么高優先級可以打斷低優先級,即外部中斷0可以打斷外部中斷1;
3、在51單片機中設置優先級的寄存器為IP,IP有5位有效位,PS,PT1,PX1,PT0,PX0;且IP可以進行位尋址,現在只是用外部中斷0以及1,就有兩種對其優先級定義的方式,(設置同為高優先級時,IP=1和PX1=1、PX0=1;意義相同);
基于此我進行了驗證:
按鍵K3(連接P3.2引腳,外都中斷0),按鍵K4(連接P3.3引腳,外都中斷1),LED燈連接在P2端口,設置其觸發方式均為低電平觸發;
1、分別設置外都中斷0和1,為同級時查看中斷的相互打斷情況;2、分別設置外部中斷0和1,為一個高另一個低時中斷打斷情況;
1、實驗現象為:
1)、IP=0時,在運行外部中斷0的中斷服務函數時,外部中斷1無法打斷其運行,同樣外部中斷1的中斷服務函數運行時,外部中斷0無法打斷;
2)、PX0=0、PX1=0時,在運行外部中斷0的中斷服務函數時,外部中斷1無法打斷其運行,同樣外部中斷1的中斷服務函數運行時,外部中斷0無法打斷;
3)、IP=1時,在運行外部中斷0的中斷服務函數時,外部中斷1無法打斷其運行,外部中斷1的中斷服務函數運行時,外部中斷0可以打斷外部中斷1;
4)、PX0=1、PX1=1時,在運行外部中斷0的中斷服務函數時,外部中斷1無法打斷其運行,同樣外部中斷1的中斷服務函數運行時,外部中斷0無法打斷;
疑惑之處:
1、IP無論設置為1(高優先級)還是0(低優先級),都應遵循 【外部中斷0->定時器/計數器T0->外部中斷1->定時器/計數器T1->串口中斷(優先級由高到低)】這一優先級,即在外部中斷0的中斷服務函數運行時,外部中斷1應無法打斷,明顯實驗現象 1)、2)、4),不符合
2、在對外部中斷0和外部中斷1的中斷優先級設定時,可以使用IP,也可以PX0,PX1,但是實驗現象中的 1)和2)不相統一,3)和4)不相統一
感謝,感謝,感謝
屏幕截圖 2023-11-09 192243.png (8.15 KB, 下載次數: 29)
下載附件
2023-11-9 19:23 上傳
屏幕截圖 2023-11-09 192231.png (10.35 KB, 下載次數: 41)
下載附件
2023-11-9 19:23 上傳
屏幕截圖 2023-11-09 192219.png (7.99 KB, 下載次數: 45)
下載附件
2023-11-9 19:23 上傳
屏幕截圖 2023-11-09 192150.png (7.39 KB, 下載次數: 40)
下載附件
2023-11-9 19:23 上傳
屏幕截圖 2023-11-09 192130.png (352.9 KB, 下載次數: 32)
下載附件
2023-11-9 19:23 上傳
屏幕截圖 2023-11-09 184259.png (43.89 KB, 下載次數: 33)
下載附件
2023-11-9 19:20 上傳
屏幕截圖 2023-11-09 184219.png (26.4 KB, 下載次數: 42)
下載附件
2023-11-9 19:20 上傳
屏幕截圖 2023-11-09 184142.png (158.98 KB, 下載次數: 47)
下載附件
2023-11-9 19:20 上傳
|
|