📄 24c02.asm
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -