找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3451|回復: 2
收起左側

單片機如果有兩個中斷服務使代碼重疊,這兩個都有用,該怎么解決。

[復制鏈接]
ID:263267 發(fā)表于 2017-12-24 12:33 | 顯示全部樓層 |閱讀模式
8黑幣
在51單片機里面如果有兩個中斷服務使代碼重疊,這兩個都有用,該怎么解決。我用的是ST89C52

回復

使用道具 舉報

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

回復

使用道具 舉報

ID:151348 發(fā)表于 2017-12-24 22:05 | 顯示全部樓層
說說中斷里要做什么事情
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表