久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2471|回復: 8
打印 上一主題 下一主題
收起左側

51單片機中斷優先級問題

[復制鏈接]
跳轉到指定樓層
樓主
我現在的想法是,    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)不相統一


感謝,感謝,感謝



單片機開發板原理圖.pdf

141.71 KB, 下載次數: 5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:123289 發表于 2023-11-10 15:39 | 只看該作者
無法判斷出你所講的【A打斷B】或【A不能打斷B】的真偽。
比如:你說【A打斷B】了,是憑什么認定的?
提供一下你認定的【打斷、未打斷】判定方法、思路。比如,在中斷服務程序中亮不同色的燈……。
亦或給出中斷程序。
所以,無法與你討論。
回復

使用道具 舉報

板凳
ID:397054 發表于 2023-11-10 16:44 | 只看該作者
你【現在的想法】是不對的,你的【實驗現象】是對的,這個實驗現象就是51系列單片機的中斷規則,而不是你【現在的想法】,即:“1、,,,,那么在同級優先級,,,低優先級可以被高優先級打斷;”——是不對的,不能被打斷,這是明確的,沒有異議,你的試驗也證明了這點。

我有一本書,這一內容說的很明了:51系列單片機的6個中斷源(51子系列只有5個,沒有定時計數器2)只分為兩個優先級,由用戶自由分配,低優先級可以被高優先級中斷,反之不能,同級中斷也不能互相中斷;你所說的“自然優先級”那不是《優先級》,而是指在同時申請中斷時被CPU響應的次序,當CPU正在執行中斷程序時如果有同級別的中斷申請,CPU不會立即響應要等處理完之后才會,這就是IRET指令的必要性,這個指令不同于RET。前幾天看到一哥們貼出了他的一個程序,是個電子表程序(作者聲稱非常精確)里面就有這類錯誤,他的中斷程序中有JMP類指令,目標地址下面肯定會碰到RET指令,這就不對了,之后的同級中斷肯定永遠也不會被執行的。所以你的原來的【現在的想法】是不對的,應該按照你的【實驗現象】去做,那才是正確的規則。
回復

使用道具 舉報

地板
ID:624769 發表于 2023-11-11 16:55 | 只看該作者
糾正你一個理解錯誤, 同為低優先級,或者同為高優先級, 外部中斷0 是不能打斷 外部中斷1的。
所謂的自然優先級,是STC的說法,正確的說法應當是,中斷檢索順序,即:當發生了中斷,單片機先看外部中斷0是不是有中斷請求,有則執行,沒有的話則看看定時器中斷0有沒有中斷請求,以此類推。只有多個中斷都排隊等待執行時,這個“自然優先級”才有意義。并不是說你在執行同等級中斷時能被“自然優先級”高于你的中斷打斷。
回復

使用道具 舉報

5#
ID:647261 發表于 2023-11-14 16:44 | 只看該作者
所謂的“自然優先級”其實只是查詢順序,不存在高低之分
優先級只有兩級——高優先級和低優先級
同級優先級的中斷,進入了一個中斷,就不能被其他中斷打斷
低優先級的中斷執行中,可以被高優先級的中斷打斷
回復

使用道具 舉報

6#
ID:1097455 發表于 2023-11-15 08:41 | 只看該作者
高中斷可以把低中斷打斷,結束高中斷在執行較低中端
回復

使用道具 舉報

7#
ID:401564 發表于 2023-11-15 22:56 | 只看該作者
中斷優先級和查詢順序是兩個不同的東西,在STC的單片機數據手冊中有描述的,認真看一下就能理解了
回復

使用道具 舉報

8#
ID:879348 發表于 2023-11-16 10:50 | 只看該作者
不存在打斷的問題,最多就是競爭,同時標記中斷,誰先誰后的問題
回復

使用道具 舉報

9#
ID:1091094 發表于 2023-11-18 11:35 | 只看該作者
鵜鶘 發表于 2023-11-10 16:44
你【現在的想法】是不對的,你的【實驗現象】是對的,這個實驗現象就是51系列單片機的中斷規則,而不是你【 ...

你說的這個,我好像也碰到過這種情況:
前幾天看到一哥們貼出了他的一個程序,是個電子表程序(作者聲稱非常精確)里面就有這類錯誤,他的中斷程序中有JMP類指令,目標地址下面肯定會碰到RET指令,這就不對了,之后的同級中斷肯定永遠也不會被執行的。
、、、、、、、、、、、、、、、、
不過你說的JMP類指令  和RET指令是什么啊?

、、、、、、、、、、、、、、
我碰到的情況是定時器中斷,而且時間很快,然后外部中斷就不起作用了,就是無論等多久都不會執行外部中斷的服務程序。   后來設置了中斷的優先級后就可以了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.夜夜操 | 午夜综合网 | 免费国产视频 | 黄色片视频在线观看 | 欧美黄色片视频 | 婷婷亚洲综合 | 久久亚洲免费视频 | 国产美女自拍视频 | 999精品视频| 伊人av影院 | 性视频网址 | 中文字幕免费在线观看 | 国内精品视频 | 欧美精品一区在线观看 | 毛片网页| 免费看黄色片 | 国产午夜av | 天天看天天干 | 四虎看片 | 丁香久久| 成人在线免费av | 中文字幕亚洲精品 | 亚洲视频一区在线观看 | 欧美日韩激情 | 国产日韩欧美日韩大片 | www.日韩| 亚洲国产精品久久久久 | 欧美伊人网 | 亚洲av毛片成人精品 | 欧美夜夜操 | 在线观看黄网站 | 深夜视频在线观看 | 国产一级视频在线观看 | 亚洲久草 | 日韩欧美精品一区 | 天天干天天草 | 特大黑人巨交吊性xxxx视频 | 欧美日韩精品一区二区在线播放 | 亚洲国产成人av | 亚洲成人毛片 | 一区二区三区免费 |