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

📄 笔段全系列1622.asm

📁 HT1622_A51格式源程序,实测OK
💻 ASM
字号:
;**************************************************
;一个HT1622
;**************************************************
L_CS1		EQU	P3.0			;U1 :L_CS MOUDLE SELECT
L_WR		EQU	P3.1			;L_WR MOUDLE SERIAL CLOCK
L_DATA		EQU	P3.2			;L_DATA MOUDLE SERIAL DATA
L_ELEN		EQU	P3.3

L_JBBIT		EQU	20H.0
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
L_BUFF		EQU	30H
L_BUFF1		EQU	31H
L_BUFF2		EQU	32H
L_COUNT		EQU	33H
L_COUNT1	EQU	34H
L_COUNT2	EQU	35H
;**************************************************
		ORG	0000H
		AJMP	0100H
		ORG	0100H

MAIN:		NOP
		MOV	SP,#5FH
		SETB	L_ELEN
		
		LCALL	DELAY10
		CPL	L_ELEN
		LCALL	DELAY10
		CPL	L_ELEN
		
		LCALL	L_INIT
		
		LJMP	LOOP2
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
		;LCALL	L_CLR
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;测U1:SEG		;共32个SEG
LOOP:		LCALL	L_CLR
		MOV	L_BUFF1,#00H
		MOV	L_COUNT2,#32		;共32个SEG
LOOP1:		MOV	L_COUNT1,#02H
		MOV	L_BUFF2,#11111111B
		LCALL	L_WRSAC1
		LCALL	DELAY1
		INC	L_BUFF1
		INC	L_BUFF1
      		DJNZ	L_COUNT2,LOOP1

LOOP3:
;测U1:COM		;共8个COM
      		LCALL	L_CLR
		MOV	L_BUFF1,#00111111B
		MOV	L_BUFF2,#00000001B	;COM3
		LCALL	L_WRSAC1
		LCALL	DELAY1

		LCALL	L_CLR
		MOV	L_BUFF1,#00111111B
		MOV	L_BUFF2,#00000010B	;COM2
		LCALL	L_WRSAC1
		LCALL	DELAY1
		
		LCALL	L_CLR
		MOV	L_BUFF1,#00111111B
		MOV	L_BUFF2,#00000100B	;COM1
		LCALL	L_WRSAC1
		LCALL	DELAY1
		
		LCALL	L_CLR
		MOV	L_BUFF1,#00111111B
		MOV	L_BUFF2,#00001000B	;COM0
		LCALL	L_WRSAC1
		LCALL	DELAY1
		
		LCALL	L_CLR
		MOV	L_BUFF1,#00111111B
		MOV	L_BUFF2,#00010000B	;COM7
		LCALL	L_WRSAC1
		LCALL	DELAY1
		
		LCALL	L_CLR
		MOV	L_BUFF1,#00111111B
		MOV	L_BUFF2,#00100000B	;COM6
		LCALL	L_WRSAC1
		LCALL	DELAY1
		
		LCALL	L_CLR
		MOV	L_BUFF1,#00111111B
		MOV	L_BUFF2,#01000000B	;COM5
		LCALL	L_WRSAC1
		LCALL	DELAY1
		
		LCALL	L_CLR
		MOV	L_BUFF1,#00111111B
		MOV	L_BUFF2,#10000000B	;COM4
		LCALL	L_WRSAC1
		LCALL	DELAY1

		CPL	L_ELEN
		LCALL	DELAY10
		CPL	L_ELEN
		LCALL	DELAY1
		
LOOP2:		LCALL	L_CLR
		MOV	L_BUFF1,#00111111B
		MOV	L_BUFF2,#11111111B	;COM0.1.2.3.4.5.6.7
		LCALL	L_WRSAC1
		
		;CPL	L_ELEN
		;LCALL	DELAY10
		;CPL	L_ELEN
		
		LCALL	DELAY1
		
      		LJMP	LOOP
