宏晶STC很多系列的单片机片内都集成了EEPROM存储器(其实是Data Flash),方便用户使用,想得真周到!今天写了个小程序,测试了一下,工作正常。下面就上我自己写的源程序。本人在STC89C52RC单片机上试验成功。
首先是stcEEPROM.h头文件内容:
/*
When Who Remarks
----------------------------------
2011-Oct-06 黄长浩 初始版本
*/
#ifndef __STCEEPROM_H__
#define __STCEEPROM_H__
#define STC_EEPROM_START_ADDR 0x2000 //STC89C52RC片内EEPROM起始地址
unsigned char eepromRead( unsigned int address );
void eepromWrite( unsigned int address, unsigned char writeData );
void eepromEraseSector( unsigned int address );
#endif
/*
When Who Remarks
----------------------------------
2011-Oct-06 黄长浩 初始版本
*/
sfr isp_data=0xe2;
sfr isp_addrh=0xe3;
sfr isp_addrl=0xe4;
sfr isp_cmd=0xe5;
sfr isp_trig=0xe6;
sfr isp_contr=0xe7;
//擦除片内EEPROM的一个扇区
//擦除只能以扇区为最小单位进行,没法只擦除一个字节
//一个扇区是512个字节
//本函数参数里面的地址落在哪个扇区,则该扇区内数据都将被擦除
//例如:STC89C51RC片内EEPROM第一扇区开始