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

📄 ok.dt

📁 HT1621。。 义隆芯片。。显示音频进度。。用了A/D功能。
💻 DT
📖 第 1 页 / 共 2 页
字号:
;	MOV	A,0X20
;	AND	A,@0X0E		;R3=0
;	MOV	0X20,A
	JMP	LOAD
S25:
	MOV	A,S3
	XOR	A,@0X01
	JBS	SREG,Z
	JMP	S50
	MOV	A,0X24
	OR	A,@0X01		;R1=1(25)
	MOV	0X24,A
;	MOV	A,0X22
;	AND	A,@0X0E		;R2=0
;	MOV	0X22,A
;	MOV	A,0X20
;	AND	A,@0X0E		;R3=0
;	MOV	0X20,A
	JMP	LOAD
S50:	MOV	A,S3
	XOR	A,@0X02
	JBS	SREG,Z
	JMP	S75
	MOV	A,0X22
	OR	A,@0X01		;R2=1(50)
	MOV	0X22,A
;	MOV	A,0X24
;	AND	A,@0X0E		;R1=0
;	MOV	0X24,A
;	MOV	A,0X20
;	AND	A,@0X0E		;R3=0
;	MOV	0X20,A
	JMP	LOAD
S75:	MOV	A,0X20
	OR	A,@0X01		;R3=1(75)
	MOV	0X20,A
;	MOV	A,0X24
;	AND	A,@0X0E		;R1=0
;	MOV	0X24,A
;	MOV	A,0X22
;	AND	A,@0X0E		;R2=0
;	MOV	0X22,A
LOAD:
	MOV	A,0X20
	MOV	DATA,A
	MOV	A,@0X00
	MOV	ADDR,A
	CALL	INDAT
	MOV	A,0X22
	MOV	DATA,A
	INC	ADDR
	INC	ADDR
	CALL	INDAT
	MOV	A,0X24
	MOV	DATA,A
	INC	ADDR
	INC	ADDR
	CALL	INDAT
;-----------------------------------------------------------------------------
	INC	TM1
	MOV	A,TM1
	CALL	FREQI
	MOV	S2,A
	SWAPA	S2
	AND	A,@0X0F
	CALL	CODEB
	MOV	S3,A
	SWAPA	S3
	AND	A,@0X0F
	MOV	0X2C,A
	MOV	DATA,A
	MOV	A,@0XC		;LED5
	MOV	ADDR,A
	CALL	INDAT
	MOV	A,S3
	AND	A,@0X0F
	MOV	DATA,A
	INC	ADDR
	CALL	INDAT
	MOV	A,S2
	AND	A,@0X0F
	CALL	CODEB
	MOV	S3,A
	SWAPA	S3
	AND	A,@0X0F
	MOV	0X2E,A
	MOV	DATA,A
	INC	ADDR		;LED6
	CALL	INDAT
	MOV	A,S3
	AND	A,@0X0F
	MOV	DATA,A
	INC	ADDR
	CALL	INDAT
;-------------------------
	INC	TM1
	MOV	A,TM1
	CALL	FREQI
	MOV	S2,A
	SWAPA	S2
	AND	A,@0X0F
	CALL	CODEB
	MOV	S3,A
	SWAPA	S3
	AND	A,@0X0F
	MOV	0X30,A
	MOV	DATA,A
	INC	ADDR		;LED7
	CALL	INDAT
	MOV	A,S3
	AND	A,@0X0F
	MOV	DATA,A
	INC	ADDR
	CALL	INDAT
	MOV	A,S2
	AND	A,@0X0F
	CALL	CODEB
	MOV	S3,A
	SWAPA	S3
	AND	A,@0X0F
	OR	A,@0X01
	MOV	DATA,A
	INC	ADDR		;LED8
	CALL	INDAT
	MOV	A,S3
	AND	A,@0X0F
	MOV	DATA,A
	INC	ADDR
	CALL	INDAT
;-----------------
	INC	TM1
	MOV	A,TM1
	CALL	FREQI
	AND	A,@0X0F
	MOV	S3,A
	JBS	SREG,Z
	JMP	SS25
;	MOV	A,0X2C
;	AND	A,@0X0E		;R10=0
;	MOV	0X2C,A
;	MOV	A,0X2E
;	AND	A,@0X0E		;R9=0
;	MOV	0X2E,A
;	MOV	A,0X30
;	AND	A,@0X0E		;R8=0
;	MOV	0X30,A
	JMP	SLOAD
SS25:
	MOV	A,S3
	XOR	A,@0X01
	JBS	SREG,Z
	JMP	SS50
	MOV	A,0X30
	OR	A,@0X01		;R8=1(25)
	MOV	0X30,A
;	MOV	A,0X2E
;	AND	A,@0X0E		;R9=0
;	MOV	0X2E,A
;	MOV	A,0X2C
;	AND	A,@0X0E		;R10=0
;	MOV	0X2C,A
	JMP	SLOAD
SS50:	MOV	A,S3
	XOR	A,@0X02
	JBS	SREG,Z
	JMP	SS75
	MOV	A,0X2E
	OR	A,@0X01		;R9=1(50)
	MOV	0X2E,A
;	MOV	A,0X30
;	AND	A,@0X0E		;R8=0
;	MOV	0X30,A
;	MOV	A,0X2C
;	AND	A,@0X0E		;R10=0
;	MOV	0X2C,A
	JMP	SLOAD
SS75:	MOV	A,0X2C
	OR	A,@0X01		;R10=1(75)
	MOV	0X2C,A
;	MOV	A,0X2E
;	AND	A,@0X0E		;R9=0
;	MOV	0X2E,A
;	MOV	A,0X30
;	AND	A,@0X0E		;R8=0
;	MOV	0X30,A
SLOAD:
	MOV	A,0X2C
	MOV	DATA,A
	MOV	A,@0X0C
	MOV	ADDR,A
	CALL	INDAT
	MOV	A,0X2E
	MOV	DATA,A
	INC	ADDR
	INC	ADDR
	CALL	INDAT
	MOV	A,0X30
	MOV	DATA,A
	INC	ADDR
	INC	ADDR
	CALL	INDAT
;-------------------------------------------------
CH_ANT1:
	JBS	P6,ANT1
	JMP	ANT_10
	MOV	A,0X39		;R4=1
	OR	A,@0X08
	MOV	0X39,A
	MOV	DATA,A
	MOV	A,@0X19
	MOV	ADDR,A
	CALL	INDAT
	JMP	CANT2
ANT_10:	MOV	A,0X39		;R4=0
	AND	A,@0X07
	MOV	0X39,A
	MOV	DATA,A
	MOV	A,@0X19
	MOV	ADDR,A
	CALL	INDAT
CANT2:	JBS	P6,ANT2
	JMP	ANT_20
	MOV	A,0X34		;11=1
	OR	A,@0X01
	MOV	0X34,A
	MOV	DATA,A
	MOV	A,@0X14
	MOV	ADDR,A
	CALL	INDAT
	JMP	CH_AB
ANT_20:	MOV	A,0X34		;R11=0
	AND	A,@0X0E
	MOV	0X34,A
	MOV	DATA,A
	MOV	A,@0X14
	MOV	ADDR,A
	CALL	INDAT
CH_AB:	JBS	P6,AB1
	JMP	AB_10
	MOV	A,0X39
	OR	A,@0X04		;R5=1
	AND	A,@0XFD		;R6=0
	MOV	0X39,A
	MOV	DATA,A
	MOV	A,@0X19
	MOV	ADDR,A
	CALL	INDAT
	JMP	CAB2
AB_10:	MOV	A,0X39
	OR	A,@0X02		;R6=1
	AND	A,@0XFB		;R5=0
	MOV	0X39,A
	MOV	DATA,A
	MOV	A,@0X19
	MOV	ADDR,A
	CALL	INDAT
CAB2:	JBS	P6,AB2
	JMP	AB_20
	MOV	A,0X34
	OR	A,@0X02		;R12=1
	AND	A,@0XFB		;R13=0
	MOV	0X34,A
	MOV	DATA,A
	MOV	A,@0X14
	MOV	ADDR,A
	CALL	INDAT
	JMP	INIADC
AB_20:	MOV	A,0X34
	OR	A,@0X04		;R13=1
	AND	A,@0XFD		;R12=0
	MOV	0X34,A
	MOV	DATA,A
	MOV	A,@0X14
	MOV	ADDR,A
	CALL	INDAT
	
INIADC:
	MOV	A,@0B00011100	;工作电压作参考,AD0-AD7模拟输入,T=fosc/4
	IOW	ADCONC
	CLR	R_F
	MOV	A,ADCONR
	AND	A,@0XF8
;	OR	A,@0X01		;AD2(AF1)输入
	MOV	ADCONR,A
	BS	ADCONR,ADPD	;启动AD采样
	MOV	A,@0B00000000
	IOW	GCON		;关增溢放大器
	BS	ADCONR,ADRUN	;启动AD转换
