#include <reg51.h> void writeEEPROM(unsigned char address, unsigned char data) { // 禁止中断 EA = 0; // 设置数据地址 IAPADDR = address; // 设置写操作 IAPCON = 0x80; // 写入数据 IAPDAT = data; // 开始写操作 TR0 = 1; // 等待操作完成 while (TR0); // 恢复中断 EA = 1; } unsigned char readEEPROM(unsigned char address) { // 设置数据地址 IAPADDR = address; // 设置读操作 IAPCON = 0x81; // 开始读操作 TR0 = 1; // 等待操作完成 while (TR0); // 返回读取的数据 return IAPDAT; } void main() { unsigned char data = 0; // 从EEPROM中读取上一次保存的数据 data = readEEPROM(0x00); // 将数据加1 data++; // 将更新后的数据保存到EEPROM中 writeEEPROM(0x00, data); // 此时断电,下次上电时可以读取到已保存的数据 }
时间: 2023-06-24 15:08:47 浏览: 113
eeprom_use.rar_单片机开发_C/C++_
这段代码是8051单片机中使用IAP(In-Application Programming,应用程序编程)实现对EEPROM(电可擦可编程只读存储器)的读写操作。其中,writeEEPROM函数用于将数据写入EEPROM,readEEPROM函数用于从EEPROM中读取数据。在main函数中,先从EEPROM中读取上一次保存的数据,然后将数据加1,并将更新后的数据保存到EEPROM中。这样,在下次上电时就可以读取到已保存的数据。
阅读全文