您现在的位置: 主页 > MCU > 单片机技术应用 > AT24CXX串行EEPROM芯片读写程序 -
本文所属标签:
为本文创立个标签吧:

AT24CXX串行EEPROM芯片读写程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]
;说明:;入口条件:数据放在ADAT_I2C中,页面放在APAG_IC2,字节地址放在AADR_I2C,如准备向AT24CXX第一页的字节地址03H中写入值0FH,则置APAG_IC2=01H,AADR_I2C=03H,ADAT_I2C=0FH。;出口信息:读出的

;说明:
;入口条件:数据放在ADAT_I2C中,页面放在APAG_IC2,字节地址放在AADR_I2C,如准备向AT24CXX第一页的字节地址03H中写入值0FH,则置APAG_IC2=01H,AADR_I2C=03H,ADAT_I2C=0FH。
;出口信息:读出的数据在累加器A中。
;影响资源:PSW、A、R7 堆栈需求: 6字节
;ASLK EQU P3.3 ;AT24CXX卡的SLK

本文引用地址: http://www.21ic.com/app/mcu/201806/761713.htm

;ASDA EQU P3.4 ;AT24CXX卡的SDA
ASLK EQU P1.4 ;AT24CXX芯片的SLK
ASDA EQU P1.5 ;AT24CXX芯片的SDA
AADR_I2C EQU 30H ; AT24CXX的字节地址
ADAT_I2C EQU 31H ;读出、写入的地址
APAG_IC2 EQU 32H ; AT24CXX的页面
AWRTBYTE: ;向AT24C01写入一个字节---写串行E2PRAM
NOP
LCALL ASTABIT ;初始化
MOV A,APAG_IC2
ANL A,#0FH
RL A
ADD A,#0A0H
LCALL AWRTBIT ;送出写控制字
MOV A,AADR_I2C
LCALL AWRTBIT ;送出地址
MOV A,ADAT_I2C
LCALL AWRTBIT ;写入数据
LCALL ASTPBIT ;停止
LCALL ADELAY
SETB ASDA
RET
AREADBYTE: ;从24C01读入一个字节---读串行E2PRAM
NOP
LCALL ASTABIT ;初始化
MOV A,APAG_IC2
ANL A,#0FH
RL A
ADD A,#0A0H
LCALL AWRTBIT ;送出写控制字
MOV A,AADR_I2C
LCALL AWRTBIT ;送出地址
LCALL ASTABIT ;第二次初始化
MOV A,#0A1H
LCALL AWRTBIT ;送出读控制字
LCALL AREADBIT ;读出数据
SETB ASDA
RET
ASTABIT: NOP
SETB ASLK
SETB ASDA
LCALL ADELAY
CLR ASDA
LCALL ADELAY
SETB ASDA
RET
AWRTBIT: NOP
MOV R7,#08H
AWRTLOP: NOP
CLR ASLK
NOP
RLC A
MOV ASDA,C
NOP
SETB ASLK
NOP
DJNZ R7,AWRTLOP
CLR ASLK
LCALL ADELAY
SETB ASLK
LCALL ADELAY
CLR ASLK
LCALL ADELAY
SETB ASDA
RET
AREADBIT: NOP
SETB ASDA
NOP
MOV R7,#08H
AREADLP: NOP
SETB ASLK
NOP
MOV C,ASDA
RLC A
NOP
CLR ASLK
NOP
DJNZ R7,AREADLP
LCALL ADELAY
RET
ASTPBIT: NOP
CLR ASDA
LCALL ADELAY
SETB ASLK
LCALL ADELAY
SETB ASDA
LCALL ADELAY1MS
RET
ADELAY1MS:
MOV R7,#0FFH
DJNZ R7,$
MOV R7,#0FFH
DJNZ R7,$
MOV R7,#0FFH
DJNZ R7,$
RET
ADELAY:
MOV R7,#0FH
DJNZ R7,$
RET




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > AT24CXX串行EEPROM芯片读写程序 -
 

"AT24CXX串行EEPROM芯片读写程序 -"的相关文章

网站地图

围观()