CH_AF1:	JBC	ADCONR,ADRUN
	JMP	CH_AF1
	BC	ADCONR,ADPD	;关闭AD采样
	MOV	A,ADDATA
	MOV	TMP,A
	MOV	A,@0X17
	MOV	ADRL,A
	MOV	A,@0X18
	MOV	ADRH,A
	CLR	FG
	BS	SREG,5
	CALL	DISVUTS
	BC	SREG,5

	CLR	R_F
	MOV	A,ADCONR
	AND	A,@0XF8
	OR	A,@0X03		;AD4(RF1)输入
	MOV	ADCONR,A
	BS	ADCONR,ADPD	;启动AD采样
	CALL	DELAY6US
	BS	ADCONR,ADRUN	;启动AD转换
CH_RF1:	JBC	ADCONR,ADRUN
	JMP	CH_RF1
	BC	ADCONR,ADPD	;关闭AD采样
	MOV	A,ADDATA
	MOV	TMP,A
	MOV	A,@0X09
	MOV	ADRL,A
	MOV	A,@0X08
	MOV	ADRH,A
	BS	FG,0
	BS	SREG,5
	CALL	DISVUTS
	BC	SREG,5

	CLR	R_F
	MOV	A,ADCONR
	AND	A,@0XF8
	OR	A,@0X05		;AD4(RF1)输入
	MOV	ADCONR,A
	BS	ADCONR,ADPD	;启动AD采样
	CALL	DELAY6US
	BS	ADCONR,ADRUN	;启动AD转换
CH_RF2:	JBC	ADCONR,ADRUN
	JMP	CH_RF2
	BC	ADCONR,ADPD	;关闭AD采样
	MOV	A,ADDATA
	MOV	TMP,A
	MOV	A,@0X16
	MOV	ADRL,A
	MOV	A,@0X15
	MOV	ADRH,A
	BS	FG,0
	BS	SREG,5
	CALL	DISVUTS
	BC	SREG,5

	CLR	R_F
	MOV	A,ADCONR
	AND	A,@0XF8
	OR	A,@0X07		;AD4(RF1)输入
	MOV	ADCONR,A
	BS	ADCONR,ADPD	;启动AD采样
	CALL	DELAY6US
	BS	ADCONR,ADRUN	;启动AD转换
AD_AF2:	JBC	ADCONR,ADRUN
	JMP	AD_AF2
	BC	ADCONR,ADPD	;关闭AD采样
	MOV	A,ADDATA
	MOV	TMP,A
	MOV	A,@0X0A
	MOV	ADRL,A
	MOV	A,@0X0B
	MOV	ADRH,A
	BS	FG,0
	BS	SREG,5
	CALL	DISVUTS
	BC	SREG,5
	MOV	A,@0B00000000	;AD0模拟输入,AD1-AD7O数字I/O输入,T=fosc/4
	IOW	ADCONC
	JMP	WHILE
	

;====================================================================================
	ORG		0X400
;====================================================================================
;  18    36    54   72     90     108    126
;  0.35  0.7   1    1.4    1.76   2.1    2.47
;
;	ADRL    ADRH
; AF1	17(L)   18(H)    V
;
; RF1	09(H)   08(L)    U
;
; AF2	16(H)   15(L)    T
;
; RF2	0A(L)   0B(H)    S
;
; FG_0 =0   AF1
; FG_0 =1   RF1,AF2,RF2
DISVUTS:
	MOV	A,@0X8E		;126
	SUB	A,TMP
	JBS	SREG,C
	JMP	CH_AF2
	MOV	A,ADRL
	ADD	A,@0X20
	MOV	R4,A
	MOV	A,@0X0F		;V1,V2,V3,V4=1
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRL
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	BS	SREG,5
	MOV	A,ADRH
	ADD	A,@0X20
	MOV	R4,A
	JBC	FG,0
	JMP	SIG11
	MOV	A,R0
	OR	A,@0X0E
	JMP	SIG21
SIG11:
	MOV	A,R0
	OR	A,@0X07		;V5,V6,V7=1
SIG21:
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRH
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	RET
CH_AF2:
	MOV	A,@0X7A		;108
	SUB	A,TMP
	JBS	SREG,C
	JMP	CH_AF3
	MOV	A,ADRL
	ADD	A,@0X20
	MOV	R4,A
	MOV	A,@0X0F		;V1,V2,V3,V4=1
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRL
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	BS	SREG,5
	MOV	A,ADRH
	ADD	A,@0X20
	MOV	R4,A
	JBC	FG,0
	JMP	SIG12
	MOV	A,R0
	OR	A,@0X0C		;V5,V6=1
	AND	A,@0X0D		;V7=0
	JMP	SIG22
