⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 huayang.asm

📁 基于51单片机,利用C语言开发的LED护栏源程序代码??1单片机,利用C语言开发的LED护栏源程序代码
💻 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 + -