IIC总线EEPROM读写实验:MCU与24C02数据交互

需积分: 0 0 下载量 29 浏览量 更新于2024-08-04 收藏 1.36MB DOCX 举报
实验摘要信息:"实验三 IIC总线EEPROM读写1" 本实验主要目的是让学生掌握IIC(Inter-Integrated Circuit)总线的使用方法,理解EEPROM(Electrically Erasable Programmable Read-Only Memory)的工作原理,并通过MCU(Microcontroller Unit)与24C02 EEPROM芯片之间的IIC通信实现数据的读写。实验中,数据会被写入到EEPROM中(如学号的后8位),然后从芯片中读取并显示在数码管上,以验证读写操作的正确性。 实验内容涉及以下几个关键知识点: 1. IIC总线协议:IIC是一种由飞利浦(现NXP半导体)开发的两线接口协议,用于连接微控制器和其他外围设备。它只需要两条信号线——SCL(Serial Clock)和SDA(Serial Data),即可实现双向通信。IIC协议规定了起始和停止信号、数据传输、应答机制以及地址识别等规则。 2. EEPROM芯片24C02:24C02是一种常见的IIC接口的非易失性存储器,可保存数据即使在电源关闭后也不会丢失。该芯片有8个地址线,可以提供2^8=256个存储单元,每个单元通常为8位。 3. IIC通信过程: - 起始信号:由SCL高电平时SDA线产生下降沿形成,随后SDA和SCL线均保持低电平。 - 停止信号:SCL高电平时SDA线由低到高转变,在SDA线高电平状态维持一段时间后,SCL线变为低电平,完成停止信号。 4. 数据传输:数据在SCL的上升沿时被锁存,下降沿时进行数据传输。每次传输8位数据,先低位后高位。写操作前需要发送设备地址和写/读标志位,读操作时需要设备确认应答。 5. MCU与EEPROM的交互: - 写操作:MCU首先发送设备地址和写操作标志,等待应答;接着发送要写入的内存地址和数据,每次写入一个字节,每个字节写入后也需要接收应答。 - 读操作:MCU发送设备地址和读操作标志,等待应答;然后读取内存地址,之后连续读取数据,每次读取后MCU需要发送应答,直到所有数据读完。 6. 编程实现:实验中的代码示例使用了自定义的"I2cStart()"和"I2cStop()"函数来生成起始和停止信号。还有"I2cWriteByte()"和"I2cReadByte()"函数分别用于写入和读取数据。此外,还包含了一个简单的延时函数"Delay10us()",用于满足IIC协议对时序的要求。 实验步骤中,首先编写写入程序,将学号的后8位数据写入24C02的指定地址,下载到开发板进行调试。一旦写入成功,数据可以通过读取操作再显示在数码管上,以验证整个IIC通信链路的正确性。 在实验过程中,学生不仅需要理解IIC通信协议,还需要掌握C语言编程技巧,特别是针对嵌入式系统的编程。同时,通过实际操作,学生能够加深对EEPROM存储特性的理解,以及如何利用MCU的I/O口实现与外设的通信。