SIG12:
	MOV	A,R0
	OR	A,@0X03		;V5,V6=1
	AND	A,@0X0B		;V7=0
SIG22:
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRH
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	RET
CH_AF3:
	MOV	A,@0X61		;90
	SUB	A,TMP
	JBS	SREG,C
	JMP	CH_AF4
	MOV	A,ADRL
	ADD	A,@0X20
	MOV	R4,A
	MOV	A,@0X0F		;V1,V2,V3,V4=1
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRL
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	BS	SREG,5
	MOV	A,ADRH
	ADD	A,@0X20
	MOV	R4,A
	JBC	FG,0
	JMP	SIG13
	MOV	A,R0
	OR	A,@0X08		;V5=1
	AND	A,@0X09		;V6,V7=0
	JMP	SIG23
SIG13:
	MOV	A,R0
	OR	A,@0X01		;V5=1
	AND	A,@0X09		;V6,V7=0
SIG23:
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRH
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	RET
CH_AF4:
	MOV	A,@0X52		;72
	SUB	A,TMP
	JBS	SREG,C
	JMP	CH_AF5
	MOV	A,ADRL
	ADD	A,@0X20
	MOV	R4,A
	MOV	A,@0X0F		;V1,V2,V3,V4=1
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRL
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	BS	SREG,5
	MOV	A,ADRH
	ADD	A,@0X20
	MOV	R4,A
	JBC	FG,0
	JMP	SIG14
	MOV	A,R0
	AND	A,@0X01		;V5,V6,V7=0
	JMP	SIG24
SIG14:
	MOV	A,R0
	AND	A,@0X08		;V5,V6,V7=0
SIG24:
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRH
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	RET
CH_AF5:
	MOV	A,@0X3D		;54
	SUB	A,TMP
	JBS	SREG,C
	JMP	CH_AF6
	MOV	A,ADRL
	ADD	A,@0X20
	MOV	R4,A
	MOV	A,@0X07		;V1,V2,V3=1, V4=0
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRL
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	BS	SREG,5
	MOV	A,ADRH
	ADD	A,@0X20
	MOV	R4,A
	JBC	FG,0
	JMP	SIG15
	MOV	A,R0
	AND	A,@0X01		;V5,V6,V7=0
	JMP	SIG25
SIG15:
	MOV	A,R0
	AND	A,@0X08		;V5,V6,V7=0
SIG25:
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRH
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	RET
CH_AF6:
	MOV	A,@0X2B		;36
	SUB	A,TMP
	JBS	SREG,C
	JMP	CH_AF7
	MOV	A,ADRL
	ADD	A,@0X20
	MOV	R4,A
	MOV	A,@0X03		;V1,V2=1,V3,V4=0
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRL
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	BS	SREG,5
	MOV	A,ADRH
	ADD	A,@0X20
	MOV	R4,A
	JBC	FG,0
	JMP	SIG16
	MOV	A,R0
	AND	A,@0X01		;V5,V6,V7=0
	JMP	SIG26
SIG16:
	MOV	A,R0
	AND	A,@0X08		;V5,V6,V7=0
SIG26:
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRH
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	RET
CH_AF7:
	MOV	A,@0X26		;18
	SUB	A,TMP
	JBS	SREG,C
	JMP	CH_AF8
	MOV	A,ADRL
	ADD	A,@0X20
	MOV	R4,A
	MOV	A,@0X01		;V1=1, V2,V3,V4=0
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRL
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	BS	SREG,5
	MOV	A,ADRH
	ADD	A,@0X20
	MOV	R4,A
	JBC	FG,0
	JMP	SIG17
	MOV	A,R0
	AND	A,@0X01		;V5,V6,V7=0
	JMP	SIG27
SIG17:
	MOV	A,R0
	AND	A,@0X08		;V5,V6,V7=0
SIG27:
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRH
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	RET
CH_AF8:
	MOV	A,ADRL
	ADD	A,@0X20
	MOV	R4,A
	MOV	A,@0X00		;V1,V2,V3,V4=0
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRL
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	BS	SREG,5
	MOV	A,ADRH
	ADD	A,@0X20
	MOV	R4,A
	JBC	FG,0
	JMP	SIG18
	MOV	A,R0
	AND	A,@0X01		;V5,V6,V7=0
	JMP	SIG28
SIG18:
	MOV	A,R0
	AND	A,@0X08		;V5,V6,V7=0
SIG28:
	MOV	R0,A
	MOV	DATA,A
	MOV	A,ADRH
	MOV	ADDR,A
	BC	SREG,5
	CALL	INDAT
	RET
	END

⌨️ 快捷键说明

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