找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機定時器中斷和外部中斷同時使用為什么一定要設置優(yōu)先級

[復制鏈接]
跳轉到指定樓層
樓主
ID:1091094 發(fā)表于 2023-9-11 09:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我在使用普中51單片機開發(fā)板,設置了定時器10us執(zhí)行一次PWM,還有外部中斷0的程序,不設置外部中斷為高優(yōu)先級的時候,
程序是按鍵沒有反應的。 加上優(yōu)先級就可以了按鍵控制三個擋位了,為什么?
不應該是即使沒有優(yōu)先級也可以執(zhí)行外部中斷的嗎?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2023-9-11 10:39 | 只看該作者
學會閱讀手冊。
當你不設置時,CPU默認一套優(yōu)先級。
當你設置時,按你設置的辦。
當默認優(yōu)先級滿足你的需求,就不需發(fā)設置了。
回復

使用道具 舉報

板凳
ID:213173 發(fā)表于 2023-9-11 12:57 | 只看該作者
你這不是中斷優(yōu)先級的問題,是中斷函數(shù)不合理的問題。你首先想想10us時間能執(zhí)行幾行代碼。
回復

使用道具 舉報

地板
ID:852274 發(fā)表于 2023-9-11 15:36 | 只看該作者
蛤?51什么時候需要設置中斷的優(yōu)先級了,不是都是默認的優(yōu)先級嘛?
回復

使用道具 舉報

5#
ID:647261 發(fā)表于 2023-9-11 15:52 | 只看該作者
51單片機的中斷規(guī)則:
不設置優(yōu)先級時,中斷源都是一個優(yōu)先級,規(guī)則如下:
1.哪個中斷先到,就先執(zhí)行哪個中斷。
2.中斷執(zhí)行過程中,不能被其他中斷打斷。
3.多個中斷同時到來時,按查詢號順序執(zhí)行。
查詢號順序:外部中斷0(P3.2腳)-> 定時器 0 -> 外部中斷1(P3.3腳) -> 定時器 1 -> 串口

假如按鍵是P3.2腳,定時器10us
要實現(xiàn)按鍵功能,就必須在10us的間隙中,完成按鍵下降沿的觸發(fā)動作,才能進入外部中斷
假如按鍵是P3.3腳,定時器是T0的話,難度就更大了,這個觸發(fā)動作還不能剛好和10us時間同時產(chǎn)生

當設置了優(yōu)先級后,中斷就分成了高優(yōu)先級和低優(yōu)先級兩種了,這時,規(guī)則多了一樣:
低優(yōu)先級的中斷執(zhí)行過程中,高優(yōu)先級中斷產(chǎn)生,可以打斷低優(yōu)先級中斷,實現(xiàn)中斷嵌套。


回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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