标题:
51单片机定时器中断和外部中断同时使用为什么一定要设置优先级
[打印本页]
作者:
3038838599
时间:
2023-9-11 09:03
标题:
51单片机定时器中断和外部中断同时使用为什么一定要设置优先级
我在使用普中51单片机开发板,设置了定时器10us执行一次PWM,还有外部中断0的程序,不设置外部中断为高优先级的时候,
程序是按键没有反应的。 加上优先级就可以了按键控制三个挡位了,为什么?
不应该是即使没有优先级也可以执行外部中断的吗?
作者:
yzwzfyz
时间:
2023-9-11 10:39
学会阅读手册。
当你不设置时,CPU默认一套优先级。
当你设置时,按你设置的办。
当默认优先级满足你的需求,就不需发设置了。
作者:
wulin
时间:
2023-9-11 12:57
你这不是中断优先级的问题,是中断函数不合理的问题。你首先想想10us时间能执行几行代码。
作者:
po99887713
时间:
2023-9-11 15:36
蛤?51什么时候需要设置中断的优先级了,不是都是默认的优先级嘛?
作者:
sttt300
时间:
2023-9-11 15:52
51单片机的中断规则:
不设置优先级时,中断源都是一个优先级,规则如下:
1.哪个中断先到,就先执行哪个中断。
2.中断执行过程中,不能被其他中断打断。
3.多个中断同时到来时,按查询号顺序执行。
查询号顺序:外部中断0(P3.2脚)-> 定时器 0 -> 外部中断1(P3.3脚) -> 定时器 1 -> 串口
假如按键是P3.2脚,定时器10us
要实现按键功能,就必须在10us的间隙中,完成按键下降沿的触发动作,才能进入外部中断
假如按键是P3.3脚,定时器是T0的话,难度就更大了,这个触发动作还不能刚好和10us时间同时产生
当设置了优先级后,中断就分成了高优先级和低优先级两种了,这时,规则多了一样:
低优先级的中断执行过程中,高优先级中断产生,可以打断低优先级中断,实现中断嵌套。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1