找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3290|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)如果有兩個(gè)中斷服務(wù)使代碼重疊,這兩個(gè)都有用,該怎么解決。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:263267 發(fā)表于 2017-12-24 12:33 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
8黑幣
在51單片機(jī)里面如果有兩個(gè)中斷服務(wù)使代碼重疊,這兩個(gè)都有用,該怎么解決。我用的是ST89C52

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

使用道具 舉報(bào)

沙發(fā)
ID:164602 發(fā)表于 2017-12-24 19:45 | 只看該作者
中斷的執(zhí)行過程,大概是這樣的:(假設(shè)中斷1,中斷2,且中斷1優(yōu)先級(jí)高)
1、中斷1發(fā)生中斷了,執(zhí)行這個(gè)中斷服務(wù)程序。
2、在中斷1執(zhí)行服務(wù)程序期間,中斷2發(fā)生了,由于它的優(yōu)先級(jí)低,所以等待。
3、中斷1服務(wù)程序執(zhí)行完畢,返回中斷點(diǎn),再去執(zhí)行中斷2的服務(wù)程序。看到?jīng)],兩個(gè)中斷服務(wù)程序都執(zhí)行了的。
4、在中斷2服務(wù)程序執(zhí)行期間,中斷1又發(fā)生了,由于它的優(yōu)先級(jí)高,所以立即去執(zhí)行中斷1的服務(wù)程序,即中斷2的服務(wù)程序被打斷了。
5、當(dāng)中斷1的服務(wù)程序執(zhí)行完畢,回到中斷2的服務(wù)程序剛才打斷的點(diǎn),繼續(xù)執(zhí)行中斷2的服務(wù)程序。看到?jīng)],兩個(gè)中斷服務(wù)程序還是執(zhí)行了的。
6、中斷2服務(wù)程序執(zhí)行完畢,回到主程序剛才中斷2打斷的位置處,繼續(xù)執(zhí)行主程序。
不論兩個(gè)中斷服務(wù)程序是不是有代碼重復(fù),單片機(jī)CPU會(huì)自動(dòng)認(rèn)為是兩個(gè)函數(shù),自動(dòng)會(huì)按照一定的規(guī)則去執(zhí)行它們,你是不需要擔(dān)心的。
當(dāng)然,這種中斷嵌套,也是有麻煩的。套得太深(多次打斷中斷服務(wù)程序),有可能出現(xiàn)不可預(yù)料的結(jié)果。所以,通常不是很緊要的操作,都不設(shè)置優(yōu)先級(jí)。我只在給新手演示中斷可以嵌套這個(gè)時(shí)候用過優(yōu)先級(jí),在實(shí)際應(yīng)用中,只在智能小車用按鍵調(diào)速、選擇功能時(shí),讓按鍵的外部中斷優(yōu)先級(jí)高于用于PWM波的定時(shí)器中斷優(yōu)先級(jí)。

回復(fù)

使用道具 舉報(bào)

板凳
ID:151348 發(fā)表于 2017-12-24 22:05 | 只看該作者
說說中斷里要做什么事情
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表