AT24C02有多少个字节可以用来存数据?

如题所述

AT24C02可以存储255个字节的数据。
AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含256×8位存储空间,即2048bit换成字节是256Byte,也就是说可以存储255个字节的数据。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-07
AT24C02可以存储256个字节数据
第2个回答  2011-08-30
AT24C02 =2K(256X8) 不信可以去看PDF文档,里面写得很祥细。
第3个回答  2011-08-30
/***************************************************************
功能:实现存储器EEPROM AT24C02的数据读写操作 采用IIC总线读写
作者:SG
时间:2004-03-15
版本:V1.0
***************************************************************/
#include "INTRINS.H"
#include "reg52.h"
#define WriteDeviceAddress 0xa0 //写驱动地址指令
#define ReadDeviceAddress 0xa1 //读驱动地址指令
sbit AT24C02_SCL = 0xa4;
sbit AT24C02_SDA = 0xa5;
/*-------------------------------------------------------------
功能:发起始信号
------------------------------------------------------------*/
void Start_Cond()
{
AT24C02_SCL = 0;
_nop_();
AT24C02_SDA = 1;
_nop_();
AT24C02_SCL = 1;
_nop_();
AT24C02_SDA = 0;
_nop_();
}
/*-------------------------------------------------------------
功能:发停止信号
------------------------------------------------------------*/
void Stop_Cond()
{
AT24C02_SCL = 0;
_nop_();
AT24C02_SDA = 0;
_nop_();
AT24C02_SCL = 1;
_nop_();
AT24C02_SDA = 1;
_nop_();
}
/*-------------------------------------------------------------
功能:发确认信号
------------------------------------------------------------*/
void Ack()
{
AT24C02_SCL = 0;
_nop_();
AT24C02_SDA = 0;
AT24C02_SCL = 1;
_nop_();
AT24C02_SCL = 0;
_nop_();
AT24C02_SDA = 1;
}
/*-------------------------------------------------------------
功能:发无确认信号
------------------------------------------------------------*/
void NoAck()
{
AT24C02_SCL = 0;
_nop_();
AT24C02_SDA = 1;
_nop_();
AT24C02_SCL = 1;
_nop_();
AT24C02_SCL = 0;
_nop_();
}
/*-------------------------------------------------------------
功能:写一个字节数据
------------------------------------------------------------*/
bit Write8Bit(unsigned char input)
{
unsigned char i;
for (i=0;i<8;i++)
{
AT24C02_SCL = 0;
input <<= 1;
AT24C02_SDA = CY;
AT24C02_SCL = 1;

}
AT24C02_SCL = 0;
_nop_();
AT24C02_SDA = 1;
AT24C02_SCL = 1;
_nop_();
CY = AT24C02_SDA;
return(CY) ;
}
/*-------------------------------------------------------------
功能:读一个字节数据
------------------------------------------------------------*/
unsigned char Read8Bit()
{
unsigned char temp,rbyte=0;
for (temp = 8;temp != 0;temp--)
{
AT24C02_SCL = 0;
_nop_();
rbyte = (rbyte << 1) | AT24C02_SDA;
AT24C02_SCL = 1;
_nop_();
}
return rbyte;
}
/*-------------------------------------------------------------
功能:从EEPROM中给定一个地址连续读NLEN个字节数据存放在以指针
nContent开头的往下内容。
------------------------------------------------------------*/
bit Read_Flash ( unsigned char *nContent, unsigned char nAddr, unsigned char nLen )
{
unsigned char Addr;
Addr = nAddr;
Start_Cond(); //写开始信号
Write8Bit(WriteDeviceAddress); //写驱动地址
Write8Bit(Addr); //写从EEPROM中读的开始地址
Start_Cond(); //写开始信号
Write8Bit(ReadDeviceAddress); //写读数据指令
while(--nLen)
{
*nContent=Read8Bit(); //读出内容
nContent++; //指针加1
Ack(); //发确认信号
}
*nContent=Read8Bit(); //读一字节
NoAck(); //没有确认信号
Stop_Cond(); //发停止信号
return(0); //返回
}
/*-------------------------------------------------------------
功能:初始化EEPROM子程序内容为FF
------------------------------------------------------------*/
bit Init_Flash ( unsigned int nPage ) // 8 Byte/1Page init 0xFF
{
unsigned char nLen;
unsigned char Addr;
nLen=8;
Addr=8 *nPage;
Start_Cond();
Write8Bit(WriteDeviceAddress);
Write8Bit(Addr);
for(;nLen!=0;nLen--)
{
if(Write8Bit(0xff)) break; //if Write8Bit() Return 1 Write Flase
}
Stop_Cond();
return(CY);
}
/*-------------------------------------------------------------
功能:从EEPROM中给定一个地址连续写NLEN个字节数据存放在以指针
nContent开头的往下内容。
------------------------------------------------------------*/
bit Write_Flash ( unsigned char *nContent, unsigned char nAddr,unsigned char nLen)
{
unsigned char i,temp;
unsigned char Addr;
Addr = nAddr;
Start_Cond(); //写开始信号
Write8Bit(WriteDeviceAddress); //写驱动地址
Write8Bit(Addr); //写从EEPROM中写的开始地址
for(i = 0;i < nLen;i++)
{
if(Addr%8==0) //每页8字节 //换页
{
Stop_Cond();
_nop_();
Start_Cond();
Write8Bit(WriteDeviceAddress);
Write8Bit(Addr);
}
temp = *nContent;
if(Write8Bit(temp)) break; //CY
nContent++;
Addr++;
}
Stop_Cond(); //发停止信号
return(CY);
}
/*-------------------------------------------------------------
主程序
功能:实现存储器EEPROM AT24C02的数据读写操作
------------------------------------------------------------*/
void main()
{
unsigned char dat[16],i;
Read_Flash(dat,0,16); //读出AT24C02中从地址0开始依次往后16个字节放入dat数组中
Init_Flash(0); //将AT24C02的第0页初始化为FF
Read_Flash(dat,0,16); //读出AT24C02中从地址0开始依次往后16个字节放入dat数组中
for(i = 0;i < 16;i++ )
{
dat[i] = i; //对数组dat初始化为0---F
}
Write_Flash(dat,0,16); //将dat数组中的数据写入AT24C02中地址从0开始
Read_Flash(dat,1,16); //读出AT24C02中从地址1开始依次往后16个字节放入dat数组中
while(1)
{
i = 9;
}
}
追问

