PIC单片机内部EEPROM数据保存读取

#include"12864.h"__CONFIG(0x3ffa);//EEPROM写数据函数voidWriteEE(u8add,u8data){do{}while(WR... #include"12864.h"
__CONFIG(0x3ffa);
//EEPROM写数据函数
void WriteEE(u8 add,u8 data)
{
do{}
while(WR == 1);//等待写完成
EEADR = add;//写入地址信息
EEDATA = data;//写入数据信息
EEPGD = 0;//操作EEPROM
WREN = 1; //写EEPROM允许
EECON2 = 0x55;//写入特定时序
EECON2 = 0xaa;
WR = 1; //执行写操作
do{}
while(WR == 1);//等待写完成
WREN = 0;//禁止写入EEPROM
}
//EEPROM读数据函数
u8 ReadEE(u8 add)
{
u8 d;
do{}
while(RD == 1);//等待读完成
EEADR = add;//写入要读的址址
EEPGD = 0;//操作EEPROM
RD = 1;//执行读操作
do{}
while(RD == 1);//等待读完成
d= EEDATA;
return d;//返回读取的数据
}
void main()
{
u8 d;
lcd_init();
show_string(0x80,"pic");
WriteEE(3,100);
d=ReadEE(3);
show_number(0x90,d);
while(1)
{

}
}
这个程序在液晶屏上能显示读到的数据是100;
但是我想检测断电能不能保存,我就把主程序里面的WriteEE(3,100);去掉了,第二次只读3号地址,显示读到的结果是255。难道是没保存,还是编程器把原来的EEPROM的数据擦除了?
展开
 我来答
luckycuy
2013-10-29 · TA获得超过430个赞
知道小有建树答主
回答量:234
采纳率:50%
帮助的人:168万
展开全部

写程序的时候是会重新改写eeprom内容的,这个你需要修改下程序,断电验证比较合适。

追问
你这个是在哪里的
追答
写程序的时候有提示啊   windows --> output
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
摆渡人生_2012
2013-10-29 · TA获得超过878个赞
知道小有建树答主
回答量:607
采纳率:50%
帮助的人:282万
展开全部
保存是可以的 但是你不能重新烧写程序。
你可以 通过一个按键, 按一下 写入a++
不按则不写 然后断电 不按按键 看屏幕显示是多少。。是不是对的就OK了。。。
更多追问追答
追问

写了一个按键断电后,归0了,还是没保存
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式