24c02.asm

来自「at24c02的读写源程序 可以直接调用 经过实际验证的asm文件格式」· 汇编 代码 · 共 102 行

ASM
102
字号
SDA	BIT	P0.4
SCL	BIT	P0.5

;24C02读程序
DDA24:		LCALL	STAR
		MOV	A,#0A0H		;伪写操作引导
		LCALL	SDATA
		MOV	A,R5
		LCALL	SDATA
		lcall	del24
		lcall	del24
		lcall	del24
		lcall	del24
		lcall	del24
DDA24A:		LCALL	STAR
		MOV	A,#0A1H
		LCALL	SDATA
		lcall	del24
		LCALL	DDATA
		MOV	@R0,A
		INC	R0
		DJNZ	R7,DDA24A
DDA24O:		LCALL	STOP
		LCALL	DELAY5MS
		RET
;24C02写程序
SDA24:		CJNE	R7,#09H,SDA24B		;每次写不能大于8个字节
SDA24C:		LJMP	DDA24O
SDA24B:		JNC	SDA24C
		LCALL	STAR
		MOV	A,#0A0H
		LCALL	SDATA
		lcall	del24
		MOV	A,R5
		LCALL	SDATA
		lcall	del24
SDA24A:         MOV	A,@R0
		LCALL	SDATA
		lcall	del24
		INC	R0
		DJNZ	R7,SDA24A
		LJMP	DDA24O
;读一个字节
DDATA:		MOV	R6,#08H
DDATA1:		MOV	C,SDA
		RLC	A
		lcall	del24
		SETB	SCL
		lcall	del24
		CLR	SCL
		DJNZ	R6,DDATA1
		SETB	SCL
		lcall	del24
		SETB	SDA
		lcall	del24
		CLR	SCL
		RET
;写一个字节
SDATA:		MOV	R6,#08H
SDATA1:		RLC	A
		lcall	del24
		MOV	SDA,C
		lcall	del24
		SETB	SCL
		lcall	del24
		CLR	SCL
		lcall	del24
		DJNZ	R6,SDATA1
		MOV	R6,#0FFH
		SETB	SDA
		lcall	del24
		SETB	SCL
		lcall	del24
SDATA3:		JNB	SDA,SDATA2
		LCALL	DEL24
		DJNZ	R6,SDATA3
SDATA2:		lcall	del24
		CLR	SCL
                RET
;起始条件
STAR:		SETB	SDA
		SETB	SCL
		lcall	del24
		CLR	SDA
		lcall	del24
		CLR	SCL
		RET
;停止条件
STOP:		CLR	SDA
		lcall	del24
		SETB	SCL
		lcall	del24
		SETB	SDA
		lcall	del24
		RET
;4毫秒延时
DEL24:		NOP
		NOP
		NOP
		NOP
		NOP
		RET

⌨️ 快捷键说明

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