发表于:2009/3/18 11:05:59
#0楼
单片机系统存储器扩展实例
单片机系统存储器的扩展主要包括程序存储器和数据存储器的扩展。程序存储器扩展比较方便,一般都是扩展一片并行接口的eprom(27系列芯片)、eeprom(28系列芯片)或flash(29系列芯片),如常用的eprom芯片有27c64(8kb)、27c256(32kb)和27c512(64kb);数据存储器的扩展按芯片采用的接口技术不同可分为并行接口的芯片和串行接口的芯片扩展。因串行接口芯片具有引脚少,集成度高,功耗低等特点,是数据存储器扩展的发展方向,关于串行接口存储器的扩展技术将在第七章中介绍。并行接口的外部ram,按照芯片的采用的技术不同又可分为:sram、eeprom或flash三种,不论哪种芯片,它们和单片机的接口电路都是相同的,对它们的读操作也是相同的,而对eeprom或flash的写操作比sram要慢很多。单片机系统中最常用的sram有6264(8kb)、62256(32kb)和628128(128kb),其中,62256有dip封装有两种尺寸;当要求存放的数据在停电时不允许丢失时,应该扩展eeprom或flash芯片,如at28c256(32kb)、at29c256(32kb)等。
at89s51单片机有16条地址线,原则上最大可以访问64kb的外部数据存储器空间,即单片机系统最大可扩展64kb的外部ram。由于单片机系统的外部ram和端口是统一编址的,实际的应用系统还会有端口存在,真正用于存放数据的外部ram一般达不到64kb。然而,实际的数据采集系统常常需要存放比64kb更多的数据,单片机系统是否能扩展超过64kb的外部ram呢,答案是肯定的,在本章的最后,举一个扩展大容量外部ram的例子。
【例5.4】设计一个能存放128kb数据的外部ram。
解:at89s51只有16条地址线,可直接访问的最大空间为64kb,要想存放128kb的数据,必须通过存储器分页技术,即将128kb的存储器分为4页,每页32kb,或分成8页,每页16kb。由于系统有会有端口存在,一般不会分成两个64kb。128kb的存储器空间可以用4片62256组成,也可以由一芯628128实现,为了简化电路,这里选用hm628128。hm628128为一个容量为128kb的并行接口sram,它有17条地址线,可以用最高两位地址a16、a15进行分页,即将这两位地址分别接至带有锁存功能的输出口如p1.0和p1.1即可,低15位地址线(a14~a0)接单片机的地址总线,电路如图5.16所示:
在对岸628128进行读写、前,先给p1.0、p1.1一个确定的信号,然后,再对其进行读写。当p1.0、p1.1分别为00、01、10、11时,分别选中628128四个不同的32k空间。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=80674&Name=mahuaqiang