标题:
AT89C51单片机最小中断程序出错
[打印本页]
作者:
零子丰1
时间:
2015-3-31 09:47
标题:
AT89C51单片机最小中断程序出错
KEIL软件中,尝试在中断0处理程序中加一个堆栈指令,就会出错,程序如下,执行中断后,SP会指向AJMP MAIN;不知道为何出现这种情况。
ORG 0000H
AJMP MAIN;
ORG 0003H
AJMP INT0_REN;
ORG 0030H
MAIN:
SETB IT0;
SETB EX0;
SETB EA;
MAIN1:
NOP;
LCALL DELAY;
NOP;
NOP;
NOP;
NOP;
LCALL DELAY;
AJMP MAIN1;
INT0_REN:
CLR EA;
; MOV SP,#0X001C;
MOV SP,#0X68;
PUSH ACC;
NOP;
NOP;
NOP;
NOP;
POP ACC;
SETB EA;
RETI;
DELAY:
NOP;
NOP;
NOP;
RET;
END;
作者:
零子丰1
时间:
2015-3-31 12:02
去掉SP指令即可
作者:
ahshmj
时间:
2015-3-31 22:49
栈底哪能是可以在程序中间随便改的!
“ MOV SP,#0X68;”
作者:
526336167
时间:
2015-4-1 08:57
程序问题太多,一开始就进入了死循环
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1