📄 huayang.asm
字号:
;全部显示同一种颜色.....
DISALL:
MOV R7,#TIAOSHU
CLR CLK
CLR STP
DISALL1:
LCALL REDYS
DJNZ R7,DISALL1
SETB STP
NOP
CLR STP
RET
;读要显示的数据....
REDYS: MOV C,00H
MOV DAT,C
SETB CLK
CLR CLK
MOV C,01H
MOV DAT,C
SETB CLK
CLR CLK
MOV C,02H
MOV DAT,C
SETB CLK
CLR CLK
RET
;传送两个黑点...
REDAB: CLR DAT
SETB CLK
CLR CLK
CLR DAT
SETB CLK
CLR CLK
CLR DAT
SETB CLK
CLR CLK
RET
;读要显示的底色数据....
REDDS: MOV C,03H
MOV DAT,C
SETB CLK
CLR CLK
MOV C,04H
MOV DAT,C
SETB CLK
CLR CLK
MOV C,05H
MOV DAT,C
SETB CLK
CLR CLK
RET
RET
;读要显示的次数....
;保存在R4中...
REDTS: MOV A,#0
MOV C,06H
MOV ACC.0,C
MOV C,07H
MOV ACC.1,C
INC A
MOV R4,A
RET
;向左扫描....
DISXXXL:
LCALL REDTS
DISXXXL4:
MOV A,#TIAOSHU
MOV B,#4
DIV AB
INC A
MOV R7,A
MOV R5,#1
DISXXXL0:
MOV XSBF2,R7
MOV XSBF1,R5
CLR CLK
CLR STP
DISXXXL1:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF2,DISXXXL1
LCALL REDYS
LCALL REDYS
LCALL REDYS
LCALL REDYS
DJNZ XSBF1,DISXXXL3
AJMP DISXXXL2
DISXXXL3:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF1,DISXXXL3
DISXXXL2:
SETB STP
NOP
CLR STP
INC R5
LCALL DELAY_100MS
DJNZ R7,DISXXXL0
DJNZ R4,DISXXXL4
RET
;向中扫描....
DISXXXM:
LCALL REDTS
DISXXXM8:MOV A,#TIAOSHU
MOV B,#8
DIV AB
INC A
MOV R7,A
MOV R5,#1
DISXXXM0:
MOV XSBF2,R7
MOV XSBF1,R5
CLR CLK
CLR STP
DISXXXM1:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF2,DISXXXM1
LCALL REDYS
LCALL REDYS
LCALL REDYS
LCALL REDYS
DJNZ XSBF1,DISXXXM3
AJMP DISXXXM2
DISXXXM3:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF1,DISXXXM3
DISXXXM2:
MOV XSBF2,R5
MOV XSBF1,R7
AJMP DISXXXM7
DISXXXM4:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DISXXXM7:
DJNZ XSBF2,DISXXXM4
LCALL REDYS
LCALL REDYS
LCALL REDYS
LCALL REDYS
DJNZ XSBF1,DISXXXM5
AJMP DISXXXM6
DISXXXM5:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF1,DISXXXM5
DISXXXM6:
SETB STP
NOP
CLR STP
INC R5
LCALL DELAY_100MS
DJNZ R7,DISXXXM0
DJNZ R4,DISXXXM81
RET
DISXXXM81:AJMP DISXXXM8
;向外扫描....
DISXXXW:
LCALL REDTS
DISXXXW8:
MOV A,#TIAOSHU
MOV B,#8
DIV AB
ADD A,#1
MOV R7,A
MOV R5,#1
DISXXXW0:
MOV XSBF2,R5
MOV XSBF1,R7
CLR CLK
CLR STP
DISXXXW1:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF2,DISXXXW1
LCALL REDYS
LCALL REDYS
LCALL REDYS
LCALL REDYS
DJNZ XSBF1,DISXXXW3
AJMP DISXXXW2
DISXXXW3:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF1,DISXXXW3
DISXXXW2:
MOV XSBF2,R7
MOV XSBF1,R5
AJMP DISXXXW7
DISXXXW4:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DISXXXW7:
DJNZ XSBF2,DISXXXW4
LCALL REDYS
LCALL REDYS
LCALL REDYS
LCALL REDYS
DJNZ XSBF1,DISXXXW5
AJMP DISXXXW6
DISXXXW5:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF1,DISXXXW5
DISXXXW6:
SETB STP
NOP
CLR STP
INC R5
LCALL DELAY_100MS
DJNZ R7,DISXXXW0
DJNZ R4,DISXXXW81
RET
DISXXXW81:AJMP DISXXXW8
;向右扫描....
DISXXXR:
LCALL REDTS
DISXXXR4:
MOV A,#TIAOSHU
MOV B,#4
DIV AB
INC A
MOV R7,A
MOV R5,#1
DISXXXR0:
MOV XSBF2,R5
MOV XSBF1,R7
CLR CLK
CLR STP
DISXXXR1:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF2,DISXXXR1
LCALL REDYS
LCALL REDYS
LCALL REDYS
LCALL REDYS
DJNZ XSBF1,DISXXXR3
AJMP DISXXXR2
DISXXXR3:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF1,DISXXXR3
DISXXXR2:
SETB STP
NOP
CLR STP
INC R5
LCALL DELAY_100MS
DJNZ R7,DISXXXR0
DJNZ R4,DISXXXR4
RET
;向左累加....
DISADDL:
LCALL REDTS
DISADDL4:
MOV R7,#TIAOSHU
MOV R5,#1
DISADDL0:
MOV XSBF2,R7
MOV XSBF1,R5
CLR CLK
CLR STP
DISADDL1:
LCALL REDDS
DJNZ XSBF2,DISADDL1
LCALL REDYS
DJNZ XSBF1,DISADDL3
AJMP DISADDL2
DISADDL3:
LCALL REDYS
DJNZ XSBF1,DISADDL3
DISADDL2:
SETB STP
NOP
CLR STP
INC R5
LCALL DELAY_10MS
DJNZ R7,DISADDL0
DJNZ R4,DISADDL4
RET
;向右累加....
DISADDR:
LCALL REDTS
DISADDR4:
MOV R7,#TIAOSHU
MOV R5,#1
DISADDR0:
MOV XSBF2,R5
MOV XSBF1,R7
CLR CLK
CLR STP
DISADDR1:
LCALL REDDS
DJNZ XSBF2,DISADDR1
LCALL REDYS
DJNZ XSBF1,DISADDR3
AJMP DISADDR2
DISADDR3:
LCALL REDYS
DJNZ XSBF1,DISADDR3
DISADDR2:
SETB STP
NOP
CLR STP
INC R5
LCALL DELAY_10MS
DJNZ R7,DISADDR0
DJNZ R4,DISADDR4
RET
;七彩左移...
DISRGBL:
LCALL REDTS
MOV R5,CLOUR
DISRGBL4:
MOV CLOUR,R5
MOV R7,#tiaoshu
DISRGBL0:
LCALL REDDS
DJNZ R7,DISRGBL0
MOV CLOUR,#0
DISRGBL3:
LCALL REDYS
SETB STP
NOP
CLR STP
LCALL DELAY_100MS
DJNZ CLOUR,DISRGBL3
DJNZ R4,DISRGBL4
RET
;七彩左移4列...
DISRGB4L:
LCALL REDTS
MOV R5,CLOUR
DISRGB4L4:
MOV CLOUR,R5
MOV R7,#tiaoshu
DISRGB4L0:
LCALL REDDS
DJNZ R7,DISRGB4L0
MOV CLOUR,#120
DISRGB4L3:
LCALL REDYS
SETB STP
NOP
CLR STP
LCALL DELAY_50MS
LCALL REDAB
SETB STP
NOP
CLR STP
LCALL DELAY_50MS
LCALL REDAB
SETB STP
NOP
CLR STP
LCALL DELAY_50MS
DJNZ CLOUR,DISRGB4L3
DJNZ R4,DISRGB4L4
RET
;向左堆积木....
DISDJML:
LCALL REDTS
DISDJML4:
MOV R7,#16
DEC R7
MOV R5,#1
DISDJML0:
MOV XSBF2,R7
MOV XSBF3,R7
MOV R6,XSBF3
MOV R3,#1
DISDJML2:
MOV XSBF4,R3
MOV XSBF3,R6
MOV XSBF1,R5
CLR CLK
CLR STP
DJNZ XSBF4,DISDJML1
AJMP DISDJML6
DISDJML1:
LCALL REDDS
DJNZ XSBF4,DISDJML1
DISDJML6:
LCALL REDYS
DJNZ XSBF3,DISDJML5
AJMP DISDJML3
DISDJML5:
LCALL REDDS
DJNZ XSBF3,DISDJML5
DISDJML3:
LCALL REDYS
DJNZ XSBF1,DISDJML3
SETB STP
NOP
CLR STP
INC R3
LCALL DELAY_50MS
DJNZ R6,DISDJML2
INC R5
DJNZ R7,DISDJML0
DJNZ R4,DISDJML4
RET
;向左堆积木4列....
DISDJM4L:
LCALL REDTS
DISDJM4L4:
MOV A,#TIAOSHU
MOV B,#4
DIV AB
MOV R7,A
MOV R5,#1
DISDJM4L0:
MOV XSBF2,R7
MOV XSBF3,R7
MOV R6,XSBF3
MOV R3,#1
DISDJM4L2:
MOV XSBF4,R3
MOV XSBF3,R6
MOV XSBF1,R5
CLR CLK
CLR STP
DJNZ XSBF4,DISDJM4L1
AJMP DISDJM4L6
DISDJM4L1:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF4,DISDJM4L1
DISDJM4L6:
LCALL REDYS
LCALL REDYS
LCALL REDYS
LCALL REDYS
DJNZ XSBF3,DISDJM4L5
AJMP DISDJM4L3
DISDJM4L5:
LCALL REDDS
LCALL REDDS
LCALL REDDS
LCALL REDDS
DJNZ XSBF3,DISDJM4L5
DISDJM4L3:
LCALL REDYS
LCALL REDYS
LCALL REDYS
LCALL REDYS
DJNZ XSBF1,DISDJM4L3
SETB STP
NOP
CLR STP
INC R3
LCALL DELAY_50MS
DJNZ R6,DISDJM4L2
INC R5
DJNZ R7,DISDJM4L0
DJNZ R4,DISDJM4L4
RET
;8列扫描...
DIS8R: MOV A,TIAOSHU
MOV B,#8
DIV AB
INC A
MOV R7,A
DIS8R1: LCALL REDDS
DJNZ R7,DIS8R1
MOV R7,TIAOSHU
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -