STC89C52单片机内部EEPROM应用,用来断电保护,保存一个long型变量,改了N遍程序都无法使用,求高手指点

我在设计一个车程车速检测系统,用外部中断0来计数,记为amount,amount是long型,要把amount实时保存到EEPROM内,上电再取出来。但是我写的程序就是无... 我在设计一个车程车速检测系统,用外部中断0来计数,记为amount,amount是long型,要把amount实时保存到EEPROM内,上电再取出来。但是我写的程序就是无法实现这个。其它功能都正常。求高手指点,程序太长贴到我的空间,劳驾转过去看一下
http://hi.baidu.com/sfftllbioebkvxd
程序要查看全文才看全
展开
 我来答
GUEL86
2013-04-24 · TA获得超过5857个赞
知道大有可为答主
回答量:5538
采纳率:86%
帮助的人:2874万
展开全部
STC89C52单片机内部EEPROM应用,断电保护的方法,
需要 外电路触发,即 在断电时 给一个触发 信号 产生一个中断,
如 5 V 单片机 在 4.5 V 时产生 触发中断 就可以。
中断服务程序 完成 把需要保存的数据 写入 EEPROM 中。上电时读出恢复。
STC 系列单片机 有些型号 内部 就有 低电压 检测电路,就可以直接用低电压 中断。
更多追问追答
追问
我看了stc官方的89C52资料,里面也没讲你说的那个啊
追答
你指的是那个,如果断电保护数据的方法,资料里是没有的。
按照上述方法 是肯定的。
魔靥一阵风
2013-04-24 · TA获得超过197个赞
知道小有建树答主
回答量:174
采纳率:100%
帮助的人:141万
展开全部
89C52 里面没有EEPROM,你想要掉电保存数据,就必须要加存储芯片。
AT24C02,AT24C04或者AT24C08,
他们都是IIC驱动很简单。
平时我们烧写的程序代码是固化到程序存储空间,程序运行时候的数据是放到Drom,相当于我们电脑的内存。请问我们电脑的内存在掉电后能不能保存数据吗?
追问
stc89c52是有的,我已经弄好了,不过也谢谢你啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
申税炸蛋
2013-04-24 · TA获得超过466个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:198万
展开全部
拜托,EEPROM是字节写入,字节读出,不是你定义什么数据类型写入写出都可以的!
像要保存long型数据,你要把它分为4字节进行保存,读取也是读取4字节,再拼凑成long型数据
追问
按你说的改了,但是还是不能断电保存,帮我看一下程序,行吗?改后的程序还在上面的连接中!
万分感谢
追答
首先,不断地擦写EEPROM对EEPROM非常伤!虽然他说有10万次擦写寿命,不过按你的写法,不出几天EEPROM就挂掉了。你应该有计划地使用EEPROM,建立自己的存储方案,尽量使用到所有EEPROM,而不是对一个位置不断地擦写。
其次,你要断电保存,是一定要还是非必要。比如你有计划地1秒记录一次数据,那么就没必要说什么断电保存了,应为至少断电前1秒的数据都保存了,最多只是差1秒的数据没记录而已。
要是你非得要做断掉保存,那么你要分两步走。1是识别断电。这很简单。单片机要能识别断电,就证明主供电已经断了,但单片机仍能工作。只要单片机供电中串接一二极管,在二极管后并大容量电容,在二极管前接一下拉电阻,并用IO口进行掉电检测。2.当检测到掉电时必须进行数据保存即可。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式