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

AT24C02的读写程序2


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

#include <reg51.h> // 对 24C02 的读、写 // extern void DelayMs(unsigned int); // extern void Read24c02(unsigned char *Ra

mAddress,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页读写程序
AT24C02读写程序_信息与通信_工程科技_专业资料。AT24C02读写程序 ...** 存于器件 2 中,其地址为 0xa2。 **时间:2012 年 2 月 7 日 ** ...
AT24C02串行E2PROM的读写
AT24C02 串行 E2PROM 的读写 I2C 总线是一种用于 IC 器件之间连接的二线制...SDA 置 1 程序中多处调用了 DELAY 子程序(仅两条 NOP 指令), 这是为了...
AT24C02存储器的读写及显示
(25 号)一、 设计任务: 通过对 EEPROM 器件 AT24C02 的读写用 LM016 来显示开 始 ↓ 流程图 二、 程序设计: #include<reg51.h> #include<absacc.h> ...
...AT24C02的数据读写操作_采用IIC总线读写_C程序
A​T​2​4​C​0​2​的​数​据​读​写​操​作...{ AT24C02_SCL = 0; _nop_(); AT24C02_SDA = 1; _nop_(); AT24...
读写at24c02的51c语言程序
} } //---IIC AT24C01 读写程序---void start() //启动时序模块子模块...(); 2 // 59776448.doc t=0;while(t<=DELAY_R){t++;} ACK_BIT=SDA...
AT24C02读写及显示
AT24C02读写及显示_工学_高等教育_教育专区。单片机课程设计#include "reg51....要读取从器件的片内地址 //起始信号 stop();out=rec_mem[3];while(!key2...
AT24C02操作方法及程序(含时序图)
AT24C02 的芯片地址如下图,1010 为固定,A0,A1,A2 正好与芯片的 1,2,3 ...AT24C02 的芯片地址(0xa0 为写,0xa1 为读) 任一地址写入数据格式 uchar ...
AT24C02的读写
AT24C02 的读写作者: 来源: 阅读次数:372 AT24C02 是美国 ATMEL 公司的低...LOOP2: SETB R0,#08H ;接受单字节子程序 P1.1 ACALL DELAY MOV C,P1....
I2C总线上接两个AT24C02读写实例
AT24C02 进行操作 3、在 keil c51 中新建工程 ex54,编写如下程序代码,编译...0xa1 即为 1010 0000B #define OP_READ2 0xaf // 器件 2 地址以及读取...
单片机操作at24c02c程序
单片机操作at24c02c程序_信息与通信_工程科技_专业资料。AT24C02C,用单片机操作...430单片机读写SD卡操作源... 5页 2下载券 堆栈操作在单片机程序设... 4页...
更多相关标签: