本帖最后由 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 |