简介:本文主要讲了单片机EEPROM实验原理图及读写程序,希望对您的学习有所帮助。
24C02简介
24C02是一个2K位串行CMOS 的EEPROM,内部含有256个8位字节。
与 400KHz I2C 总线兼容
1.8 到 6.0 伏工作电压范围
低功耗 CMOS 技术
写保护功能 当 WP 为高电平时进入写保护状态
页写缓冲器
自定时擦写周期
1,000,000 编程/擦除周期
可保存数据 100 年
8 脚 DIP SOIC 或 TSSOP 封装
温度范围 商业级 工业级和汽车级
原理图
单片机EEPROM实验原理图及读写程序
写入过程
发送器件地址(0XA0)
发送要写入24C02的内存地址
发送要写入的数据
发送器件地址的格式
单片机EEPROM实验原理图及读写程序
高四位1010是24Cxx系列的固定器件地址,接下来是A2、A1、A0是根据器件连接来决定,我们的原理图都接地所以是000。R/W为是选择读还是写,1的时候是读,0的时候是写。所以写的地址为0xA0。
写入程序:
函数名 : void At24c02Write(unsigned char addr,unsigned char dat)
函数功能 : 往24c02的一个地址写入一个数据
void At24c02Write(unsigned char addr,unsigned char dat)
{
I2cStart();
I2cSendByte(0xa0); //发送写器件地址
I2cSendByte(addr); //发送要写入内存地址
I2cSendByte(dat); //发送数据
I2cStop();
}
读出过程
发送写入的器件地址(0XA0)
发送要读的24C02的内存地址
发送读出的器件地址(0XA1)
读取数据
当读取的时候,地址的最后一位R/W为是选择读,也就是该位为1。所以读取的地址为0xA1。
读出程序:
函数名 : unsigned char At24c02Read(unsigned char addr)
函数功能 : 读取24c02的一个地址的一个数据
unsigned char At24c02Read(unsigned char addr)
{
unsigned char num;
I2cStart();
I2cSendByte(0xa0); //发送写器件地址
I2cSendByte(addr); //发送要读取的地址
I2cStart();
I2cSendByte(0xa1); //发送读器件地址
num=I2cReadByte(); //读取数据
I2cStop();
return num;
}