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

標題: 關于51單片機中斷的理解 [打印本頁]

作者: 3038838599    時間: 2023-11-20 20:06
標題: 關于51單片機中斷的理解
  我使用的是STC89C51RC單片機,在芯片手冊中關于中斷處理是這么介紹的:
  6.4 中斷處理
    當某中斷產生而且被CPU響應,主程序被中斷,接下來將執(zhí)行如下操作:
   1. 當前正被執(zhí)行的指令全部執(zhí)行完畢;
   2. PC值被壓入棧;
   3. 現場保護;
   4. 阻止同級別其他中斷;
   5. 將中斷向量地址裝載到程序計數器PC;
   6. 執(zhí)行相應的中斷服務程序。
   中斷服務程序ISR完成和該中斷相應的一些操作。ISR以RETI(中斷返回)指令結束,
將PC值從棧中取回,并恢復原來的中斷設置,之后從主程序的斷點處繼續(xù)執(zhí)行。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
  而且我在開發(fā)板上試驗,在沒有設置中斷優(yōu)先級的情況下,當正在執(zhí)行一個中斷服務程序時,有即使外部有中斷信號來,
也一樣會被忽略。
  所以是不是51中斷的機制就是這樣子的,而且跟它的芯片手冊的介紹也對的上。  是不是其他內核的單片機的中斷也是這樣子的?



作者: csmyldl    時間: 2023-11-22 00:29
中斷優(yōu)先級只有2級,只有當低優(yōu)先級的中斷設置優(yōu)先時,才能中斷高優(yōu)先級的中斷,如果均不設置優(yōu)先級,按自然優(yōu)先處理(中斷編號小的優(yōu)先級高)
作者: wufa1986    時間: 2023-11-22 08:09
一般應用默認中斷就行了,最關鍵的不要在中斷里運行輔助函數
作者: yzwzfyz    時間: 2023-11-22 09:25
【在沒有設置中斷優(yōu)先級的情況下】
無論你設置與否,它都是存在的,你不設置,它取默認值。
作者: 3038838599    時間: 2023-11-22 11:42
yzwzfyz 發(fā)表于 2023-11-22 09:25
【在沒有設置中斷優(yōu)先級的情況下】
無論你設置與否,它都是存在的,你不設置,它取默認值。

我覺得默認的優(yōu)先級是指同時接收到多個中斷時,應該執(zhí)行哪個中斷。不被執(zhí)行的中斷就被舍棄。
  而且在不設置優(yōu)先級的情況下,正在執(zhí)行中斷服務函數時,有中斷信號產生都是無效的。
  起碼,在STC的51單片機上是這樣子的。

作者: wenwu2013    時間: 2023-11-22 13:40
51自定義中斷優(yōu)先級是:INT0-T0-INT1-T0-ES
作者: wenwu2013    時間: 2023-11-22 13:42
3038838599 發(fā)表于 2023-11-22 11:42
我覺得默認的優(yōu)先級是指同時接收到多個中斷時,應該執(zhí)行哪個中斷。不被執(zhí)行的中斷就被舍棄。
  而且在不 ...

不會舍棄,高的執(zhí)行了在執(zhí)行下一級
作者: sttt300    時間: 2023-11-22 14:35
我看到這個問題在論壇上討論過很多很多次了,怎么還有人搞不清楚
51的優(yōu)先級只有2個,分別是高優(yōu)先級和低優(yōu)先級
高優(yōu)先級中斷可以打斷低優(yōu)先級中斷,執(zhí)行完后再回到低優(yōu)先級中斷
相同優(yōu)先級的中斷不能相互打斷,也沒有先后順序之分
不設置優(yōu)先級就只有查詢順序,這個順序僅在有中斷同時觸發(fā)時,順序號小的先執(zhí)行
所以2樓說的“中斷編號小的優(yōu)先級高”,4樓說的“無論你設置與否,它都是存在的”,6樓說的“
51自定義中斷優(yōu)先級是:INT0-T0-INT1-T0-ES”,7樓說的,都是錯誤的,你的理解是對的
作者: 3038838599    時間: 2023-11-22 16:36
sttt300 發(fā)表于 2023-11-22 14:35
我看到這個問題在論壇上討論過很多很多次了,怎么還有人搞不清楚
51的優(yōu)先級只有2個,分別是高優(yōu)先級和低 ...

其實我也是看到論壇上的回答,感覺不怎么正確,所以就自己再通過開發(fā)板求證的。
可能AT89C51的優(yōu)先級只有兩個,但是在STC89c51rc這個型號上,中斷優(yōu)先級是有四個的。
作者: Hephaestus    時間: 2023-11-22 20:56
樓主位帖子的理解最大問題是“忽略”這兩個字。

事實是不可能被忽略,只會被掛起pending

中斷執(zhí)行過程中,同等級中斷不會立刻響應,但是會被掛起。

