51单片机之内部集成EEPROM

#include <reg52.h>
#include <intrins.h>


typedef unsigned char uchar;
typedef unsigned int uint;


/*寄存器*/
sfr IAP_DATA     = 0xE2;//数据寄存器
sfr IAP_ADDRH    = 0xE3;//地址寄存器高8位
sfr IAP_ADDRL    = 0xE4;//地址寄存器低8位
sfr IAP_CMD      = 0xE5;//命令寄存器
sfr IAP_TRIG     = 0xE6;//命令触发寄存器
sfr IAP_CONTR    = 0xE7;//命令寄存器


/*IAP_CMD寄存器命令*/
#define CMD_STAND 0x00;//待机
#define CMD_READ  0x01;//读
#define CMD_WRITE 0x02;//写
#define CMD_ERASE 0x03;//擦除


/*IAP_CONTR寄存器命令*/
//IAP_CONTR最高位为1时允许读写和擦除
//#define IAP_ENABLE 0x80           //系统晶振<40MHz
#define IAP_ENABLE   0x81           //系统晶振<20MHz
//#define IAP_ENABLE x82            //系统晶振<10MHz
//#define IAP_ENABLE 0x83           //系统晶振<5MHz


//定义EEPROM扇区
#define IAP_ADDR1 0x2000;


sbit LED0=P2^0;//定义led IO口
sbit LED1=P2^1;


sbit K0=P1^4;//定义按键 IO口
sbit K1=P1^5;


void IapClose();//关闭IAP
void IapClear(uint addr);//清空一个扇区
uchar IapRead(uint addr);//读EEPROM中的数据
void IapWrite(uint addr,uchar dat);//向EEPROM写数据


void main()
{
uchar edata;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值