ex.asm

来自「本模拟I2C软件包包含了I2C操作的底层子程序」· 汇编 代码 · 共 57 行

ASM
57
字号
	SDA		BIT	P1.7	;I2C总线定义
	SCL		BIT	P1.6
	MTD		EQU	40H	;发送数据缓冲器
	MRD		EQU	49H	;接收数据缓冲区
	
	;定义器件地址,变
	PCF8563		EQU	0A2H	;ZLG7290的器件地址
	ACK		BIT	10H	;应答标志位
	SLA		DATA	50H	;器件的从地址
	SUBA		DATA	51H	;器件的子地址
	NUMBYTE		DATA	52H	;读/写的字节数变量

	ORG		8000H
	LJMP	MAIN
	ORG		8100H

;-------主程序如下:
MAIN:
	MOV 	SP,#70H	
	LCALL 	DELAY

	MOV	MTD,#00H
	MOV	MTD+1,#12H
	MOV	MTD+2,#00H
	MOV	MTD+3,#30H
	MOV	MTD+4,#12H
	MOV	SLA,#PCF8563	;指定器件地址
	MOV	SUBA,#00H	;指定子地址
	MOV	NUMBYTE,#05H	;发送2字节数据
	LCALL	IWRNBYTE	;调用写2字节数据程序

	LCALL 	DELAY
MAINLOOP:
	MOV	SLA,#PCF8563	;指定器件地址
	MOV	SUBA,#02H	;指定子地址
	MOV	NUMBYTE,#03H	;发送2字节数据
	LCALL	IRDNBYTE	;调用写2字节数据程序
	LCALL	DELAY
	SJMP	MAINLOOP

DELAY:
	MOV 	R7,#00H
MIN:	DJNZ 	R7,YS500
	RET
YS500:	LCALL 	YS500US
	LJMP 	MIN
YS500US:MOV 	R6,#00H
	DJNZ 	R6,$
	RET
DELAY1:	MOV 	R7,#20H
	DJNZ 	R7,$
	RET

$INCLUDE(VI2C_ASM.INC)		;包含VIIC软件包
	END

⌨️ 快捷键说明

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