单片机实验 数据存储器和程序存储器扩展
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四数据存储器和程序存储器扩展
一、实验目的
1、学习片外存储器扩展方法
2、学习数据存储器不同的读写方法
3、学习片外程序存储器的读方法
二、实验说明
本次实验使用1片6264SRAM,作为片外扩展的数据存储器,对其进行读写。先向6264中写入整数1~200,然后将其逆向复制到地址0x0100处。注意单片机ALE引脚与74LS373的LE引脚的连接,直至锁存由单片机的ALE控制,另外还要注意单片机读/写控制引脚、与6264的连接。RD WR
三、实验线路图
四、实验步骤
1、先建立文件夹“ex4”,然后建立“ex4”工程项目,最后建立源程序文件“ex4.c”,输入如下源程序;
/*用6264扩展内存*/
//说明:先向6264中写入整数1~200,然后将其逆序复制到0x0100处
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit LED=P1^0;
/*主程序*/
void main()
{
uint i;
LED=1;
//向6264的0x0000地址处写入1~200
for(i=0;i<200;i++)
{ XBYTE[i]=i+1;
}
//将6264中的1~200逆向拷贝到0x0100地址开始处
for(i=0;i<200;i++)
{ XBYTE[i+0x0100]=XBYTE[199-i];
}
//扩展内存数据处理完成后LED点亮
LED=0;
while(1);
}
2、用Proteus软件仿真
经过Keil软件编译通过后,可利用Proteus软件仿真。在Proteus ISIS编辑环境中绘制仿真电路图。打开配套实验3仿真原理图文件“ex4.DSN”,将编译好的“ex4.hex”文件载入AT89C51,启动仿真。
五、思考题
实验仅使用了一片6264SRAM对数据内存进行扩展,要求在电路中使用EPROM27512(64KB)对程序内存进行扩展,将HEX文件移到27512中执行,注意将EA接地。
/*用6264扩展内存*/
//说明:先向6264中写入整数1~200,然后将其逆序复制到0x0100处
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit LED=P1^0;
/*主程序*/
void main()
{
uint i;
LED=1;
//向6264的0x0000地址处写入1~200
for(i=0;i<200;i++)
{ XBYTE[i]=i+1;
}
//将6264中的1~200逆向拷贝到0x0100地址开始处
for(i=0;i<200;i++)
{ XBYTE[i+0x0100]=XBYTE[199-i];
}
//扩展内存数据处理完成后LED点亮
LED=0;
while(1);
}