AT89C2051实现的AT24C04读写及校验程序

需积分: 49 26 下载量 62 浏览量 更新于2025-01-02 收藏 37KB PDF 举报
"这篇资源是关于使用AT89C2051单片机实现对AT24C04 EEPROM的读写程序。程序通过IIC(两线接口通信)协议进行通信,其中AT24C04具有512字节的存储空间,被分为256个字节的大页,地址范围从0x000到0x1FF。每个大页由16个字节的小页组成,小页地址由地址字节的高4位决定,而低4位对应小页内的字节位置。写入数据时,如果超过小页的最后一个字节,地址会自动回卷到小页的起始位置。程序包含了启动、停止、应答检测以及发送和接收8位数据的函数,还有对整个存储器填充特定数据的函数。" 在IIC通信中,AT89C2051单片机作为主设备,通过SCL(时钟线)和SDA(数据线)与从设备AT24C04进行交互。`Start()`和`Stop()`函数分别用于启动和结束一次IIC通信,而`ack(bit)`函数处理从设备的应答信号,`cack(void)`则用于检测从设备是否正确接收了数据。`Send8bit(unsigned char)`函数用于发送一个8位的数据,数据的传输顺序是从高位到低位。`Read8bit(void)`函数则用于读取从设备返回的8位数据。 `SendFill(void)`函数是用于向AT24C04写入填充数据的,它返回一个状态值,00表示写入成功,0xFF表示写入失败。在实际应用中,这个函数可能用于初始化或者测试EEPROM的读写功能。 在硬件配置上,SDA和SCL引脚被映射到了P1口的不同引脚上,同时还有几个LED引脚用于可能的指示或调试目的。程序使用了Keil编译器,并且特别指出是针对12MHz晶振的AT89C2051单片机进行设计的。 编写这个程序的人是朱俊锋,日期为2007年12月1日。这个程序不仅提供了基本的读写操作,还包含了错误检测和处理机制,使得在实际应用中能更稳定地操作AT24C04芯片。对于想要使用AT24C04进行数据存储的项目来说,这是一个重要的参考资源。