📄 ic24c64.asm
字号:
;SCL_IC bit P1.0 ;24c512时钟口线 //这是我的片选信号P23()
;SDA_IC bit P1.2 ;24c512数据口线 //这是我的片选信号P22()
;WP_IC bit P1.5 ;24c512数据口线 //这是我的片选信号P22()
;AA0 bit P1.3
;AA1 bit P1.1
;AA2 bit P1.4
SCL_IC bit P1.0 ;24c512时钟口线 //这是我的片选信号P23()
SDA_IC bit P1.1
;AA2 bit P1.2 ;24c512数据口线 //这是我的片选信号P22()
;WP_IC bit P1.1 ;24c512数据口线 //这是我的片选信号P22()
;AA0 bit P1.3
index1 equ 60h
addrlo1 equ 61h
addrhi1 equ 62h
kount1 equ 63h ;24c512占用RAM 地址60---63h
DDDDDCODE1 SEGMENT CODE UNIT ;程序段
;*********************************************************
;H_ADDR IN R7;L_ADDR IN R5; BYTE NUMBER IN R3
;*********************************************************
;24C512写程序
;要写的数据r3个防在RAM oxd0 开始;
;写入24C512的r7_r5开始的地址
PUBLIC _IIC_WRITE_ONEBYTE1
RSEG DDDDDCODE1
_IIC_WRITE_ONEBYTE1:
mov r0,#0d0h
mov r4,#0a0h
mov kount1,r3
mov INDEX1,r0
mov addrlo1,r5
mov addrhi1,r7 ;0020,40,8
; SETB WP_IC
; SETB AA0
; SETB AA2
call write_block1 ////
ret
;24C512读程序
;从24C512 的r7_r5地址读出r3个数据放在oxd0;
PUBLIC _IIC_READ_ONEBYTE1 ;入口地址
RSEG DDDDDCODE1
_IIC_READ_ONEBYTE1:
mov r0,#0d0H
mov r4,#0a0h
mov addrlo1,r5 ;0020 READ
mov addrhi1,r7
mov kount1,r3
mov INDEX1 ,r0
; SETB WP_IC
; SETB AA0
; SETB AA2
call verify_block_fill1
ret
;以下为读写模块;请不要改变
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -