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

📄 zhb.asm

📁 LED控制器资料,可实现渐变跳变,自动模式,是用汇编文件制作的
💻 ASM
字号:
;目的:摇控控制器
;芯片:89C2051
;制做时间:09/21
BDA		BIT		P1.2
GDA		BIT		P1.1
RDA		BIT		P1.0

SDA		BIT		P1.6
SCL		BIT		P1.5
LED		BIT		P1.7

AUTO	BIT		P3.2
UP		BIT		P3.3
DOWN	BIT		P3.4
SWITCH	BIT		P3.5

BUSY	BIT		25H.0
AUTOS	BIT		25H.1
UPS		BIT		25H.2
DOWNS	BIT		25H.3
SWITCHS	BIT		25H.4
POWER	BIT		25H.5
SHAN	BIT		25H.6
KEYB	BIT		25H.7

DATAT	DATA	31H
JBDT1	DATA	32H
JBDT2	DATA	33H
JBDT3	DATA	34H
TEMP1	DATA	35H
TEMP2	DATA	36H
TEMP3	DATA	37H
TIME1	DATA	38H
TIME2	DATA	39H
TIME3	DATA	3FH
TIME4	DATA	3AH
TIMEDT	DATA	3BH
DATAA	DATA	3CH
AUTODT	DATA	3DH
KEYD	DATA	3EH
	

		ORG		0000H
		SJMP	MAIN
		ORG		000BH
		SJMP	TT0
		ORG		001BH
		SJMP	TT1
;--------------------------------		
TT0:
		MOV		TH0,	#0C0H
		MOV		TL0,	#00H	
		RETI
;===================================
TT1:	
		MOV		TH1,	#0FFH	
		MOV		TL1,	#8FH
		MOV		21H,	#00H
		RETI
;======================================		

MAIN:	
		SETB	GDA
		SETB	RDA
		SETB	BDA
		MOV		TMOD,	#11H
		MOV		IE,		#8AH
		
		MOV		TH1,	#0FFH
		MOV		TL1,	#4FH		
		MOV		TH0,	#0C0H	
		MOV		TL0,	#00H
		MOV		25H,	#0FFH
		MOV		21H,	#0FFH	
		MOV		2AH,	#0FFH
		MOV		TIME1,	#05	
		LCALL	DELAY100S	

;-----------------------------------
LOOP:	
		MOV		TIME1,	#05	
		;LCALL	DELAY100S
		;CPL		GDA
		;CPL		BDA
		;CPL		RDA	
		LCALL	MODE1
		SJMP	LOOP
;**************************************************
;======================================
	MODE1:
		;CLR		SHAN
		SETB	TR1
		SETB	GDA
		SETB	RDA
		SETB	BDA
		
		;CLR		2AH.1		
		;LCALL	TJLLED
		CLR		RDA
		LCALL	DELAY100S	;			R
		;JNB		KEYB,	HQ
		
		CLR		2AH.2
		LCALL	TJLLED
		CLR		GDA
		LCALL	DELAY100S	;			G+R
		;JNB		KEYB,	HQ
		
		CLR		2AH.1
		LCALL	TJALED
		SETB	RDA
		LCALL	DELAY100S	;			G
		;JNB		KEYB,	HQ
		
		CLR		2AH.3
		LCALL	TJLLED
		CLR		BDA
		LCALL	DELAY100S	;			G+B
		;JNB		KEYB,	HQ
		
		CLR		2AH.2
		LCALL	TJALED
		SETB	GDA
		LCALL	DELAY100S	;			B
		;JNB		KEYB,	HQ
		
		CLR		2AH.1
		LCALL	TJLLED
		CLR		RDA
		LCALL	DELAY100S	;			B+R
			
		
		CLR		2AH.3
		LCALL	TJALED
		SETB	BDA
		SETB	GDA
		CLR		RDA
		;LCALL	DELAY100S	;			R
	HQ:	
		CLR		TR1
		RET
;==============================================
TJLLED:
		MOV		JBDT1,	#01
		MOV		JBDT2,	#128
	TJLED1:		
		MOV		JBDT3,	#05
	TJLED2:	
		MOV		TEMP1,	JBDT1
		MOV		TEMP2,	JBDT2
;=============================	
		LCALL	TNV
;=============================	
	TJLED3:
		JB		21H.0,	$	
		SETB	21H.0
		DJNZ	TEMP1,	TJLED3
;=============================
		LCALL	TNC
		JNB		KEYB,	DS1
;=============================
	TJLED4:
		JB		21H.0,	$	
		SETB	21H.0
		DJNZ	TEMP2,	TJLED4
;---------------------------
		DJNZ	JBDT3,	TJLED2				
		INC		JBDT1
		DEC		JBDT2		
		MOV		R1,		JBDT2			
		CJNE	R1,		#00,	TJLED1
		MOV		2AH,	#0FFH
	DS1:
		RET
;---------------------------------
;+++++++++++++JIAN AN+++++++++++++++
;----------------------------------
TJALED:
		MOV		JBDT1,	#128
		MOV		JBDT2,	#01
	TJALED1:		
		MOV		JBDT3,	#05
	TJALED2:	
		MOV		TEMP1,	JBDT1
		MOV		TEMP2,	JBDT2
;===============================
		LCALL	TNV
;===============================						
	TJALED3:
		JB		21H.1,	$	
		SETB	21H.1
		DJNZ	TEMP1,	TJALED3
;===============================
		LCALL	TNC
		JNB		KEYB,	DS2
;===============================	
	TJALED4:
		JB		21H.1,	$
		SETB	21H.1
		DJNZ	TEMP2,	TJALED4
;---------------------------
		DJNZ	JBDT3,	TJALED2				
		DEC		JBDT1
		MOV		R1,		JBDT1
		INC		JBDT2					
		CJNE	R1,		#00H,	TJALED1
		MOV		2AH,	#0FFH
	DS2:
		RET
		
;==================================
TNV:		
		JB		2AH.1,	TNV1
		CLR		RDA
		SJMP	TOUT2
	TNV1:
		JB		2AH.2,	TNV2
		CLR		GDA
		SJMP	TOUT2
	TNV2:
		JB		2AH.3,	TNV3
		CLR		BDA
		SJMP	TOUT2
	TNV3:
		JB		2AH.4,	TOUT2
		CLR		GDA
		CLR		BDA
		
	TOUT2:
		RET		
;=========================================	
TNC:	
		JB		2AH.1,	TNC1
		SETB	RDA
		SJMP	TOUT1
	TNC1:
		JB		2AH.2,	TNC2
		SETB	GDA
		SJMP	TOUT1
	TNC2:
		JB		2AH.3,	TNC3
		SETB	BDA
		SJMP	TOUT1
	TNC3:
		JB		2AH.4,	TOUT1
		SETB	GDA
		SETB	BDA
	TOUT1:
		RET	
;=====================================

;======================================
	DELAY100S:
		MOV		TIME2,	TIME1
	LK1:	
		MOV		R1,		#0BFH
	LK:
		MOV		R2,		#4FH		
		DJNZ	R2,		$
		DJNZ	R1,		LK
		DJNZ	TIME2,	LK1
		RET
;========================================
		END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -