ORG 00H
JMP MAIN
ORG 30H
MAIN: MOV A,#0FFH ;设置左移初值
CLR C ;C=0
MOV R2,#08H ;设置左移次数
LOOP: RLC A ;左移1位
MOV P1,A ;输出到P1
CALL DELAY ;延时
DJNZ R2,LOOP ;左移7次
MOV R2,#07H ;
LOOP1: RRC A ;右移1位
MOV P1,A ;输出到P1
CALL DELAY ;
DJNZ R2,LOOP1 ;右移7次
JMP MAIN
DELAY: MOV R3,#20 ;延时0.2s
D1: MOV R4,#20
D2: MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1
RET
END
发光二极管循环点亮
八只发光二极管左循环点亮一次、然后右循环点亮一次。
循环。
仿真试验成功。
;
;
; LED单灯跑动
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH
MOV R0,#9 ;循环九次,8个灯亮及1次灯全灭
START:
MOV P0,A ;输出到P0口连接的 LED灯上
SETB C ;置进位C
RLC A ;带进位左移
CALL DELAY ;延时一段时间
DJNZ R0,START ;反复循环
AJMP MAIN ;重新开始
;延时子程序
DELAY:
MOV R1,#15
D1: MOV R2,#100
D2: MOV R3,#100
DJNZ R3,$
DJNZ R2,D2
DJNZ R1,D1
RET
END
自己改改吧,不会的话,再说。