ORG
0000H
;上电复位,程序从0000H开始执行
START:
MOV
SP,#60H
;堆栈初始化为60H
MOV
DPTR,#LIU_TAB
;流水花样表首地址送DPTR
LOOP:
CLR
A
MOVC
A,@A+DPTR
CJNE
A,#0FFH,SHOW
;检查流水结束标志
AJMP
START
;所有花样流完,则从头开始重复流
SHOW:
MOV
P0,A
;将数据送到P0口
ACALL
DELAY
INC
DPTR
MOV
P2,A
;将数据送到P2口
ACALL
DELAY
INC
DPTR
MOV
P1,A
;将数据送到P1口
ACALL
DELAY
INC
DPTR
AJMP
LOOP
;----- 延时子程序 -----
DELAY:
MOV
R0,#255
;延时一段时间
D1:
MOV
R1,#255
DJNZ
R1,$
DJNZ
R0,D1
RET
;子程序返回
LIU_TAB:
DB
11111110B
;二进制表示的流水花样数据
DB
11111101B
DB
11111011B
DB
11110111B
DB
11101111B
DB
11011111B
DB
10111111B
DB
01111111B
DB
11111110B
DB
11111101B
DB
11111011B
DB
11110111B
DB
11101111B
DB
11011111B
DB
10111111B
DB
01111111B
DB
11111110B
DB
11111101B
DB
11111011B
DB
11110111B
DB
11101111B
DB
11011111B
DB
10111111B
DB
01111111B
;--------------------
DB
10111111B
DB
11011111B
DB
11101111B
DB
11110111B
DB
11111011B
DB
11111101B
DB
11111110B
DB
01111111B
DB
10111111B
DB
11011111B
DB
11101111B
DB
11110111B
DB
11111011B
DB
11111101B
DB
11111110B
DB
01111111B
DB
10111111B
DB
11011111B
DB
11101111B
DB
11110111B
DB
11111011B
DB
11111101B
DB
11111110B
DB
11111111B
;-------------------
DB
11111110B
DB
11111101B
DB
11111111B
DB
11110111B
DB
11101111B
DB
11011111B
DB
10111111B
DB
01111111B
DB
01111110B
DB
10111101B
DB
11011011B
DB
11100111B
DB
11100111B
DB
11011011B
DB
10111101B
DB
01111110B
DB
01111111B
DB
10111111B
DB
11011111B
DB
11101111B
DB
11110111B
DB
11111011B
DB
11111101B
DB
11111110B
DB 0FFH
;流水花样结束标志0FFH
END
;程序结束 |