当前位置:首页 >> 机械/仪表 >>

AT24C02的读写程序2


电子下载站 www.bbww.net 资料版权归合法所有者所有 严禁用于商业用途
对 24C02 的读、写

#include <reg51.h> // 对 24C02 的读、写 // extern void DelayMs(unsigned int); // extern void Read24c02(unsigned char *RamAddress,unsigned char RomAddress,unsigned char b ytes); // extern void Write24c02(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes); /***************************************************************************/ #define WriteDeviceAddress 0xa0 #define ReadDviceAddress 0xa1 /***************************************************************************/ sbit SCL=P1^4; sbit SDA=P1^3; sbit DOG=P3^7; /***************************************************************************/ void DelayMs(unsigned int number) { unsigned char temp; for(;number!=0;number--,DOG=!DOG) { for(temp=112;temp!=0;temp--) { } } } /***************************************************************************/ void Start() { SDA=1; SCL=1; SDA=0; SCL=0; } /***************************************************************************/ void Stop() { SCL=0; SDA=0; SCL=1;
欢迎光临中国最大的电子工程师应用网站 网址:www.bbww.net

电子下载站 www.bbww.net 资料版权归合法所有者所有
SDA=1; }

严禁用于商业用途

/***************************************************************************/ void Ack() { SDA=0; SCL=1; SCL=0; SDA=1; } /***************************************************************************/ void NoAck() { SDA=1; SCL=1; SCL=0; } /***************************************************************************/ bit TestAck() { bit ErrorBit; SDA=1; SCL=1; ErrorBit=SDA; SCL=0; return(ErrorBit); } /***************************************************************************/ bit Write8Bit(unsigned char input) { unsigned char temp; for(temp=8;temp!=0;temp--) { SDA=(bit)(input&0x80); SCL=1; SCL=0; input=input<<1; } } /***************************************************************************/ void Write24c02(unsigned char *Wdata,unsigned char RomAddress,unsigned char number) { Start(); Write8Bit(WriteDeviceAddress);
2 欢迎光临中国最大的电子工程师应用网站 网址:www.bbww.net

电子下载站 www.bbww.net 资料版权归合法所有者所有
TestAck(); Write8Bit(RomAddress); TestAck(); for(;number!=0;number--) { Write8Bit(*Wdata); TestAck(); Wdata++; } Stop(); DelayMs(10); }

严禁用于商业用途

/***************************************************************************/ unsigned char Read8Bit() { unsigned char temp,rbyte=0; for(temp=8;temp!=0;temp--) { SCL=1; rbyte=rbyte<<1; rbyte=rbyte|((unsigned char)(SDA)); SCL=0; } return(rbyte); } /***************************************************************************/ void Read24c02(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes) { unsigned char temp,rbyte; Start(); Write8Bit(WriteDeviceAddress); TestAck(); Write8Bit(RomAddress); TestAck(); Start(); Write8Bit(ReadDviceAddress); TestAck(); while(bytes!=1) { *RamAddress=Read8Bit(); Ack(); RamAddress++; bytes--; } *RamAddress=Read8Bit(); NoAck();
3 欢迎光临中国最大的电子工程师应用网站 网址:www.bbww.net

电子下载站 www.bbww.net 资料版权归合法所有者所有
Stop(); }

严禁用于商业用途

/***************************************************************************/

4 欢迎光临中国最大的电子工程师应用网站 网址:www.bbww.net



相关文章:
AT24C02串行E2PROM的读写
AT24C02 串行 E2PROM 的读写 I2C 总线是一种用于 IC 器件之间连接的二线制...SDA 置 1 程序中多处调用了 DELAY 子程序(仅两条 NOP 指令), 这是为了...
AT24C02页读写程序
AT24C02读写程序_信息与通信_工程科技_专业资料。AT24C02读写程序 ...** 存于器件 2 中,其地址为 0xa2。 **时间:2012 年 2 月 7 日 ** ...
AT24C02操作方法及程序(含时序图)
AT24C02 的芯片地址如下图,1010 为固定,A0,A1,A2 正好与芯片的 1,2,3 ...AT24C02 的芯片地址(0xa0 为写,0xa1 为读) 任一地址写入数据格式 uchar ...
I2C总线上接两个AT24C02读写实例
AT24C02 进行操作 3、在 keil c51 中新建工程 ex54,编写如下程序代码,编译...0xa1 即为 1010 0000B #define OP_READ2 0xaf // 器件 2 地址以及读取...
AT24C02读写及显示
AT24C02读写及显示_工学_高等教育_教育专区。单片机课程设计#include "reg51....要读取从器件的片内地址 //起始信号 stop();out=rec_mem[3];while(!key2...
AT24C02程序
AT24C02程序 - 有关于 AT24C02 存储器的操作,C 语言部分看不懂 unsigned long D[17] IRcvStr(AT24C02, 0 , &pDat[0], 8); f...
AT24C02的读写
AT24C02 的读写作者: 来源: 阅读次数:372 AT24C02 是美国 ATMEL 公司的低...LOOP2: SETB R0,#08H ;接受单字节子程序 P1.1 ACALL DELAY MOV C,P1....
单片机操作at24c02c程序
单片机操作at24c02c程序_信息与通信_工程科技_专业资料。AT24C02C,用单片机操作...430单片机读写SD卡操作源... 5页 2下载券 堆栈操作在单片机程序设... 4页...
...AT24C02的数据读写操作 采用IIC总线读写 C程序
实现存储器EEPROM AT24C02的数据读写操作 采用IIC总线读写 C程序_信息与通信_...1/2 相关文档推荐 IIC总线读写EEPROM(深度... 6页 免费 单片机程序设计实践...
串行扩展EEPROM方法及AT24C02仿真演示
2.电路设计 单片机扩展串行 EEPROM 硬件电路如下图所示, 包括单片机电路、 AT24...AT24C02 的读写操作程序 ***/ /**...
更多相关标签: