EEPROM问题

[复制链接]
2552|3
 楼主| dfsa 发表于 2013-1-9 22:34 | 显示全部楼层 |阅读模式
准备做一个计算器(基于C51或者AVR都行),要能算三角,初等函数,积分,微分。
算法什么的都好说,大概在Turbo C上尝试了一遍。
但是遇到一个蛋疼的问题:C51内存太小了,尽管我用的是C516RD+,有1280的内存
只要500个的int变量数组就直接溢出了,溢出的结果就是直接冲垮别的变量。
我想到了EEPROM,但是EEPROM在读写时候的时间不去说它,据说晶振频率高了以后读写就会出错……请教一下怎么避免这个问题,因为我以前的程序都没有用过EEPROM,所以不了解,DATA SHEET看了,还是不大明白……
我可是打算把STC89C516RD+的晶振频率提高到80MHZ这个极限的。(为的就是计算快一点,功率什么的不考虑)
就算用AVR开发也会遇到同样的问题吧。
所以请教一下大家:
1:EEPROM作为数据存储应该注意什么,怎么打到高速而且不出错?
2:有没有更好的数据存储芯片(不需要掉电保存数据)?
3:能不能想办法在单片机内使用链表(Keil)?(没有malloc很不会用的说)
火箭球迷 发表于 2013-1-9 22:47 | 显示全部楼层
1、实际说主频过高操作失败,这是因为每个芯片都有自己的时序,你的操作时序不符合芯片要求的,当然会出错。
   IO模拟I2C,时序是可控的。
2、我推荐的AT24CXX就很可靠了。
3、链表,指针这些是实现手段,KEIL支持标准C也就支持这些。毫无疑问的事情
yybj 发表于 2013-1-9 23:10 | 显示全部楼层
用汇编写,1280的内存足够了。
实在不行,就用一个SDRAM,并口的,只是电路有些复杂。
sinadz 发表于 2013-1-9 23:13 | 显示全部楼层
1. 换RAM大单片机
2. 外扩RAM,使用EEPROM 当RAM 用,效率低的可怜,强烈不推荐。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部