51单片机中的EEPROM怎么用? 您所在的位置:网站首页 eeprom怎么编程 51单片机中的EEPROM怎么用?

51单片机中的EEPROM怎么用?

2023-12-05 09:41| 来源: 网络整理| 查看: 265

EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。

EEPROM模块在“蓝桥杯”单片机设计与开发项目比赛中经常出现,其在决赛中必然出现,在近四年中省赛出现过一次。可以说EEPROM的掌握是准备“蓝桥杯”单片机设计与开发比赛避不开的内容。

蓝桥杯单片机开发所使用的EEPROM储存芯片是AT24C02,通过IIC数据总线进行数据传输。通过一根SCL时钟信号线和SDA数据信号线串行传输。 在这里插入图片描述 引脚说明: A0,A1,A2:硬件地址引脚。 WP:写保护引脚,接高电平只读,接地允许读和写。 SCL和SDA:IIC总线。

先把EEPROM和IIC的模块代码放出来

IIC.c #include "reg52.h" #include "intrins.h" #include "I2C.h" #define DELAY_TIME 5 #define SlaveAddrW 0xA0 #define SlaveAddrR 0xA1 //总线引脚定义 sbit SDA = P2^1; /* 数据线 */ sbit SCL = P2^0; /* 时钟线 */ void IIC_Delay(unsigned char i) { do{_nop_();} while(i--); } //总线启动条件 void IIC_Start(void) { SDA = 1; SCL = 1; IIC_Delay(DELAY_TIME); SDA = 0; IIC_Delay(DELAY_TIME); SCL = 0; } //总线停止条件 void IIC_Stop(void) { SDA = 0; SCL = 1; IIC_Delay(DELAY_TIME); SDA = 1; IIC_Delay(DELAY_TIME); } //发送应答 void IIC_SendAck(bit ackbit) { SCL = 0; SDA = ackbit; // 0:应答,1:非应答 IIC_Delay(DELAY_TIME); SCL = 1; IIC_Delay(DELAY_TIME); SCL = 0; SDA = 1; IIC_Delay(DELAY_TIME); } //等待应答 bit IIC_WaitAck(void) { bit ackbit; SCL = 1; IIC_Delay(DELAY_TIME); ackbit = SDA; SCL = 0; IIC_Delay(DELAY_TIME); return ackbit; } //通过I2C总线发送数据 void IIC_SendByte(unsigned char byt) { unsigned char i; for(i=0; i unsigned char i, da; for(i=0; i unsigned i; while(t--) for(i=0;i unsigned char da; IIC_Start(); IIC_SendByte(0xA0);//器件地址 IIC_WaitAck(); IIC_SendByte(add); IIC_WaitAck(); IIC_Start(); IIC_SendByte(0xA1);//读取地址 IIC_WaitAck(); da = IIC_RecByte(); IIC_SendAck(1); IIC_Stop(); return da; }

代码中涉及到IIC通信协议的都会在比赛时由官方提供,我们也不是主要讲IIC通信协议的。这里就讲讲利用IIC与AT24C02通信的两个函数加一个操作延时函数。

void operate_delay(unsigned char t) { unsigned i; while(t--) for(i=0;i unsigned char da; IIC_Start(); IIC_SendByte(0xA0);//器件地址 IIC_WaitAck(); IIC_SendByte(add);//写入地址 IIC_WaitAck(); IIC_Start(); IIC_SendByte(0xA1);//读取地址 IIC_WaitAck(); da = IIC_RecByte(); IIC_SendAck(1); IIC_Stop(); return da; }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有