用单片机控制流水灯(16个),程序生成没有问题,但应用到电路中却不输出信息,请仁兄们帮忙。谢谢!
程序: ORG 0000H
LOOP4: CLR C
MOV R0,#0FFH
LP1: MOV A,R0
RRC A
MOV P0,A
LCALL YAN
JC LP1
JNC LOOP1
LOOP1: CLR C
MOV R1,#0FFH
LP2: MOV A,R1
RRC A
MOV P2,A
LCALL YAN
JC LP2
JNC LOOP2
LOOP2: CLR C
MOV R2,#0FFH
LP3: MOV A,R2
RLC A
MOV P2,A
LCALL YAN
JC LP3
JNC LOOP3
LOOP3: CLR C
MOV R3,#0FFH
LP4: MOV A,R3
RLC A
MOV P0,A
LCALL YAN
JC LP4
JNC LOOP4
YAN: MOV R5 ,#100
Y1: MOV R6,#248
DJNZ R6,$
DJNZ R5,Y1
RET
ORG 0000H
LOOP4: CLR C
MOV R0,#0FFH
LP1: MOV A,R0
RRC A
MOV P0,A
LCALL YAN
JC LP1
JNC LOOP1
LOOP1: CLR C
MOV R1,#0FFH
LP2: MOV A,R1
RRC A
MOV P2,A
LCALL YAN
JC LP2
JNC LOOP2
LOOP2: CLR C
MOV R2,#0FFH
LP3: MOV A,R2
RLC A
MOV P2,A
LCALL YAN
JC LP3
JNC LOOP3
LOOP3: CLR C
MOV R3,#0FFH
LP4: MOV A,R3
RLC A
MOV P0,A
LCALL YAN
JC LP4
JNC LOOP4
YAN: MOV R5 ,#100
Y1: MOV R6,#248
DJNZ R6,$
DJNZ R5,Y1
RET
END
试了一下编译通不过,给你一个程序吧,左右移动流水程序,
ORG 0000H
JMP MAIN
ORG 0030H
;************************************************
MAIN:
MOV A,#0FEH ;赋初始值
LOOP:
MOV R0,#07H ;移动次数
LOOPL:
MOV P2,A
MOV P0,A
RL A ;左移
CALL DELAY
DJNZ R0,LOOPL
MOV R0,#07H ;移动次数
LOOPR:
MOV P0,A
MOV P2,A
RR A ;右移
CALL DELAY
DJNZ R0,LOOPR
JMP LOOP
;************************************************
DELAY:
MOV R6,#0FFH
DEL:
MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,DEL
RET
;************************************************
END