什么是片外扩展常见的外存储器有

无标题文档
8.4 程序存储器和数据存储器的扩展
8.4.1 程序存储器的扩展
1.单片程序存储器扩展
先以单片2716为例,说明程序存储器扩展的有关问题,如图8-11所示。
(1)存储器扩展的主要工作是地址线、数据线和控制信号线的连接。
&&&&地址线的连接与存储芯片的容量有直接关系。2716的存储容量为2K字节,需11位地址(A10~A0)进行存储单元的选择,为此先把芯片的A7~A0引脚与地址锁存器的8位地址输出对应连接。剩下的高位地址(A10~A8)引脚与P2口的P2。2~P2.0相连。这样2716芯片内存储单元的选择问题就解决了。此外,因为这是一个小规模存储器扩展系统,采用线选法编址比较方便,为此只需在剩下的高位地址线中取P2.7作芯片选择信号与2716的端相连即可。
&&&&数据线的连接则比较简单,只要把存储芯片的数据输出引脚与单片机P0口线对应连接就可以了。
&&&&在众对的控制线中,程序存储器的扩展只涉及到(外部程序存储器读选通)信号,把该信号连接到2716的端,以便进行存储单元的读出选通。
&&&&(2)存储映像分析
&&&&分析存储器在存储空间中占据的地址范围,实际上就是根据地址线连接情况确定其最低地址和最高地址。则本例2716芯片的地址范围便是:1×××,×000,B~ 1×××,×111,B。由于P2。6~P2.3的状态与该2716芯片的寻址无关,所以P2.6~P2.3可为任意状态组合,P2。6~P2。3从共有16种状态。
&&&&当P2.6 P2.5 P2.4 P2.3(A 14A13 A12A11)=0000时,\
&&&&则:最低地址=,B=8000H;
&&&&最高地址=11,1111B=87FFH。
&&&&当P2.6 P2.5 P2.4 P2.3(A 14A13 A12A11)=0001时,
&&&&最低地址=00,0000B=8800H;
&&&&最高地址=11,1111B=8FFFH。
&&&&…………
&&&&当P2.6 P2.5 P2.4 P2.3(A 14A13 A12A11)=1111时,
&&&&最低地址=00,0000B=F800H;
&&&&最高地址=11,1111B=FFFFH。
&&&&因此实际上该2716芯片对应有16个映像区,即:8000H ~87FFH,8800H~8FFFH,9000H~97FFH,9800H~9FFFH,A 000H~A7FFH,A800H ~AFFFH,…,F800H~FFFFH,在这些地址范围内都能访问这片2716。
&&&&映像区的非唯一性是线选法编址的一大缺点。
&&&&2.多片程序存储器扩展
例如使用两片2764芯片扩展一个程序存储器系统,如图8-13所示。2764的存储容量为64K位,即8K字节。&&
&&&&采用线选法编址。以P2。7作片选信号,当P2。7=0时,选左片;当P 2。7=1时,选择右片。因为2764为8KB×8bit的存储芯片,因此需要13根地址线,即P0口的8位和P2口的低5位(P2.4 P2.3 P2.2 P2.1 P2.0 ,-P0.7~P0.0)。则右片的地址范围是1××0,,0000B~1××1,,1111B;左片的地址范围是0××0,,0000B~0××1,,1111B。
由于P2.6 P2.5共有4种组态,因此,每个芯片有4个寻址区域,当P2.6 P2.5=00时,右片的寻址范围为8000H~9FFFH,左片的寻址范围为0000H~1FFFH。
8.4.2 数据存储器扩展
数据存储器扩展与程序存储器扩展在数据线、地址线的连接上是完全相同的。所不同的只在于控制信号。程序存储器使用作为读选通信号,而数据存储器则使用和分别作为读写选通信号。
&&&&1.线选法多片数据存储器扩展
例如:用4片6116实现8KB数据存储器扩展。其连接如图8-12。
多片RAM扩展时,读写选通信号以及A10~A0地址引线的连接与单片RAM扩展相同。特殊的只在于高位地址线的连接。这时P2口的高8位地址线中P2。2~P2。0已用作RAM芯片的高3位地址(A10~A0)。尚余下五条地址线,为此把其中的P2。3、P2。4、P2。5、P2。6分别作为4片RAM的片选信号。从而构成一个完整的线选法编址的8KB RAM扩展存储器。
&&&&本数据存储器扩展系统中各存储芯片的存储映像:
&&&&#:7000H~77FFH,Ⅱ#:6800H~6FFFH,Ⅲ#:5800H~5FFFH,Ⅳ#:3800H~3FFFH。 
&&&&2.译码法扩展多片数据存储器
&&&&同样以4片6116进行8KB数据存储器扩展,不过以译码法实现,其译码电路如图8-13所示。其它电路连接因为与图8-15完全相同,因此不予画出。图中使用74LS139作译码器,其译码输出Y0、Y1、Y2、Y3,依次作为Ⅰ#~Ⅳ#存储芯片的片选信号。本数据存储器扩展系统的存储映像为:
&&&&Ⅰ#:0000H~07FFH,Ⅱ#:0800H~0FFFH,Ⅲ#:1000H~17FFH,Ⅳ#:1800H~1FFFH。 
&&&&3.译码法扩展程序存储器和数据存储器
&&&&欲扩展两片程序存储器2764和两片数据存储器6264。由于扩展的芯片较多,因此采用译码法扩展。图8-14是通过74LS139译码器扩展存储器的一个方案。当P2.7
输出为“0”时,选中74LS139;P2.6和P2.5两根地址线组成的四种状态可选中为于不同地址空间的芯片。
各芯片对应存储空间为:
&&&&Ⅰ#:程序存储空间0000H~1FFFH;P2.7=0, P2.6=0,P2.5=0,Y0=0;
&&&&#:程序存储空间2000H~3FFFH;P2.7=0, P2.6=0,P2.5=1,Y1=0;
&&&&Ⅲ#:数据存储空间4000H~5FFFH;P2.7=0, P2.6=1,P2.5=0,Y2=0;
&&&&Ⅳ#:数据存储空间6000H~7FFFH;P2.7=0, P2.6=1,P2.5=1,Y3=0。
存储器是微型机系统不可缺少的的重要组成部分,它使计算机具有记忆功能。能将数据和程序存入计算机,使之脱离人的干预自动工作。按存取速度和用途可把存储器分内存(或主存)和外存(或辅存),本章主要介绍了内存。
&&&&内存一般都使用半导体存储器,其最重要的指标是存储器芯片的容量和存取速度。从应用角度可将半导体存储器分为随机读写存储器RAM和只读存储器ROM。随机读写存储器可分为静态RAM和动态RAM。静态RAM具有速度快、状态稳定不需刷新等优点,但集成度低,因而适于不需要大存储容量的微型计算机。在单片机应用系统中,外扩的数据存储器大多都采用静态数据存储器。
&&&&MCS-51单片机外部存储器的扩展包括外部ROM和外部RAM的扩展,在片外可扩展的存储器最大容量为64KB。扩展的主要任务是构造地址、数据和控制总线。在扩展时,以P0口的8位口线作为地址/数据线,以P2口的口线作为高位地址线。使用ALE作地址锁存的选通信号,以信号作为扩展ROM的读选通信号,以和作为扩展RAM的读写选通信号。另外,以信号作为内外ROM的选择信号。
&&&&芯片的选择方法有线选法和译码法。线选法只适于外扩芯片不多,规模不大的单片机系统。其主要缺点是地址空间不连续和不唯一。译码法适用于大容量多芯片存储器的扩展,连续和唯一的地址空间是译码法的突出优点,但是需要增加译码器。
&&&&外扩ROM时常用的EPROM典型芯片是Intel 27系列产品,例如,2764 (8KB×8)、27128(16KB×8)、27256(32KB×8)、27512(64KB×8)。外扩RAM的常用SRAM芯片有:6116(2K×8)、6264(8K×8)、62128(16K×8)和62256(32K×8)。它们都用单一+5V电源供电,双列直插封装。单片机的系统扩展原理及接口技术
第8章习题答案
高锋第二版_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
单片机的系统扩展原理及接口技术
第8章习题答案
高锋第二版
单​片​机​原​理​及​接​口​技​术​ ​ ​第章​课​后​答​案​ ​ ​ ​高​锋​ ​编​著​ ​ ​ ​科​学​出​版​社
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢单片机片外数据存储器扩展设计技巧简介
> 单片机片外数据存储器扩展设计技巧简介
单片机片外数据存储器扩展设计技巧简介
随着单片机运算速度和处理能力的不断提高,其在各个领域得到更广泛的应用。然而。随着其应用领域的不断扩大及集成化的不断提高,其内部资源已不能满足实际需求,往往需要对其内部资源进行扩展。经典的扩展方法主要是通过地址总线、数据总线即P0、P2口,以及控制线ALE等来进行数据或程序存储器的扩展,最大寻址空间可达64KB,但这种方法占用端口较多,在有些情况下不能满足需求。这里以系列单片机为例,介绍一种新的片外扩展方法,仅用单片机的P0口、P1.6及P1.7共10个端口便可实现256 KB的扩展。本文引用地址:
1 总体设计思路
单片机片内部存储空间为256 B,有P0、P1、P2、P3 4个I/O端口。实际应用中,其内部存储空间往往不能满足需求,常常会在片外进行扩展。有别于经典的扩展方法,这里并没有用到P2口,仅用P0口和各个存储器的地址线、数据线连接,组成地址总线和数据总线。同时将PO口的P0.0、P0.1和P0.2这3个端口引到译码器件的输入端,译码后作为件的片选择控制线,与单片机的其他控制端口一起形成控制总线。从而通过数据总线、地址总线和控制总线这3个总线实现单片机片外256 KB数据存储器的扩展。
单片机的PO口具备地址总线、数据总线及控制线的功能。由软件来分时传送地址信号、数据信号和片选择控制信号。
2 硬件接口电路设计
MCS-805l单片机与多片62256数据存储器的扩展电路主要由8片62256型数据存储器、3片74IS373锁存器和1片74LS138译码器件组成。62 256数据存储器为32 KB静态随机存取存储器,
为片选信号输入线, 为写选通信号输入线, 为读选通信号输人线,A0~A14为地址输入线,D0~D7为双向三态数据线。该存储器件在不同操作方式下控制引脚电平的状态如表1所示。74LS373是带三态缓冲输出的8D触发器,OE为使能端,G为控制端。其功能如表2所示。
图l是单片机与多片62256数据存储器的硬件连接电路。单片机的P0口与译码器741S138、锁存器74LS373-0和 74LS373-l的输入端口相连,用来传输地址信息和控制信息。同时,P0口还与数据存储器的数据线相连接,用来传输数据信息。P1.6接到锁存器 74LS373-2的控制端G,P1.7接到锁存器74LS373-1的控制端G,ALE接到锁存器74LS373-0的控制端上。由此,在P1.6、 P1.7和ALE 3个端口共同作用下,使可实现地址信息和数据信息的分时传送。T0~T7是8片62256数据存储器,组成片外256 KB存储空间。
3 软件设计
3.1 数据存储器扩展的软件设计
MCS-8051单片机片外256 KB数据存储器扩展,其软件设计的主要思路是如何在MCS-805l单片机与要访问的片外存储单元之间建立联系,实现两者的信息传递。MOVX指令执行时,将地址信息同时进行锁存,然后开始传送数据,其读、写周期很短,但占用端口较多。为了节约端口资源,可将地址信息分时传送,图2是单片机读、写片外数据存储器的过程。与MOVX指令不同,单片机在访问片外存储单元时,首先是分时将片外存储单元的地址信息送入锁存器并锁存起来,然后再对片外数据存储单元进行读、写操作,这是2个完全独立的过程,这一特点大大节约了端口资源,但读、写周期较长。
随着单片机运算速度和处理能力的不断提高,其在各个领域得到更广泛的应用。然而。随着其应用领域的不断扩大及集成化的不断提高,其内部资源已不能满足实际需求,往往需要对其内部资源进行扩展。经典的扩展方法主要是通过地址总线、数据总线即P0、P2口,以及控制线ALE、*****等来进行数据或程序存储器的扩展,最大寻址空间可达64KB,但这种方法占用端口较多,在有些情况下不能满足需求。这里以MCS-8051系列单片机为例,介绍一种新的片外数据存储器扩展方法,仅用单片机的P0口、P1.6及P1.7共10个端口便可实现256 KB数据存储器的扩展。
3.2 数据存储器扩展的软件实例分析
分析对数据存储器扩展软件设计可知,单片机通过P1口读、写片外数据存储单元时,软件设计具有重要作用。下面通过一实例介绍单片机访问片外数据存储单元的过程。
以下程序段首先是将片外存储器000000H单元中的内容读到片内存储器30H单元中,然后再将片内存储器30H单元中的内容写到片外存储器 077FFFH单元中。在程序中,首先将片内存储单元20H、21H和22H定义为地址信息存储单元,20H是高8位地址信息存储单元,仅低3位有效;21H是中8位地址信息存储单元,低7位有效;22H是低8位地址信息存储单元,8位全有效。所以,其寻址空间为000000H~007FFFH、 010000H~017FFFH、020000H~027FFFH、030000H~037FFFH、040000H~047FFFH、 050000H~057FFFH、060OOOH~067FFFH和070000H~077FFFH,共256 KB。MOVR和MOVW分别读、写子程序。
从程序中分析可知,能够仅用P0口及其他几个很少的控制端口便可实现片外大容量数据存储器的扩展,主要是因为PO口具备地址线、数据线及片选择控制线的功能,而这一功能是通过软件方式实现的,即分时传送地址信息,数据信息和控制信息。从MOVR和MOVW 2个子程序可以看出数据的具体传送过程。此外,在编程过程中,每次读、写外部存储器内容时,只要将地址信息写到DPHH、DPTRH和DPTRL3个单元中,然后调用子程序MOVR和MOVW便可实现对片外数据存储器的读、写操作。
介绍MCS-8051单片机片外256 KB数据存储器的扩展方法,其特点主要是扩展的存储空间大,占用的端口少,数据传送采用并行传送方式。在外围设备较多的情况下,有限的端口无法满足要求,或是存储空间难以满足要求时,完全可采用该扩展方法。此外,如果将单片机与数据存储器件的硬件连接部分稍作改动,便可直接访问片外256 KB,2种访问方式可完全独立。如果256 KB的存储空间还不能满足实际需求,不妨将高位地址存储单元的8位全部进行译码。可得到256个片选择控制端口,那么原来的8片数据存储器便可增加到 256片。这样,片外存储空间就可以达到8 MB。完全满足需求。而且,按此原理,还可以将原来的3个地址存储单元改为4个地址存储单元或更多,以增加其存储空间。但这样其读、写周期也将更长。因此需根据实际情况,综合考虑,最终使单片机的硬件与软件达到最优化。
分享给小伙伴们:
我来说两句……
微信公众号二
微信公众号一关于单片机扩展片外存储器的选片问题_百度知道
提问者采纳
从电原理图可以看出,4片8K的外部存储器,共享单片机P0和P2组成的13根地址线,剩余3根的地址线有2根经LS139译码,用于对外部存储器的片选控制,最后1根用于对LS139的片选控制。不知你在纠结什么,你对各存储器地址范围的理解是正确的,每一个存储器的地址范围都是从0000H到 1FFFH。而单片机的地址输出范围却是要结合P2.5-P2.7这根地址线进行分配的,这就有了列表中4片IC所对应的地址范围,但书中的例程确实存在错误,将对外部RAM操作指令MOVX,用于读取外部ROM显然是不妥的,结合LS139片选,1000H地址指向IC1是显而易见的,而IC1、IC2的读写操作应该使用MOVC指令,楼上网友的回答也是正确的,请不要教条的尊重书本。
提问者评价
非常感谢,真的
其他类似问题
为您推荐:
您可能关注的推广
外存储器的相关知识
其他2条回答
 ,高三位的 000,通过译码器,选中 IC1。IC3
的地址范围是:4000H~5FFFH。
我觉得也应该选择IC1,可是书上说的是到片外数据区读写数据,也就是说选中的肯定是6264,而2764是程序存储器,书上说的也有道理呀
书上,有错,应该是:MOV
DPTR, #4000H……这就行了。
IC1是肯定选不中的,因为这是ROM芯片,除非用MOVC指令,但这书上也有错误,因为IC3地址范围为4000~5FFF,所以只能说这条语句是无法达到读写RAM的目的的。
我对单片机不太懂,我这样理解对吗?:四片存储器每片都是8K的,每个芯片的单元的地址都是从0000H-1FFFH,单元的地址和单片机分配的地址是一一对应的,比如地址0000H对应0000H单元,地址1FFFH对应1FFFH单元,而给IC2分配的地址2000H对应IC2的第一个单元0000H,地址3FFFH对应最后一个单元1FFFH,IC3,IC4也是如此。
从你的电路图来看, 具体选中哪片芯片要靠139的译码输出决定,也就是P2.5P2.6来决定P2.6P2.50
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁第8章 存储器扩展_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
第8章 存储器扩展
大小:809.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 常见的外存储器有 的文章

 

随机推荐