本帖最后由 YYC7491 于 2021-5-8 01:42 编辑
我的本意是P0.1按下则退出中断,不按下就一直在低级中断循环,但是我用keil和Proteus联调后,一步一步运行,按下P0.1后,跳转到了CLR EA这句,我再点下一步,就突然跳到高级中断那句CLR RS0里面了,这个低级中断和高级中断的嵌套写的有问题吗? 按下P0.1 不是应该返回主程序么?
JB P0.1,JS1
LJMP SHUNCHANG
JS1:
CLR EA
POP PSW
POP ACC
SETB EA
RETI
ORG 0200H
Pint1:
PUSH ACC ;保护现场
PUSH PSW
SETB RS1 ;把工作寄存器区切换到2区,避免中断处理程序影响
;主程序和低优先级程序中工作寄存器R0-R7的内容
CLR RS0 |