一、概述
MCS-51单片机内部有128个字节的数据存储器,CPU对内部RAM具有丰富的操作指令,内部RAM区是十分珍贵的资源,这些存储器通常被用作工作寄存器、堆栈、软件标志、临时变量和数据缓冲区等。如果系统要存储大量的数据,比如数据采集系统,那么片内的数据存储器就不够用了,需要进行扩展外部数据存储器。在MCS-51扩展系统中,目前应用最多的是静态数据存储器,6264便是常用静态RAM芯片之一。
二、6264功能介绍
6264是一种8K×8的静态存储器,其内部组成如图1所示,主要包括512×128的存储器矩阵、行/列地址译码器以及数据输入输出控制逻辑电路。地址线13位,其中A12~A3用于行地址译码,A2~A0和A10用于列地址译码。在存储器读周期,选中单元的8位数据经列I/O控制电路输出;在存储器写周期,外部8位数据经输入数据控制电路和列I/O控制电路,写入到所选中的单元中。

图1 6264内部结构图
6264有28个引脚,如图2所示,采用双列直插式结构,使用单一+5V电源。所有的输入端和输出端都与TTL电路兼容。

图2 6264引脚配置图
6264引脚定义如下:
A0~A12为地址输入线;
D0~D7为数据线;
为选片信号输入线,低电平有效;
为读选通信号输入线,低电平有效;
为写选通信号输入线,低电平有效;
CE2 为6264 芯片的高有效选通端;
VCC:工作电源,一般接+5V;
GND:工作地。
表1 6264工作方式

表1为6264的工作方式介绍。其中写入、读出、选通的定义如下:
写入:数据输入缓冲器打开,数据由数据线D0~D7写入被选中的存储单元。
读出:数据输出缓冲器选通,被选中单元的数据送到数据线D0~D7上。
选通:芯片未被选中,处于保存状态,数据线呈现高阻状态。
三、Proteus电路图设计
本系统的电路图的设计思路如下:
(1)数据总线宽度为8位,由P0口提供;
(2)地址总线宽度为16位,可寻址范围2的16次方,也就是64K。低8位A7~A0由P0口经地址锁存器提供,高8位A15~A8由P2口提供。由于P0口是数据、地址分时复用,所以P0口输出的低8位必须用地址锁存器进行锁存,本系统采用选用带三态输出缓冲输出的8D锁存器74LS373;
(3)控制总线由RD、WR、PSEN、ALE和EA等信号组成,用于读/写控制、片外RAM选通、地址锁存控制和片内、片外RAM选择。
本系统的仿真电路图如图3所示。

图3 Proteus仿真电路图
四、程序设计
本文的程序设计目的是为了验证使用6262扩充MCS-51单片机数据存储器的正确性。设计思路是在外部存储器中写入一段数据,然后读出这段数据写入外部存储器不同的存储单元中。汇编程序代码如下:

五、仿真结果及总结

图4 Proteus仿真效果图
(1)打开Keil2,选择ProjectNew Project命令,在弹出的Create New Project对话框中新建Keil项目6264.uv2。
(2)选择CPU为ATMEL中的AT89C51单片机。
(3)编辑好源程序,编辑完成后保存。
(4)在Project Workspace窗口中,将6264.asm文件加入到Source Group1中。
(5)在Project Workspace窗口中Target1文件夹上单击右键,在弹出的窗口中选择Output选项卡,并选中Create HEX File选项。
(6)在Keil菜单中选择Project Build Target选项,编译汇编程序,并产生HEX文件。
(7)将Keil产生HEX文件加载到Proteus ISIS绘制的硬件电路中。
图为6264在ProteusEDA环境下的单片机控制仿真效果图。由图可见,6264中00H地址开始的26个字节单元写入的数据分别为“41H”、“42H”、“43H”……“58H”、“59H”、“5AH”,即26个大写英文字母的ASCII码。同样,6264中80H地址开始的26个字节单元的内容也为“41H”、“42H”、“43H”……“58H”、“59H”、“5AH”,从而验证了外部数据存储器的读数据与写数据功能。6264因具有存储容量较大,存取速度快,不用定时刷新的特点广泛应用于单片机数据存储器扩展系统中。