;******************L_INIT *************************
L_INIT:		
L_INIT1:	CLR	L_CS1

		MOV	L_COUNT,#03H
		MOV	L_BUFF,#10000000B
		LCALL	L_WRCBIT		;WRITE INSTU 100
		CLR	L_JBBIT
		MOV	L_BUFF,#00000011B	;INI1 SYS ON
		LCALL	L_WR9BIT
		CLR	L_JBBIT
		MOV	L_BUFF,#00000111B	;INI2 LCD ON
		LCALL	L_WR9BIT
		CLR	L_JBBIT
		MOV	L_BUFF,#00110111B	;INI3 SET RC 256K OSC
		LCALL	L_WR9BIT
		CLR	L_JBBIT
		MOV	L_BUFF,#01010111B	;INI4 SET BIAS 1/3
		LCALL	L_WR9BIT
		SETB	L_CS1

		RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
L_CLR:		MOV	L_COUNT1,#20H
		MOV	L_BUFF1,#00H
		MOV	L_BUFF2,#00000000B
		LCALL	L_WRSAC1
		
		RET
;**************************************************
;点亮U1指定的一个SEG下的八个COM

L_WRSAC1:	CLR	L_CS1
		
		MOV	L_COUNT,#03H
		MOV	L_BUFF,#10100000B	;WRITE INSTU 101
		LCALL	L_WRCBIT

		MOV	L_BUFF,L_BUFF1		;SEG地址
		LCALL	L_WRSEG
L_WRSAC11:	MOV	L_COUNT,#08H
		MOV	L_BUFF,L_BUFF2		;COM地址,ACC.7-ACC.4对应COM7-COM4,   ACC.3-ACC.0对应COM3-COM0
		LCALL	L_WRCBIT
		DJNZ	L_COUNT1,L_WRSAC11
		SETB	L_CS1
		RET

;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;写9位,先写L_JBBIT位,再写ACC.7-ACC.0
L_WR9BIT:	LCALL	L_WRBIT
		MOV	L_COUNT,#08H
		LCALL	L_WRCBIT
		RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;写L_COUNT位,先写ACC.0位
L_WRCBIT:	PUSH	ACC
		MOV	A,L_BUFF
L_WRCBIT1:	JB	ACC.7,L_WRCBIT2
		CLR	L_JBBIT
		AJMP	L_WRCBIT3
L_WRCBIT2:	SETB	L_JBBIT
L_WRCBIT3:	LCALL	L_WRBIT
		RL	A
		DJNZ	L_COUNT,L_WRCBIT1
		POP	ACC
		RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;写SEG地址,低6位有效,ACC.5-ACC.0对应A5-A0
L_WRSEG:	PUSH	ACC
		MOV	L_COUNT,#06H
		MOV	A,L_BUFF
L_WRSEG1:	JB	ACC.5,L_WRSEG2
		CLR	L_JBBIT
		AJMP	L_WRSEG3
L_WRSEG2:	SETB	L_JBBIT
L_WRSEG3:	LCALL	L_WRBIT
		RL	A
		DJNZ	L_COUNT,L_WRSEG1
		POP	ACC
		RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;写1位
L_WRBIT:	CLR	L_WR
		JNB	L_JBBIT,L_WRBIT1
		SETB	L_DATA
		AJMP	L_WRBIT2
L_WRBIT1:	CLR	L_DATA
L_WRBIT2:	SETB	L_WR
		RET
;**************************************************
DELAY1:		MOV	R5,#6H
DEL11:		MOV	R6,#0FFH
DEL12:		MOV	R7,#0FFH
DEL13:		DJNZ	R7,DEL13
		DJNZ	R6,DEL12
		DJNZ	R5,DEL11
		RET
		
DELAY10:	MOV	R5,#3H
DEL110:		MOV	R6,#0FFH
DEL120:		MOV	R7,#0FFH
DEL130:		DJNZ	R7,DEL130
		DJNZ	R6,DEL120
		DJNZ	R5,DEL110
		RET
;**************************************************
		END
		

⌨️ 快捷键说明

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