51单片机 汇编语言的问题
一般情况下正常显示,东西-南北交替放行,各方向通行时间为30秒。有救护车或警车到达时,两个方向交通信号灯全为红色,以便让急救车或警车通过,设通行时间为10秒,之后交通恢复...
一般情况下正常显示,东西-南北交替放行,各方向通行时间为30秒。有救护车或警车到达时,两个方向交通信号灯全为红色,以便让急救车或警车通过,设通行时间为10秒,之后交通恢复正常。用单次脉冲模拟急救车或警车申请外部中断。我的程序在第一次执行完中断之后会返回0000H处,不知道为什么,求指点 ORG 0000H AJMP MAIN ORG 0003H LJMP RED_INT ORG 0100HMAIN: SETB IT0 SETB EA SETB EX0 MOV A,#00HDELAY30: ;先亮27秒绿灯,再亮3秒黄灯 MOV R5,A MOV R3,#3 ;红绿灯十位 MOV R4,#0 ;红绿灯个位LP22: MOV DPTR,#LIGHT MOV A,R5 MOVC A,@A+DPTR MOV P1,ALP20: MOV DPTR,#TAB MOV A,R4 MOVC A,@A+DPTR MOV P0,A MOV A,R3 MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 DEC R4 CJNE R4,#0FFH,LP21 MOV R4,#9 DEC R3 CJNE R3,#0FFH,LP20 INC R5 MOV A,R5 CJNE A,#4,DELAY30 MOV A,#00H LJMP DELAY30LP21: CJNE R4,#3,LP20 CJNE R3,#0,LP20 INC R5 LJMP LP22DELAY1: ;1S延时子程序 MOV R0,#10 MOV TMOD,#01HLP10: MOV TH0,#03CH MOV TL0,#0B0H SETB TR0LP12: JBC TF0,LP11 AJMP LP12LP11: DJNZ R0,LP10 CLR TR0 RETRED_INT: ;中断子程序 MOV SP,#60H PUSH PSW PUSH ACC PUSH 03H PUSH 04H PUSH 05H PUSH DPL PUSH DPH MOV 06H,P0 PUSH 06H MOV 06H,P1 PUSH 06H MOV 06H,P2 PUSH 06H CLR IE0 MOV A,#09H MOV P1,A MOV R3,#1 MOV R4,#0LPI1: MOV DPTR,#TAB MOV A,R4 MOVC A,@A+DPTR MOV P0,A MOV A,R3 MOVC A,@A+DPTR MOV P2,A LCALL DELAY1 DEC R4 CJNE R4,#0FFH,LPI1 MOV R4,#9 DEC R3 CJNE R3,#0FFH,LPI1 POP 06H MOV P2,06H POP 06H MOV P1,06H POP 06H MOV P0,06H POP DPH POP DPL POP 05H POP 04H POP 03H POP ACC POP PSW RETI TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH LIGHT: DB 11H,21H,0AH,0CH ;南北绿东西红,南北黄东西红,东西绿南北红,东西黄南北红END
展开
1个回答
意法半导体(中国)投资有限公司
2023-06-12
展开全部
展开全部
RED_INT: ;中断子程序
MOV SP,#60H----!!!
PUSH PSW
PUSH ACC
... ...
你在中断程序中,修改了堆栈指针?
返回的地址,就被破坏了。
------------------
MOV SP,#60H--应该放在主程序
以后,任何时候,都不要更改 SP。
MOV SP,#60H----!!!
PUSH PSW
PUSH ACC
... ...
你在中断程序中,修改了堆栈指针?
返回的地址,就被破坏了。
------------------
MOV SP,#60H--应该放在主程序
以后,任何时候,都不要更改 SP。
追问
谢谢 我按您的说法把SP放在主程序中之后,仿真时中断结束之后就卡在那不动了,LED显示不正常是为什么
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机是一种集成电路芯片。又称单片微控制器,是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。一块芯片就成了一台计算机。特点是体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
单...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询