RAM是用来存放各种数据的,MCS-51系列8位单片机内部有128B RAM存储器,CPU对内部RAM具有丰富的操作指令。但是,当单片机用于实时数据采集或处理大批量数据时,仅靠片内提供的RAM是远远不够的,必须扩展外部数据存储器。因此,我们可以利用单片机的扩展功能,扩展外部数据存储器。
常用的外部数据存储器有静态RAM(Static Random Access Memory -SRAM)和动态RAM(Dynamic Random Access Memory-DRAM)两种。前者读/写速度高,一般都是8位宽度,易于扩展,且大多数与相同容量的EPROM引脚兼容,有利于印刷板电路设计,使用方便;缺点是集成度低,成本高,功耗大。后者集成度高,成本低,功耗相对较低;缺点是需要增加一个刷新电路,附加另外的成本。一般情况下,SRAM用于仅需要小于64KB数据存储器的小系统,DRAM经常用于需要大于64KB的大系统。在单片机应用系统中,外扩的数据存储器通常都采用静态数据存储器。
所扩展的数据存储器空间地址,由P2口提供高8位地址,P0口分时提供低8位地址和用作8位的双向数据总线,因此最大寻址范围为64KB(0000H~FFFFH)。片外数据存储器RAM的读和写由8031的(P3.7)和信号控制,而片外程序存储器EPROM的输出允许端由读选通信号控制。尽管与EPROM共处同一地址空间,但由于控制信号不同,故不会发生总线冲突。
1.常用的静态RAM(SRAM)芯片
单片机系统中常用的SRAM芯片的典型型号有:6116(2K×8),6264(8K×8),62128(16K×8),62256(32K×8)。它们都用单一+5V电源供电,双列直插式封装,6116为24引脚封装,6264、62128、62256为28引脚封装。这些SRAM的引脚图如图6-22所示。
图6-22 常用SRAM的引脚图
SRAM的各引脚功能如下:
A0~A14:地址输入线。
D0~D7:双向三态数据线。
片选信号输入线,低电平有效。对于6264芯片,当26脚(CS)为高电平时,且为低电平时才选中该片。
读选通信号输入线,低电平有效。
写允许信号输入线,低电平有效。
VCC:工作电源+5V。
GND:地线。
静态RAM存储器有读出、写入、维持3种工作方式,这些工作方式的操作控制见表6-8。
表6-8 6116,6264,62256的操作控制
几种RAM芯片的主要技术特性见表6-9。
表6-9 常用静态RAM主要技术特征
2.外扩数据存储器的读写操作时序
MCS-51单片机对外扩RAM读和写两种操作时序的基本过程是相同的。所用的控制信号有ALE、(读)和(写)。
(1)读片外RAM操作时序
8031单片机若外扩一片RAM,应将其引脚与RAM芯片的引脚连接,引脚与芯片引脚连接。ALE信号的作用与8031外扩EPROM作用相同,即锁存低8位地址。读片外RAM周期时序如图6-23(a)所示。
图6-23 8031访问片外RAM 的操作时序
(a)片外数据存储器读时序;(b)片外数据存储器写时序
在第一个机器周期的Sl状态,ALE信号由低变高①,读RAM周期开始。在S2状态,CPU把低8位地址送到P0口总线上,把高8位地址送到P2口(在执行“MOVX A,@DPYR”指令阶段时才送高8位;若是“MOVX A,@Ri”则不送高8位)。
ALE的下降沿②用来把低8位地址信息锁存到外部锁存器74LS373内③。而高8位地址信息一直锁存在P2口锁存器中。
在S3状态,P0总线变成高阻悬浮状态④。在S4状态,信号变为有效⑤(是在执行“MOVX A,@DPTR”后使信号有效),信号使得被寻址的片外RAM略过片刻后把数据送到P0口总线⑥,当回到高电平后⑦,P0总线变为悬浮状态。至此,读片外RAM周期结束。
(2)写片外RAM操作时序
向片外RAM写(存)数据,是8031单片机执行“MOVX@DPTR,A”指令后产生的动作。这条指令执行后,在8031单片机的引脚上产生信号有效电平,此信号使端有效,从而使RAM被选通。
写片外RAM的时序如图6-23(b)所示。开始的过程与读过程类似,但写的过程是CPU主动把数据送到P0口总线,故在时序上,CPU先向P0总线上送完低8位地址后,在S3状态就将数据送到P0总线③。此间,P0总线上不会出现高阻悬浮现象。
在S4状态,写控制信号有效,选通片外RAM,稍过片刻,P0上的数据就写到RAM内了。(www.daowen.com)
3.典型的外扩数据存储器的接口电路
扩展数据存储器空间地址同外扩程序存储器一样,由P2口提供高8位地址,P0口分时提供低8位地址和8位双向数据总线。片外SRAM的读和写由8031的RD(P3.7)和信号控制,片选端由地址译码器的译码输出控制。因此,SRAM在与单片机连接时,主要解决地址分配、数据线和控制信号线的连接。在与高速单片机连接时,还要根据时序解决速度匹配问题。
图6-24 线选法扩展3片6264的电路图
图6-24给出了用线选法扩展8031单片机外部数据存储器的电路。图6-24中数据存储器选用6264,该片地址为A0~A12,故8031单片机剩余地址为3根。用线选法可扩展3片6264。3片6264对应的存储器空间见表6-10。
表6-10 图6-24中3片6264对应的地址空间
用译码选通法扩展8031单片机的外部数据存储器电路如图6-25所示。图中数据存储器选用62128,该芯片地址线为A0~A13,8031单片机剩余地址线为两根,若采用2~4译码器可扩展4片62128。各个62128地址分配见表6-11。
图6-25 译码选通法扩展8031单片机外部数据存储器电路
表6-11 各62128地址空间分配
单片机62256与8031接口的电路图如图6-26所示。地址范围为0000H~7FFFH。
【例6-3】 编写程序将片外数据存储器中7000 H~70FFH单元全部清零。
解 方法1:
用DPTR作为数据区地址指针,同时使用字节计数器。
图6-26 8031单片机与62256单片机的接口电路
方法2:
用DPTR作为数据区地址指针,但不使用字节计数器,而是比较特征地址。
4.同时扩展外部RAM与外部I/O
【例6-4】 扩展8KB RAM,地址范围是2000H~3FFFH,并且具有唯一性;其余地址均作为外部I/O扩展地址。
解 (1)芯片选择
1)静态RAM芯片6264。6264是8K×8位的静态RAM,它采用CMOS工艺制造,单一+5V供电,额定功耗200m W,典型读取时间200ns,封装形式为DIP28,引脚如图6-27所示。其中,A0~A12为13条地址线:I/O0~I/O7为8条数据线,双向;为片选线1,低电平有效;CE2为片选线2,高电平有效;为读允许信号线,低电平有效;为写信号线,低电平有效。
图6-27 6264引脚
2)3-8译码器74LSl38。题目要求扩展RAM的地址(2000 H~3FFFH)范围是唯一的,其余地址用于外部I/O接口。由于外部I/O占用外部RAM的地址范围,操作指令都是MOVX指令,因此,I/O和RAM同时扩展时必须进行存储器空间的合理分配。这里采用全译码方式,6264的存储容量是8K×8位,占用了单片机的13条地址线A0~A12,剩余的3条地址线A13~A15通过74LSl38来进行全译码。
(2)硬件连接
用单片机扩展8KB SRAM的硬件连线图如图6-28所示。
图6-28 单片机与6264 SRAM的连接
单片机的高3位地址线A13、A14、A15用来进行3-8译码,译码输出的Y1接6264的片选线剩余的译码输出用于选通其他的I/O扩展接口;6264的片选线直接接+5 V高电平;6264的输出允许信号接单片机的写允许信号接单片机的
(3)6264的地址范围
根据片选线及地址线的连接,6264的地址范围确定见表6-12。
表6-12 8051与6264连接的地址编码
因此,6264的地址范围为2000H~3FFFH。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。