阅读:3146回复:6
51单片机与8M FLASH的地址线如何连接
51单片机最多可扩64K RAM/FLASH,现我想用51带个8M FLASH做数据存贮?请各位大虾指教如何连接FLASH的地址线?
|
|
沙发#
发布于:2003-10-23 13:12
偶的回答不一定刚好是你需要的,
×× 51可以直接存取64K数据或地址空间, 远超过64K时, 可以考虑外接串并转换芯片, 用输出并行信号作存储器高位地址信号用。 |
|
|
板凳#
发布于:2003-10-23 15:20
可以地址分时负用,单片机教材上一般都有
|
|
地板#
发布于:2003-10-24 20:52
如果你的flash接口是串口的话,就比较简单,直接与单片机连。
如果是并口的话,由于你的flash是8兆,还有你没有说清楚你的flash是多少位的。 这样吧,我以比较常见的16位的8兆flash,它的地址线有22个脚,单片机选择at89c51,我有个办法就是利用锁存器73LS373来锁存地址和数值。解决办法就如下:总共利用3片锁存器,每片是8位,可以满足22位地址,利用单片机的P2口分别写入22位地质,利用P1口来控制3片373,写入相应的地址,地址锁存之后,然后利用P0,P2口写入16为数据,然后利用P1口来控制FLASH写入控制。 注:P1口中有8个脚,完全可以满足锁存器和FLASH控制功能。 |
|
地下室#
发布于:2004-03-22 11:07
分页啊
|
|
5楼#
发布于:2004-03-25 10:45
Keil C 中直接可以使用分页,在工程里设置即可。
地址线高位接于P1口上,软件直接使用,具体实现由编译器实现 |
|
6楼#
发布于:2004-08-26 20:15
我也要用89lv51写flash TE28F800.(8M~64M)
我如下设计不知对不对,请有经验的帮忙提见意,急! 要求写两兆 Vcc用3.2V 首先datasheet te28f800 电压范围(1。65~3。7V) 所以用89lv51而不用89c51. rp#(reset pin),Vpp(program level option pin),Vcc,Vccq(输出 电压选择脚)全接DC3.2V CE#,GND,A17,A18,A19,A20,A21接地。 P2-->A8~A15 P0-->74hc373-->A0~A7 P3.x-->A16 P0-->D0~D7 P1-->D8~D15 P0通过 两片mc14551(四通道模拟开关)切换D0~D7与D8~D15 RD-->OE# WR-->we# p3.x-->wp# p3.x-->mc14551 程序用MOV A,#DPTR 先读低八位 通过P3.x控制MC14551 第二次读高八位 |
|