中斷執(zhí)行完畢,同等級中斷就會執(zhí)行。
作者: yzwzfyz    時間: 2023-11-23 10:53
舉例說明下,中斷何時會被丟棄與不會被丟棄:
假設正在執(zhí)行INT0中斷服務程序中,程序執(zhí)行時間很長,還未結束(遇RETI指令視為結束!)
而外設正通過串口向CPU發(fā)送數據1,2,3,4……
這時收到發(fā)來了【1】,RI被置位,由于INT0未結束,而串口無法響應中斷;
須臾【2】又收到了,RI再次置位,不過RI原本已是1,置位也是白置,SBUF中的【1】,被【2】擠掉了。
這時INT0結束了,RI=1的申請被執(zhí)行,于是轉串口中斷服務,也就收到了【2】,這樣【1】就丟失了。
這時【3】又發(fā)來了,RI又被硬件置1。由于程序寫的很糟糕,應在開始就清RI,結果,在中斷服務程序結束前才清RI。這樣【3】也丟了。
然后【4】來了,當然就收到了。

【關鍵點】記。
1、每個中斷源有一個IF標記,中斷源動作(起效)時,IF被硬件置1,但它只是【申請】中斷,是否被被批準【響應】,還取決于其它條件(被允許、已打開、無更高、同級在執(zhí)行、CPU當前指令執(zhí)行完畢……)。
2、由于一個中斷源只有一個標記IF,會出現以下三種情況:
2.1、中斷源動作了,IF被置1,但未被響應(如串口收到【1】未被響應),又來了N次動作(如串口又陸續(xù)收到【2】……【N】),那么只有中斷響應前的一個【N】會被收到,在N之前的全部丟失。
2.2、中斷響應后IF未被清除保持1,在中斷服務退出后,會再次進入中斷。也即數據【1】被無限次當作串入的數據。
所以必須及時清除中斷標記IF。提示:注意看手冊,有的IF在中斷響應后會由硬件自動清除。
2.3、中斷源動作讓IF=1,在未被響應之前,誤將IF清成0,則中斷申請取消,無法響應,即丟失。這在共用一個中斷入口的中斷源中時易發(fā)生。
例如,串行中斷服務程序:先看了TI=0無發(fā)送中斷,于是轉至查看RI=1,就在處理接收數據過程中,TI變1了、之后服務程序也結束了,不過程序寫的比較差,在退出中斷前,才清除了RI、TI。這樣就丟失了一個TI。


作者: cdeda    時間: 2023-11-23 16:12
標準51只有一個中斷優(yōu)先級管理的寄存器IP,只有兩級,默認都是0(低優(yōu)先級),你沒有設置,也即都是低優(yōu)先級,此時只有與硬件相關的所謂自然優(yōu)先級(但與IP決定的高低可嵌套中斷響應的優(yōu)先級不同,只是多個中斷同時發(fā)生的情況下先響應哪個中斷,也叫查詢順序,不可以嵌套中斷響應,CPU響應一個中斷后,其他的都得等待,相當于排隊)。對于宏晶的單片機說實話有點亂,看看網站內容及Datasheet就可窺見一斑。按照手冊說明(如果描述內容屬實),它增設了一個IPH寄存器,跟IP一樣,也是其中一位對應某一個中斷源,從而構成四級中斷優(yōu)先級,但默認值都為0,跟沒有增設是一樣的。不同的單片機的架構是不一樣的,支持的中斷工作機制也不同,比如ARM的中斷管理。😄
作者: cdeda    時間: 2023-11-23 16:15
3038838599 發(fā)表于 2023-11-22 16:36
其實我也是看到論壇上的回答,感覺不怎么正確,所以就自己再通過開發(fā)板求證的。
可能AT89C51的優(yōu)先級只 ...

不管它有多少級優(yōu)先級,你沒設置跟沒有是一樣的。除非你設置為不同的優(yōu)先級才能測試中中斷優(yōu)先級帶來的中斷嵌套效果!😄




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久www| 99精品国产一区二区青青牛奶 | 久久久久一区 | 日韩在线精品视频 | 国产高清免费视频 | 中文字幕亚洲欧美 | 国产 日韩 欧美 在线 | 精品国产乱码久久久久久丨区2区 | 国产在视频一区二区三区吞精 | 亚洲日本乱码在线观看 | 99re视频在线免费观看 | 亚洲综合大片69999 | 国产精品久久欧美久久一区 | 精品一区二区三区视频在线观看 | 日本三级在线 | 欧美中文字幕一区二区三区 | 国产精品久久国产精品久久 | 精品一区二区电影 | 国产欧美一区二区三区在线播放 | 在线一区二区三区 | 日日日日日日bbbbb视频 | 精品久久香蕉国产线看观看亚洲 | 视频一区二区中文字幕日韩 | www.4虎影院 国产999精品久久久影片官网 | 色天堂影院 | 欧美日韩大片 | 国产精品久久久久久吹潮 | 99精品久久久久 | 美日韩免费视频 | 国产精品日韩欧美一区二区三区 | 国产在线精品一区二区三区 | 国产日韩欧美一区二区在线播放 | 一区二区免费在线观看 | 福利视频一区二区三区 | 黄色一级大片在线免费看产 | 精品欧美一区二区三区久久久 | 国产日韩欧美激情 | 亚洲综合在线视频 | 亚洲国产情侣 | 日韩免费av | 久久久久国产 |