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

📄 i2c2408.asm

📁 很常用的带4路音源输入.高音,低音,音量调节的IC.
💻 ASM
字号:
		SCL	BIT 	P3.4
		SDA	BIT 	P3.5

;**************************************
;以下为写PT2314各个控制数据的程序
;***************************************
PT2314_WR:
      		LCALL	START
		MOV	A,#PT2314_ADD
		LCALL	SENDDATE
		ACALL	ASKW
      		MOV	A,PT2314_MSB
		ACALL	SENDDATE
		ACALL	ASKW
 	   	ACALL 	STOP
		RET
;************************************
;以上为写PT2314各个控制数据到写的程序
;************************************
;以下为I2C总线的各个控制信号
;**************************************
;写存储器时等待ASK信号
ASKW:		ACALL	DELAY
		SETB	SDA		;释放SDA_P总线
		ACALL	DELAY
		SETB	SCL
WAITASKW:	MOV	C,SDA
		JC	WAITASKW
		;LCALL   DELAY10
		CLR	SCL
		CLR	SDA
		RET
;**********************************
;MCU作为从器件不应答
NOASK:		SETB	SDA
		SETB	SCL
		ACALL	DELAY
		CLR	SCL
		ACALL	DELAY
		CLR	SDA
		RET
;-----------------------------------
;启动信号
START:		SETB	SCL
		SETB	SDA
		ACALL	DELAY
		CLR	SDA
		ACALL	DELAY
		CLR	SCL
		RET
;---------------------------
;停止信号
STOP:		CLR	SCL
		CLR	SDA
		ACALL	DELAY
		SETB	SCL
		ACALL	DELAY
		SETB	SDA
		ACALL	DELAY
		RET
;---------------------------------
;读数据到总线上,A作为移位输出寄存器
SENDDATE:	MOV	R2,#8
LOOPW:		RLC	A
		MOV	SDA,C
		ACALL	DELAY
		SETB	SCL
		ACALL	DELAY
		CLR	SCL
		ACALL	DELAY
		DJNZ	R2,LOOPW
		CLR	SDA
		RET
;--------------------------------
;读24C08子程序。
RD24: 		PUSH 	ACC 
		SETB 	SDA
		CLR 	SCL
		CALL 	START
		MOV 	A,#0A0H
		CALL 	SENDDATE
		CALL 	ASKW
		POP 	ACC
		CALL 	SENDDATE
		CALL 	ASKW
		CALL 	START
		MOV 	A,#0A1H
		CALL 	SENDDATE
		CALL 	ASKW
		SETB 	SDA
		MOV 	R7,#8
		CLR 	A
		SETB 	SDA
RD000: 		RL 	A
		SETB 	SCL
		MOV 	C,SDA
		MOV 	ACC.0,C
		CLR 	SCL
		DJNZ 	R7,RD000
		RET
;-------------------------------
;写入24C02程序:
WT24: 		PUSH 	ACC
		SETB 	SDA
		CLR 	SCL
		CALL 	START
		MOV 	A,#0A0H
		CALL 	SENDDATE
		CALL 	ASKW
		POP 	ACC
		CALL 	SENDDATE
		CALL 	ASKW
		MOV 	A,B
		CALL 	SENDDATE
		CALL 	ASKW
		CALL 	STOP
		CALL 	DELAY
		RET
; -------------------------------
DELAY:		NOP
		NOP
		NOP
		NOP
		RET
;***********************************
;以上为I2C总线的各个控制信号
;************************************

⌨️ 快捷键说明

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