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

📄 my_pt2314.asm

📁 很常用的带4路音源输入.高音,低音,音量调节的IC.
💻 ASM
字号:
BUFF23 		EQU 	30h
;BUFF24 	EQU 	31H

DISP0 		EQU 	32h
DISP1 		EQU 	33h

BASS_TONE 	EQU 	34H	;低音控制缓冲
TREBLE_TONE 	EQU 	35H	;高音控制缓冲
M_VOL 		EQU 	36H	;主音量控制缓冲

IN_BUFF 	EQU   	37H	;输入选择缓存
SP_L_BUFF 	EQU   	38H	;平衡选择缓存
SP_R_BUFF 	EQU   	39H	;平衡选择缓存
;--------------------------------------
DISP_BUFF 	EQU 	3BH	;
PT2314_MSB 	EQU 	3DH	;发送PT2314数高位
;PT2314_LSB 	EQU 	3EH	;发送PT2314数低位		
PT2314_ADD 	EQU 	88H	;PT2314的I2C地址为88H

B_ADD 		EQU 	01H	;低音记忆地址
T_ADD 		EQU 	02H	;高音记忆地址
VOL_ADD 	EQU 	03H	;音记忆地址
SP_L_ADD 	EQU 	04H	;低音记忆地址
SP_R_ADD 	EQU 	05H	;高音记忆地址
IN_ADD   	EQU  	06H

MUTE_BIT 	BIT 	20H.1
RE_KEY  	BIT 	20H.2
IR_SET_BIT 	BIT 	20H.3
LOUD_BIT BIT 20H.4
;POWER_BIT 	BIT 	P3.7

;************************************************************
ORG 	0000H
AJMP  	STAR
;----------------------------------
ORG 	0003H
JMP 	REMOTE
;----------------------------------
ORG 	001BH
JMP 	TIME0
;---------------------------------
ORG 	0030H
;--------------------------------
STAR:
MOV 	P0,	#0ffH
MOV 	P1,	#0FFH
MOV 	P2,	#0ffH
MOV 	P3,	#0ffH
;-------------------------------
MOV 	M_VOL,	#43	;开机时默认音量为第-43级.(一共0-63级)
;MOV   SP_R_BUFF,#0
;MOV   SP_L_BUFF,#0
;-----------------------------
MOV	SP,	#50H
;-----------------------------
mov 	tmod,	#10h	;设定时器1工作方式2
MOV 	TH1,	#0H
MOV 	TL1,	#0H
setb 	ea		;开中断
SETB 	et1		;开定时中断
setb 	tr1		;开启计数器
SETB 	IT0            	;设定INT0触发方式,边沿触发.
SETB 	EX0            	;INT0请求中断
setb 	rs0		;选择寄存器组
clr  	rs1
SETB 	IR_SET_BIT

;-------------------------------------
LCALL 	YS4
NOP
LCALL 	YS4
;*******************************
LCALL 	LCM_RESET	;初始化LCD,应在程序开头
      
;*******************************
JMP KEY4X4;STAR_KEY
PT2314_START:
;------------------------------
LCALL 	YS4
NOP
LCALL 	YS4		;初始化PT2322
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;读24C08内数值到PT2322
ACALL 	DELAY10
MOV 	A,#B_ADD
LCALL 	RD24
MOV 	BASS_TONE,A
ACALL 	CTRL_SHUI
ADD 	A,#60H
MOV 	PT2314_MSB,A
LCALL 	PT2314_WR
ACALL 	DELAY10
;-----------------------------------
MOV 	A,#T_ADD
LCALL	RD24
MOV 	TREBLE_TONE,A
ACALL 	CTRL_SHUI
ADD 	A,#70H
MOV 	PT2314_MSB,A
LCALL 	PT2314_WR
ACALL 	DELAY10
;-----------------------------------
MOV 	A,#SP_L_ADD
LCALL	RD24
MOV 	SP_L_BUFF,A
ADD 	A,#0C0H
LCALL 	WR_2314_BALANCE
ACALL 	DELAY10
;-----------------------------------
MOV 	A,#SP_R_ADD
LCALL	RD24
MOV 	SP_R_BUFF,A
ADD 	A,#0E0H
LCALL 	WR_2314_BALANCE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;默认音量
MOV 	A,M_VOL
MOV 	PT2314_MSB,A
LCALL 	PT2314_WR
ACALL 	DELAY10
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV 	A,#IN_ADD
LCALL 	RD24
MOV 	IN_BUFF,A
LCALL  	INSW
LCALL 	DIS_VOL

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MAIN:
JMP 	KEY
AJMP 	main
;-----------------------------
;10毫秒延时子程序
DELAY10:
MOV 	R4,#10
D10:
MOV 	R5,#248
DJNZ 	R5,$
DJNZ 	R4,D10
RET


;------------------------------
;BCD2BIN:
;MOV 	A,BCD0
;MOV 	B,#10
;MUL 	AB
;ADD 	A,BCD1
;MOV 	BIN0,A
;RET
;------------------------------
BIN2BCD:
;MOV 	A,TMP
MOV 	B,#10
Div 	AB
MOV 	DISP0,A
MOV 	DISP1,B
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TIME0: ;定时器0的中断处理程序
PUSH 	ACC
PUSH 	PSW ;将PSW和ACC推入堆栈保护
MOV 	TH1,#15H
MOV 	TL1,#0a0H
SETB 	rs1		;选择寄存器组
setb 	rs0
jb 	re_key,t_res1
mov 	r0,#0
mov 	r1,#0
mov 	r2,#0
AJMP 	T_RE
t_res1:	
INC 	R0
CJNE 	R0,#10,T_RET 
MOV 	R0,#0 
CPL 	P2.3
INC 	R1
T_RET:	
CJNE 	R1,#60,T_RE
MOV 	R1,#0
jb 	re_key,t_res
MOV 	R0,#0
MOV 	R1,#0
MOV 	R2,#0
AJMP 	T_RE
t_res:	
LCALL 	DIS_VOL
T_RE:	
MOV 	TH1,#15H
MOV 	TL1,#0a0H
POP 	PSW
POP 	ACC
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$INCLUDE (KEY4X4.ASM)
$INCLUDE (REMOTE.ASM)
$INCLUDE (PT2314CONU.ASM)
$INCLUDE (LCM1602-4.ASM)
$INCLUDE (LCD_DISP.ASM)
$INCLUDE (I2C2408.ASM)
		END



⌨️ 快捷键说明

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