51单片机怎么修改中断优先级
发布网友
发布时间:2022-04-25 09:54
我来回答
共2个回答
热心网友
时间:2023-12-02 00:31
51有默认的中断优先级
在有中断标志时,mcu查询的顺序是:
外部中断0、定时器中断0、外部中断1、定时器中断1、串口中断。
这个不用设置几句可以实现你上述的功能的。当然,你要这样自行管理中断的优
先级也是好事,是编程的好习惯。
51本来就能嵌套两级中断,可以通过设置中断优先级寄存器ip设置为最高或者最
低优先级。
其实,只要了解了中断的原理,压实现中断嵌套式很简单的事情。
建议你多看看51的datasheet,学东西就不要怕不厌其烦,一定要多看datasheet
的习惯,就算是e文,也要习惯。
祝你有所收获。
热心网友
时间:2023-12-02 00:32
51单片机中断源总共有5个,即2个外部中断、2个定时/计数器中断、1个串行口中断。
没有时钟中断,你说的时钟中断是指定时器中断吧。
中断优先级的设定
主要是对中断优先级寄存器IP的设置,
其8位内容
如下:XXPT2
PS
PT1
PX1
PT0
PX0
其中PX0为外部中断0的优先级设定位,
PX1为外部中断1的优先级设定位,
PT0
PT1
为定时器的
优先级设定位,
设置
优先级设定位=1时,该优先级最高
为高级中断。
设置
优先级设定位=0时,该优先级最低
为低级中断。
同一级别的中断内部优先级顺序是
外部中断0最高
定时器0
外部中断1
定时器2
串行口最低
最简单的方法是,将你用到的外部中断设为高级中断,其它的中断设为低级中断。
可以在程序中
使用置1指令
SETB
PX0,将外部中断0设为高级中断。