I2C EEPROM IC(24C04)与8051微控制器的接口

在本文中,我们将看到如何接口一个EEPROM IC到8051微控制器.有不同种类的EEPROM集成电路可在市场上买到。最常用的EEPROM系列是24 cxx系列设备,如24C02,24C04,24C08等等,这里我们使用最常见的EEPROM IC 24C04,一个LCD模块和AT89S52微控制器(8051变体),用于本教程。AT89S52是由Atmel制造的典型8051微控制器。将EEPROM连接到微控制器非常简单。您只需在24C04 IC和8051微控制器之间建立2个连接。让我们开始工作吧!

eepm(电可擦可编程只读存储器)-是一个非易失的闪存,它有能力保留数据,即使电源被删除。

关于I2c EEPROM IC 24C04的说明

在本教程中演示如何将EEPROM与8051接口,我们使用了基于I2C协议(二线协议)的EEPROM IC。它的内存容量是4kb。内存被分成32个页,每个页包含16个字节。24C04是一个8引脚的集成电路串行通信协议,称为I2C

I2C总线物理上由2根活动导线组成。称为SDA和SCL的导线都是双向的。SDA是串行数据线,SCL是串行时钟线。连接到总线的每个设备都有自己独特的设备地址,无论是MCU还是EEPROM IC。根据功能的不同,这些芯片中的每一个都可以充当接收器或发射器。

24C04将作为通信网络中的从机,控制器只能通过启动启动条件以及要从中读取数据的设备地址和页码来访问从机。之后,我们需要发送字节数,以便访问其中的值。

要将数据写入指定的内存位置,我们需要通过启动启动条件以及设备地址和要写入数据的页码来访问从机。然后我们需要设置字节和数据的编号。需要生成停止条件以终止读取或写入操作。

8051的接口是简单的I2C,SDA和SCL引脚连接到8051的任意两个引脚。在软件方面,我们使用一个名为I2C"用于I2C通信。这个库允许您与I2C / TWI设备进行通信。

我希望你能理解到现在为止!让我们来看看电路图吧!下面给出了将外部存储器EEPROM连接到8051的电路图。

8051 EEPROM

如图所示进行连接!现在让我们进入编码部分。

程序/代码说明

下载程序-嵌入式C

我们开始包括“LCD8bit“把图书馆纳入计划。它是一个用户定义的库以8位模式连接微控制器和LCD模块。在这个库中,我们包含了一些函数,用于初始化LCD,用于发送命令和发送要显示的数据。连接到LCD的数据引脚和连接到命令引脚的端口可以在库本身配置。在这里,我们定义port0用于数据管脚和P2.5、P2.6和P2.7用于命令引脚。

这里使用的另一个用户定义的库是“延迟"由命名为"延迟_ms()”和“Delay_us ()“.Delay_ms(1000)将使程序停止1000毫秒(即1秒),当我们需要使程序停止几微秒时,将使用Delay_us(_)函数。

这里我们主要关注24C04接口。如前所述,一个名为“I2C“此处用于I2C通信。这个I2CStart()函数将启动通信。I2CSend()用于发送数据和数据的功能I2Cread ()用于从特定内存位置读取数据。

函数名为EepromReadByte ()“在主程序中定义,用于从eeprom ic读取数据。要从中读取数据的内存位置的地址应作为参数提供给函数。“EepromWriteByte ()“是用于写入数据的函数。在这里,与内存位置的地址一起,要写入的数据也应作为参数给出。

EepromReadNBytes ()”和“EepromWriteNBytes()“是用于从特定页面连续读取或写入字节的函数。“EepromEraseAll()”是用于删除EEPROM中内容的函数。

著者

评论都关门了。

Baidu