51单片机用软件延迟控制流水灯,灯从右到左依次亮,延迟2s,谁能给个程序呀,用汇编语言,谢谢呀,晶振11.0

一共8个LED灯
2024-11-25 09:12:23
推荐回答(1个)
回答1:

ORG 00H
JMP MAIN
ORG 30H
MAIN: MOV A,#0FFH ;设置左移初值
CLR C ;C=0
MOV R2,#08H ;设置左移次数
LOOP: RLC A ;左移1位
MOV P2,A ;输出到P2
CALL DELAY ;延时
DJNZ R2,LOOP ;左移7次
MOV R2,#07H ;
LOOP1: RRC A ;右移1位
MOV P2,A ;输出到P2
CALL DELAY ;
DJNZ R2,LOOP1 ;右移7次
JMP MAIN
DELAY: MOV R3,#20 ; 延时2s
D1: MOV R4,#200 ; 这里可以改变延时时间
D2: MOV R5,#250
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1
RET
END