51 unidad AT24C02 para almacenar datos
Introducción de AT24C02
1. AT24C02 es un tipo de memoria que puede darse cuenta de fallas de energía sin pérdida. Puede usarse para guardar la información de datos que el microcontrolador quiere mantener permanentemente cuando se ejecuta.
Medio de almacenamiento: E2PROM
interfaz de comunicación: bus I2C
Capacidad: 256 bytes
2, pines y circuito de aplicación
3, el diagrama de bloques de la estructura interna
4. Marco de datos AT24C02 Escritura de
bytes: escribir "datos" en "dirección de palabra" Lectura
aleatoria: leer "datos" en "dirección de palabra"
programa principal
dirección almacenada
#define AT24C02_ADDRESS 0xA0
/**
* @brief AT24C02写入一个字节
* @param WordAddress 要写入字节的地址
* @param Data 要写入的数据
* @retval 无
*/
void AT24C02_WriteByte(unsigned char WordAddress,Data)
{
I2C_Start();
I2C_SendByte(AT24C02_ADDRESS);
I2C_ReceiveAck();
I2C_SendByte(WordAddress);
I2C_ReceiveAck();
I2C_SendByte(Data);
I2C_ReceiveAck();
I2C_Stop();
}
/**
* @brief AT24C02读取一个字节
* @param WordAddress 要读出字节的地址
* @retval 读出的数据
*/
unsigned char AT24C02_ReadByte(unsigned char WordAddress)
{
unsigned char Data;
I2C_Start();
I2C_SendByte(AT24C02_ADDRESS);
I2C_ReceiveAck();
I2C_SendByte(WordAddress);
I2C_ReceiveAck();
I2C_Start();
I2C_SendByte(AT24C02_ADDRESS|0x01);
I2C_ReceiveAck();
Data=I2C_ReceiveByte();
I2C_SendAck(1);
I2C_Stop();
return Data;
}
código principal
void main ()
{
LCD_Init(); //LCD1602初始化
AT24C02_WriteByte(1,210); // 写入一个数据”210“
Delay(5); //延时5S
Data=AT24C02_readByte(1); //读取数据
LCD_ShowNum(2,1,Data,3); //在第二行第一列显示”210“ 3位
while(1)
{
}
}
Fenómenos experimentales
Nota:
El máximo de datos escritos es 255
AT24C02 cableado en el archivo de la biblioteca IIC. Se pueden definir diferentes placas de desarrollo de acuerdo con el cableado integrado. Si
necesita un proyecto completo, puede dejar un mensaje a continuación para obtenerlo.