用51单片机控制16个流水灯,依次左移点亮,。高分

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:48:38
用51单片机控制16个流水灯,依次左移点亮,。用汇编语言写

低电平点亮

START:MOV R0,#8
MOV R1,#8
SETB C
MOV A,#0FEH
MOV P1,A
S1:RLC A
CALL DELAY
MOV P1,A
DJNZ R0,S1
SETB C
MOV A,#0FEH
MOV P2,A
S2:RLC A
CALL DELAY
MOV P2,A
DJNZ R1,S2
AJMP START
DELAY:MOV R5,#0FFH //改变值变延时时间
LOOP2: MOV R4,#0FFH//改变值变延时时间
LOOP1:DJNZ R4,LOOP1
DJNZ R5,LOOP2
RET
END

^_^,太简单了
用P0,P2做输出口,高电平亮P0。0为最低位
MOV 30H,#00H;
MOV 31H,#01H

LP:
MOV P0,30H
MOV P2 31H
LCALL d_250
LCALL d_250
CLR C
MOV A,30H
RL A
JC LP1
MOV A,31H
JC LP2
JMP LP
LP1:MOV 31H,#01H
MOV 30H,#00H
JMP LP
LP2:MOV 30H,#01H
MOV 31H,#00H
JMP LP

d_250: mov r6,#250 ; 250 ms
sjmp dly
d_100: mov r6,#100 ; 100 ms
sjmp dly
d_50: mov r6,#50 ; 50 ms
sjmp dly
d_10: mov r6,#10 ; 10