基于PIC单片机对EEPROM读写的一种方法
答案:1 悬赏:70 手机版
解决时间 2021-02-09 12:07
- 提问者网友:杀生予夺
- 2021-02-08 18:29
基于PIC单片机对EEPROM读写的一种方法
最佳答案
- 五星知识达人网友:煞尾
- 2021-02-08 19:04
是需要读写程序吗?
从指定地址下读取一个字节:
uchar ReadEEPROM(uchar EE_Addr)
{
EEADR=EE_Addr; //给地址
EEPGD=0; //
RD=1; //开始读
return EEDATA; //直接返回读取的EEPROM
}
将一个字节的数据写入指定地址里:
bool WriteEEPROM(uchar EE_data,uchar EE_addr)
{
uchar j=0;//多次执行
EEIF=0; //clear flag
EEADR=EE_addr; //set address
EEDATA=EE_data; //set data.(one byte)
EEPGD=0; //EEPROM to be the data memory.
while(++j<10) //if there is wrong to write,begin
{
GIE=0; //关中断,保护
WREN=1; //写允许
EECON2=0x55;
EECON2=0xaa;
WR=1; //写开始,写完后硬件置0写
WREN=0; //写使能禁止
GIE=1; //开中断
while(WR); //等待写操作完成,没有判断EEIF
if(!WRERR) //如果无误,跳出程序,否则重写
return true;
}
return false;
}
从指定地址下读取一个字节:
uchar ReadEEPROM(uchar EE_Addr)
{
EEADR=EE_Addr; //给地址
EEPGD=0; //
RD=1; //开始读
return EEDATA; //直接返回读取的EEPROM
}
将一个字节的数据写入指定地址里:
bool WriteEEPROM(uchar EE_data,uchar EE_addr)
{
uchar j=0;//多次执行
EEIF=0; //clear flag
EEADR=EE_addr; //set address
EEDATA=EE_data; //set data.(one byte)
EEPGD=0; //EEPROM to be the data memory.
while(++j<10) //if there is wrong to write,begin
{
GIE=0; //关中断,保护
WREN=1; //写允许
EECON2=0x55;
EECON2=0xaa;
WR=1; //写开始,写完后硬件置0写
WREN=0; //写使能禁止
GIE=1; //开中断
while(WR); //等待写操作完成,没有判断EEIF
if(!WRERR) //如果无误,跳出程序,否则重写
return true;
}
return false;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