单片机存储器配置
- 格式:ppt
- 大小:945.50 KB
- 文档页数:40


单片机存储器类型详解
分为两大类RAM和ROM,每一类下面又有很多子类:
RAM:SRAM
SSRAM
DRAM
SDRAM
ROM:MASK ROM
OTP ROM
PROM
EPROM
EEPROM
FLASH Memory
RAM:Random Access Memory随机访问存储器
存储单元的内容可按需随意取出或存入,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。它的特点就是是易挥发性(volatile),即掉电失忆。我们常说的电脑内存就是RAM的。
ROM:Read Only Memory只读存储器
ROM 通常指固化存储器(一次写入,反复读取),它的特点与RAM相反。
RAM和ROM的分析对比:
1、我们通常可以这样认为,RAM是单片机的数据存储器,这里的数据包括内部数据存储器(用户RAM区,可位寻址区和工作组寄存器)和特殊功能寄存器SFR,或是电脑的内存和缓存,它们掉电后数据就消失了(非易失性存储器除外,比如某些数字电位器就是非易失性的)。
ROM是单片机的程序存储器,有些单片机可能还包括数据存储器,这里的数据指的是要保存下来的数据,即单片机掉电后仍然存在的数据,比如采集到的最终信号数据等。而RAM这个数据存储器只是在单片机运行时,起一个暂存数据的作用,比如对采集的数据做一些处理运算,这样就产生中间量,然后通过RAM暂时存取中间量,最终的结果要放到ROM的数据存储器中。如下图所示:
2、ROM在正常工作状态下只能从中读取数据,不能快速的随时修改或重新写入数据。它的优点是电路结构简单,而且在断电以后数据不会丢失。缺点是只适用于存储那些固定数据的场合。
RAM与ROM的根本区别是RAM在正常工作状态下就可以随时向存储器里写入数据或从中读取数据。
SRAM:Static RAM静态随机访问存储器
它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积。
MCS-51单片机在物理结构上有四个存储空间:
1、片程序存储器
2、片外程序存储器
3、片数据存储器
4、片外数据存储器
但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:
1、片外统一编址的64K的程序存储器地址空间(MOVC)
2、256B的片数据存储器的地址空间(MOV)
3、以及64K片外数据存储器的地址空间(MOVX)
在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。
程序存ROM
寻址围:0000H ~ FFFFH 容量64KB
EA = 1,寻址部ROM;EA = 0,寻址外部ROM
地址长度:16位
作用: 存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:
0000H —— 系统复位,PC指向此处;
0003H —— 外部中断0入口
000BH —— T0溢出中断入口
0013H —— 外中断1入口
001BH —— T1溢出中断入口
0023H —— 串口中断入口
002BH —— T2溢出中断入口
部数据存储器RAM
物理上分为两大区:00H ~ 7FH即128BRAM 和 SFR区。
作用:作数据缓冲器用。
下图是8051单片机存储器的空间结构图
程序存储器
一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从部的程序存储中读取程序,当PC值超过部ROM的容量时,才会转向外部的程序存储器读取程序。
实验四 数据存储器和程序存储器扩展
一、实验目的
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接地。
MCS-51单片机在物理结构上有四个存储空间:
1、片内程序存储器
2、片外程序存储器
3、片内数据存储器
4、片外数据存储器
但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:
1、片内外统一编址的64K的程序存储器地址空间(MOVC)
2、256B的片内数据存储器的地址空间(MOV)
3、以及64K片外数据存储器的地址空间(MOVX)
在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。
程序内存ROM
寻址范围:0000H ~ FFFFH 容量64KB
EA = 1,寻址内部ROM;EA = 0,寻址外部ROM
地址长度:16位
作用: 存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:
0000H —— 系统复位,PC指向此处;
0003H —— 外部中断0入口
000BH —— T0溢出中断入口
0013H —— 外中断1入口
001BH —— T1溢出中断入口
0023H —— 串口中断入口
002BH —— T2溢出中断入口
内部数据存储器RAM
物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。
作用:作数据缓冲器用。
下图是8051单片机存储器的空间结构图
程序存储器
一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。