您的位置:社区首页 > 单片机 >单片机技术 > 如何使用51的外部RAM?!
 
信息主题:
标题:如何使用51的外部RAM?!
如何使用51的外部RAM?!

我想用外部ram来保存断电前的51单片机中的设定数据,以便于在下次通电时不需要先前烦琐的设定过程,有那位朋友有过这方面的经验,希望能给予小弟一些帮助,谢谢!!

第 2 楼
2006-4-28 3:33:06
   

应该加后备电池。

第 3 楼
2006-4-28 3:33:06
   

您好,谢谢您的帮助,您的方法也是我们考虑的一种,可是这个方法现在还在实验中,我另外想准备第二种方法,就是增加外部ram的方法,我不知道有谁使用过,谁有这方面的经验,希望能给我提供一些无私的帮助,同时也希望大家帮我出出主意,群策群力,小弟先在这里谢谢大家了

第 4 楼
2006-4-28 3:33:06
   
可彩用不怕掉电的外部ram。或彩用eeprom。如果掉电后数据不多的情况下可扩展一个i2c口,使用象24c01之类的芯片就可以了。
第 5 楼
2006-4-28 3:33:06
   

是的,谢谢您的建议,可是我有点不是很清楚,希望您不吝赐教,对于外部的ram我是不是只要将我单片机需要处理的数据存储到外部ram的地址中去就行了,还有就是采用eeprom对于我设定的数据会有什么帮助呢,希望您能继续关注我的帖子,等待您的答复。

第 6 楼
2006-4-28 3:33:06
   

ram一般用来运行过程中有许多临时性的寄存。

如果仅仅只是用来存储数据,那就选择用iic的eprom,比如at24c02等等

第 7 楼
2006-4-28 3:33:06
   

楼主,如果采用2864a(存贮容量为8k*8位,是nmos电路,输入和输出与ttl电平兼容,采用单一的+5v供电,最大工作电流150ma,读出时间最大为250ns),则扩展基本象6264那样。读写数据时只需要用读写外部指令“movx”。如果写入的数据过多,则可查寻该芯片提供的rdy/busy引脚,该引脚为“0”则为写完成,如果该引脚为“1”则为写数据正进行中。

1脚:read/busy

2脚:a12

3脚:a7

4脚:a6

5脚:a5

6脚:a4

7脚:a3

8脚:a2

9脚:a1

10脚:a0

11脚:i/o0

12脚:i/o1

13脚:i/o2

14脚:gnd

15脚:i/o3

16脚:i/o4

17脚:i/o5

18脚:i/o6

19脚:i/o7

20脚:ce反

21脚:a10

22脚:oe反

23脚:nc

24脚:a9

25脚:a8

26脚:nc

27脚:we反

28脚:vcc

nc为空脚,不用联接

反:为低电平有效

采用该芯片只须像扩展一般的数据存储器那样扩展,但当一次写入很多的数据时,把数据分为16个字节来写入,写入一个16字节后,单片机不断检查1脚(read/busy脚),当该引脚变为“0”后,数据可写入,当该引脚为“1”时,必须等待。其余的写入就是“movx”指令。

第 8 楼
2006-4-28 3:33:07
   

其实,2864和2817这类的存储器也可用来作为程序存储器。

第 9 楼
2006-4-28 3:33:07
   

当数据存储量不大时也可采用m9346芯片,该芯片是64*16位(1024位),有dip8脚的封装和扁平的14脚封装两种。它采用串行接口,与并行的相比,体积小,价廉、电路连接简单,但数据传送速度慢,常用于智能仪器、仪表设备中。该芯片片有专门的读指令和写指令。

第 10 楼
2006-4-28 3:33:07
   

另外还有24c01、24c02、24c04、24c08和max2502等芯片。其中max250x芯片带有看门狗功能,其数据的传输有点像spi总线。

第 11 楼
2006-4-28 3:33:11
   

其中在系统设计中,只需要保存那些关键的数据就行了,往往这些数据都是标志性的数据。这样,数据量会大大减少。这样只需像max芯片和24cxxx就足够了。除非特殊情况,都不需要像2864和2817、2816这类的芯片。

如果需要,这些芯片我都用过,只是由于时间久了,那些程序找不到了,你确定用什么方案后,还有什么不清楚的地方再和我探讨。

[ 1 ]  [ 2 ]  
共 2 页 16 条主题,当前第 1 页