看题目:AT24C02有多少个字节可以用来存数据?

第4个回答  2011-08-30
256追问

为什么?你有什么依据没有?

追答

数据手册写的很清楚:Internally Organized 256 x 8 (2K)

本回答被提问者采纳

AT24C02有多少个字节可以用来存数据?
AT24C02可以存储255个字节的数据。AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含256×8位存储空间,即2048bit换成字节是256Byte,也就是说可以存储255个字节的数据。

谁知道AT24C02的中文资料,在单片机中是如何被利用的,他的功能是什么呢...
AT24C02是美国 ATMEL 公司的低功耗 CMOS 串行 EEPROM,它是内含256×8 位存储空间,具有工作电压宽(2.5~5.5V) 、擦写次数多(大于10000次) 、写入速 度快(小于10ms)等特点。AT24C02中带有片内寻址寄存器。每写入或读出一个数 据字节后,该地址寄存器自动加1,以实现对下一个存储单元的操作。...

T24c02A 是什么芯片
AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个8字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。

单片机AT24C02存储电路的介绍,主要就是介绍2402芯片及引脚功能。_百度...
2Kbit e2prom存储器,1-A0,2-A1,3-A2 地址管脚;4-Vss 电源地;5-SDA 串行数据;6-SCL 串行时钟;7-WP 写保护;8-Vcc 电源

24c02怎么存数据
. 这样你就知道你写入数据的大小了, 比较AT24C02的2K位(bit)的存储容量, 通过简单的计算就知道够不够用了. 如果是汇编语言或者其它不能用sizeof()的编程语言, 可以查看编译的结果的文件(list文件或者map文件), 看看你用于写入数据所定义的变量, 数组, 结构(数据块)到底用了多少个字节.

at24c02到底有多大内存?书上说有2kb,又说有32页,每页码8B共256B,请问...
B是字节,bit是位简称b;1kb=1024b,1个字节为8位;每页8B,共32页,则总共是32*8=256B;也就是256*8=2048bit;即2kb。注意这个1k不是1千,而是1024.

请问,at24c02有16字节的页写缓冲区,是什么意思?是每页的长度是16字节...
就是说在“页写”模式时一次连续写进16字节的数据能保存在ROM中,超过16字节的部分被丢弃。

...可以存多少数据?回答者自己实际存多少字节数据在里面?
1、摘抄于《AT24C02中文资料》,描述如下:24C01\/02\/04\/08\/16 是低工作电压的 1K\/2K\/4K\/8K\/16K 位串行电可擦除只读存储器,内部组织为128\/256\/512\/1024\/2048 个字节,每个字节8位,该芯片被广泛应用于低电压及低功耗的工商业领域。也就是:128x8(1K),256x8(2K),512x8(4K),1024x8(8K),...

AT24C02,写数据时,只能写地址是0x00的一个字节,其他地址没有办法写进去...
1KB=1024B,2KB=2048B.如果用十六进制数表示则为:3FFH=1KB ,7FFH=2KB.2K的地址就是说从0X00H---07FFH.同理其实在我们学习单片机内部ROM区时它的空间大小就是FFFH=4KB.

at24c02中可以定义结构体变量么?
24c02,容量也不大,是256字节吧?对它读写,只是可以按照“从地址、字地址”来进行。你可以编写个函数,把某个结构体,写入24C02中的某片地址空间;同样道理,需要的时候再读出。这样,就可以在24C02中,存放多个结构体了。

相似回答