| 中断缺少RETI |
|
你的程序有不少的问题。首先外部中断0需要设置工作方式,下跳沿触发?低电平触发?其次你是用的是51系列的,还是52系列的?如果是51系列的,栈底就不能设置到80H。 最重要的是中断程序里面的控制流程的语句: CJNE A,#0,LL ,程序里面的 acc 不可能为 “0”,所以跳不出循环,就一直执行不完中断程序。 你按下面的改,试一试。 JINGJI: PUSH P1 PUSH ACC PUSH P0 PUSH P2 push 04 MOV R4,#10 MOV P0,#0C0H MOV P2,#0C0H MOV P1,#0EEH LL: ; MOV A,R4 DIV AB MOV DPTR,#TAB MOVC A,@A+DPTR MOV P2,A MOV A,B MOVC A,@A+DPTR MOV P0,A MOV B,#10 ACALL YANSHI djnz r4, ll ; DEC R4 ; CJNE A,#0,LL pop 04 POP P2 POP P0 POP ACC POP P1 RETI |