写了一个51单片机的汇编程序,用keil调试没问题,但是proteus仿真的结果就不对,麻烦大家给哪错了
主要实现一个开关控制流水灯的左移和右移,开关闭合,流水灯左移;开关断开,流水灯右移。ORG0000HLJMPMAINORG0100HMAIN:MOVR7,#02HMOVA...
主要实现一个开关控制流水灯的左移和右移,开关闭合,流水灯左移;开关断开,流水灯右移。
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV R7,#02H
MOV A,#0FEH
MOV C,P3.0
MOV P1,A
S1: JC L1
RR A
MOV P1,A
LCALL DELAY
LJMP S1
L1:
RL A
MOV P1,A
LCALL DELAY
LJMP S1
SJMP $
DELAY:
MOV R6,#0FFH
D0:
MOV R5,#0FFH
DJNZ R5,$
DJNZ R6,D0
DJNZ R7,DELAY
RET
END 展开
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV R7,#02H
MOV A,#0FEH
MOV C,P3.0
MOV P1,A
S1: JC L1
RR A
MOV P1,A
LCALL DELAY
LJMP S1
L1:
RL A
MOV P1,A
LCALL DELAY
LJMP S1
SJMP $
DELAY:
MOV R6,#0FFH
D0:
MOV R5,#0FFH
DJNZ R5,$
DJNZ R6,D0
DJNZ R7,DELAY
RET
END 展开
1个回答
展开全部
ORG 0000H
MOV A, #127
S1: JB P3.0, L1
RR A
JMP S2
L1: RL A
S2: MOV P1, A
CALL DELAY
JMP S1
DELAY:
DJNZ R5, $
DJNZ R5, $
DJNZ R6, DELAY
RET
END
追问
谢谢!!!!!!!!!!
可不可以再问一句,我的程序到底哪里有问题?
追答
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV R7,#02H
MOV A,#0FEH
MOV C,P3.0--仅仅开始时,读了一次 P3.0
MOV P1,A
S1: JC L1---以后再判断,并没有读 P3.0
RR A
MOV P1,A
LCALL DELAY
LJMP S1---反复去判断
L1:
RL A
MOV P1,A
LCALL DELAY
LJMP S1---反复去判断
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询