STC单片机片内EEPROM的读写

本文介绍了如何在STC89C52RC单片机上进行片内EEPROM的读写操作。通过提供的头文件stcEEPROM.h中的3个函数,包括擦除扇区、写字节和读字节。强调了在使用STC单片机的片内EEPROM时需要注意的几个关键点,如地址、字节编程规则、扇区擦除、电源电压要求以及可靠性检测方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

宏晶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


接下来是stcEEPROM.c文件内容:
/*
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第一扇区开始
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值