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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機為什么保護現場前要關CPU中斷?

[復制鏈接]
跳轉到指定樓層
樓主
ID:50910 發表于 2021-11-12 09:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在李朝青所編《單片機原理及接口技術》P113頁講到,中斷服務子程序中在保護現場和恢復現場前應關中斷,完成后再開中斷。為什么呢?
我個人認為,在保護現場和恢復現場的中間,即使被更高一級的中斷打斷,因為在這更高一級的中斷中也有保護現場和恢復現場的操作,它不會改變上一次中斷的現場數據,為什么還要關中斷呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:624769 發表于 2021-11-12 12:22 | 只看該作者
這本書沒看過, “中斷服務子程序中在保護現場和恢復現場前應關中斷” 中的  中斷子程序 是 中斷程序本身? 還是 中斷程序 另外 調用的子程序?   其中舉例用的單片機,又是什么單片機?  編程的語言 又是什么?

如果 51 單片機  用 KEIL C 編程的話,  那么,在中斷響應后,“保護現場” 之前, 你是沒有任何手段去 關閉中斷的。  如果匯編編程的話,  雖然可以在 “保護現場” 之前 關中斷,但是 只要這個“現場”不牽涉到  DPTR , 是沒有必要關中斷的。 只有 姚老板的 STC15 系列的 11年~13年的部分產品(具體就不點名了),才會需要 關中斷。不然會跑飛。
回復

使用道具 舉報

板凳
ID:429003 發表于 2021-11-12 12:59 | 只看該作者
發生中斷保護現場的過程,CPU需要執行多步操作(有多個寄存器需要入棧保存),無法在一個指令周期完成全部入棧操作。CPU執行這個過程時不能被高優先級中斷打斷,否則現場被破壞程序會跑飛。
回復

使用道具 舉報

地板
ID:401564 發表于 2021-11-12 14:28 | 只看該作者
現場保護:主要是把一些會有可能會被中斷內部改變,或者是中斷內部在使用到的數據保存起來,比如8051的CY(C標志位),這個CY在8051的很多計算中都要用到,如果在主程序中用到,在中斷中也要用到,那么,如果不保存起來,中斷中改變了CY,等到中斷返回之后,主程序中的計算就會出錯

恢復現場:就是把保存的數據恢復

至于執行中斷時要關閉中斷,在8051中是沒有必要的,因為8051是軟件堆棧.
除非你中斷設計得非常不合理,比如:定時器2需要1秒時間來完成中斷操作,但你又開啟了定時器1,10mS中斷時間,定時器1的中斷等級設定成比定時器2高,這樣一來,在執行定時器2中斷的時候,它就會不斷的被定時器1中斷打斷,整個的定時器2中斷時間可能很長,有時候程序都跑不動

對于其它的一般只有幾層的硬件堆棧單片機來說,就要關閉中斷,不然就會溢出,程序就跑飛了
回復

使用道具 舉報

5#
ID:57657 發表于 2021-11-12 20:09 | 只看該作者
xstong 發表于 2021-11-12 12:59
發生中斷保護現場的過程,CPU需要執行多步操作(有多個寄存器需要入棧保存),無法在一個指令周期完成全部 ...

多級中斷嵌套,只要堆棧順序正確是是不會跑飛的,除非堆棧溢出或數組越界,指針錯誤等。
回復

使用道具 舉報

6#
ID:50910 發表于 2021-11-13 10:22 | 只看該作者
188610329 發表于 2021-11-12 12:22
這本書沒看過, “中斷服務子程序中在保護現場和恢復現場前應關中斷” 中的  中斷子程序 是 中斷程序本身? ...

回答:1、是中斷程序本身。2、8051單片機。3、匯編語言。
回復

使用道具 舉報

7#
ID:980554 發表于 2021-11-13 11:16 | 只看該作者
設置 9 個按鍵,每個按鍵遞進 10%,剛好
晶振選用11.0592,串口波特率一般采用9600
定時器內設置一個變量,用于控制占空比
回復

使用道具 舉報

8#
ID:624769 發表于 2021-11-13 11:19 | 只看該作者
brucekang 發表于 2021-11-13 10:22
回答:1、是中斷程序本身。2、8051單片機。3、匯編語言。

基于這個3個限定,結論是:

的確能在 中斷程序保護現場前,關中斷,但是,事實和你理解的一樣,毫無必要, 需要在保護現場前關中斷,只有2個可能。
1)單片機本身缺陷,目前只在姚老板的特定幾個版本單片機上遇到過,其他牌子可以忽略這個問題。
2)編程者自身能力問題,無法“完美”的保護現場,還可能會破壞現場。(可能你看得這本書的作者屬于這個情況。)
回復

使用道具 舉報

9#
ID:420836 發表于 2021-11-15 09:01 | 只看該作者
在中斷保護堆棧保存過程中,不得中斷該過程。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品99久久久久久久久久久久 | 美女一级a毛片免费观看97 | 91av在线影院 | 中文字幕亚洲欧美日韩在线不卡 | 亚洲国产视频一区二区 | 欧美激情欧美激情在线五月 | 亚洲免费人成在线视频观看 | 日本中文在线 | 中文字幕 在线观看 | 日韩男人天堂 | 伊人狠狠| 日本三级在线网站 | 四色永久| 久综合 | 黄色国产在线播放 | 国内精品久久久久 | 国产午夜精品一区二区三区四区 | 久久久国产精品 | 有码在线| 欧美a区 | 久久久久久成人 | 久久久久91 | 不卡欧美 | 最近中文字幕第一页 | 欧美极品在线播放 | 国产精品九九九 | 久久精品免费一区二区三 | 视频在线一区二区 | 国产日韩欧美一区 | 欧美黑人一区 | www国产成人免费观看视频,深夜成人网 | 青草青草久热精品视频在线观看 | 久久综合久久久 | 亚洲精品影院 | 国内成人免费视频 | 精品亚洲一区二区 | 欧美日韩在线一区二区 | 精品九九 | 欧美不卡一区二区三区 | 中文字幕免费 | 亚洲成av人片在线观看 |