标签:电子小制作,http://www.5idzw.com
24C02的简单操作(汇编),http://www.5idzw.com
sjmp $+2
sjmp $+2
mov c,sda_2402
rlc a
clr scl_2402
sjmp $+2
sjmp $+2
djnz b,rd_2402_0
ret
;---------------------------------------
;24c02的页写为8个字节。
;wrs_2402 写操作(;a--2402指针,r0--变量基址,r1--变量个数少于等于8)
;rds_2402 读操作(;a--2402指针,r0--变量基址,r1--变量个数少于等于8)
;使用a,b,psw,r0,r1 五个变量
wa_2402: push aCC
acall sta_2402
mov a,#wI2c
acall wr_2402
pop acc
jc err_2402
acall wr_2402
ret
err_2402: mov r1,#0ffh
dec sp
dec sp
ret ;2402硬件错误返回
wrs_2402: ;写多字节
acall wa_2402
wrs_2402_0:mov a,@r0
acall wr_2402
inc r0
djnz 01h,wrs_2402_0
acall stp_2402
ret
rds_2402: ;读多字节
acall wa_2402
acall sta_2402
mov a,#rI2c
acall wr_2402
rds_2402_0:acall rd_2402
mov @r0,a
djnz 01h,rds_2402_1
acall nmack_2402
acall stp_2402
ret
rds_2402_1:acall mack_2402
inc r0
sjmp rds_2402_0
sjmp $+2
sjmp $+2
mov c,sda_2402
rlc a
clr scl_2402
sjmp $+2
sjmp $+2
djnz b,rd_2402_0
ret
;---------------------------------------
;24c02的页写为8个字节。
;wrs_2402 写操作(;a--2402指针,r0--变量基址,r1--变量个数少于等于8)
;rds_2402 读操作(;a--2402指针,r0--变量基址,r1--变量个数少于等于8)
;使用a,b,psw,r0,r1 五个变量
wa_2402: push aCC
acall sta_2402
mov a,#wI2c
acall wr_2402
pop acc
jc err_2402
acall wr_2402
ret
err_2402: mov r1,#0ffh
dec sp
dec sp
ret ;2402硬件错误返回
wrs_2402: ;写多字节
acall wa_2402
wrs_2402_0:mov a,@r0
acall wr_2402
inc r0
djnz 01h,wrs_2402_0
acall stp_2402
ret
rds_2402: ;读多字节
acall wa_2402
acall sta_2402
mov a,#rI2c
acall wr_2402
rds_2402_0:acall rd_2402
mov @r0,a
djnz 01h,rds_2402_1
acall nmack_2402
acall stp_2402
ret
rds_2402_1:acall mack_2402
inc r0
sjmp rds_2402_0
,24C02的简单操作(汇编)