51单片机存储器内部结构_第1页
51单片机存储器内部结构_第2页
51单片机存储器内部结构_第3页
51单片机存储器内部结构_第4页
51单片机存储器内部结构_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MCS-51单片机在物理结构上有四个存储空间: 1 、片内程序存储器2、片外程序存储器3、片内数据存储器4、片外数据存储器但在逻辑上,即从用户的角度上, 8051 单片机有三个存储空间:1、片内外统一编址的 64K 的程序存储器地址空间( MOVC)2、256B的片内数据存储器的地址空间(MOV )3、以及 64K 片外数据存储器的地址空间( MOVX )在访问三个不同的逻辑空间时, 应采用不同形式的指令 (具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。程序内存 ROM寻址范围: 0000H FFFFH 容量 64KBEA = 1 ,寻址内部 ROM;EA = 0

2、,寻址外部 ROM地址长度: 16位作用: 存放程序及程序运行时所需的常数。七个具有特殊含义的单元是:0000H 系统复位,PC指向此处;0003H 外部中断 0 入口000BH T0 溢出中断入口0013H外中断1入口001BH T1溢出中断入口0023H串口中断入口002BHT2溢出中断入口内部数据存储器RAM物理上分为两大区:00H 7FH即128B内RAM 和SFR区作用:作数据缓冲器用。下图是8051单片机存储器的空间结构图理序存储器内熏坟Jg存储器外88敖觴存碣器64KB1 MCS-51 的内存结初编辑版 word程序存储器一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,

3、还需要它 们运行的软件, 其实微处理器并不聪明, 它们只是完全按照人们预先编写的程序 而执行之。 那么设计人员编写的程序就存放在微处理器的程序存储器中, 俗称只 读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实 程序和数据一样, 都是由机器码组成的代码串。 只是程序代码则存放于程序存储 器中。MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格 等信息。对于内部无 ROM 的 8031 单片机,它的程序存储器必须外接,空间地 址为64kB,此时单片机的端必须接地。强制 CPU从外部程序存储器读取程序。 对于内部有 ROM 的 8051 等单片机,正

4、常运行时,则需接高电平,使 CPU 先从 内部的程序存储中读取程序,当 PC值超过内部ROM的容量时,才会转向外部 的程序存储器读取程序。当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动 转向外部 ROM 空间。当=0 时,程序从外部存储器开始执行,例如前面提到的片内无ROM 的 8031单片机,在实际应用中就要把 8031的引脚接为低电平。8051片内有4kB的程序存储单元,其地址为 0000HOFFFH,单片机启动复 位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但 在程序存储中有些特殊的单元,这在使用中应加以注意:其中一组特殊是0000

5、H 0002H单元,系统复位后,PC为0000H,单片机从 0000H 单元开始执行程序, 如果程序不是从 0000H 单元开始, 则应在这三个单元 中存放一条无条件转移指令,让 CPU 直接去执行用户指定的程序。另一组特殊单元是0003H 002AH,这40个单元各有用途,它们被均匀地分 为五段,它们的定义如下:0003H 000AH外部中断0中断地址区。000BH0012H定时/计数器0中断地址区。0013H 001AH外部中断1中断地址区。001BH0022H定时/计数器1中断地址区。0023H 002AH串行中断地址区。可见以上的40个单元是专门用于存放中断处理程序的地址单元,中断响应

6、后,按中断的类型,自动转到各自的中断区去执行程序。从上面可以看出,每个中断服务程序只有8个字节单元,用8个字节来存放一个中断服务程序显然是不可能 的。因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。但是通常情况下,我们是在中断响应的地址区安放一条无条件转移指令,指向程 序存储器的其它真正存放中断服务程序的空间去执行 ,这样中断响应后,CPU读 到这条转移指令,便转向其他地方去继续执行中断服务程序。下图是ROM的地址分配图:OT32H/O033KppO2AH/O02W-0032H/0023lf-OOIAH/OOIKFK-poiaHroom- WOAH/OOOBH00DOH用户R

7、UH区 IFliI_T箜出生师帧U中斷B* I- ii-!iTl宙皿中斯 b I! 9 JII吊越丽- is r中亶屮也卫pIJMPcROM分布图从上图中大家可以看到,0000H-0002H,只有三个存储单元,3个存储单元在 我们的程序存放时是存放不了实际意义的程序的, 通常我们在实际编写程序时是 在这里安排一条ORG指令,通过ORG指令跳转到从0033H开始的用户ROM 区域,再来安排我们的程序语言。从 0033开始的用户 ROM 区域用户可以通过 ORG 指令任意安排,但在应用中应注意,不要超过了实际的存储空间,不然程 序就会找不到。数据存储器数据存储器也称为随机存取数据存储器。数据存储器

8、分为内部数据存储和外部数据存储。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型 号有分别),片外最多可扩展 64KB 的 RAM ,构成两个地址空间, 访问片内 RAM 用“ MOV指令,访问片外RAM用“ MOVX指令。它们是用于存放执行的中 间结果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:数据存储器空间(低 128单元);特殊功能寄存器空间(高 128单元); 这两个空间是相连的,从用户角度而言,低 128单元才是真正的数据存储器。下 面我们就来详细的与大家讲解一下:

9、低 128单元:片内数据存储器为 8位地址,所以最大可寻址的范围为 256个单元地址,对片外数据存储器采用间接寻址方式,RO、R1和DPTR都可以做为间接寻址寄存 器,RO、R1是8位的寄存器,即RO、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。也就是说在寻址片外数据存储器时,寻址范围超过了 256B,就不能用RO、R1做为间接寻址寄存器,而必须用 DPTR 寄存器做为间接寻址寄存器。组KS1 RSQR2虻E4R5R6R7厂00C0H01H02M03H04H05H06H07H10108H09H0CH0DHOfH21010H11H12H13H14H15

10、HL6H17Hp_111SH19H1AH1BH1CH1DH1EH1FH |从上图中我们可以看到,8051单片机片内RAM共有256个单元(00H-FFH), 这256个单元共分为两部分。其一是地址从 00H7FH单元(共128个字节)为 用户数据RAM。从80H FFH地址单元(也是128个字节)为特殊寄存器(SFR) 单元。从图1中可清楚地看出它们的结构分布。1、通用寄存器区(00H-仆H)在00H 1FH共32个单元中被均匀地分为四块,每块包含八个 8位寄存器,均以R0 R7来命名,我们常称这些寄存器为通用寄存器。这四块中的寄存器都 称为R0 R7,那么在程序中怎么区分和使用它们呢?聪明的

11、INTEL工程师们又安排了一个寄存器一一程序状态字寄存器(PSW)来管理它们,CPU只要定义 这个寄存的PSW的D3和D4位(RS0和RS1),即可选中这四组通用寄存器。 对应的编码关系如下表所示。惹程序中并不需要用4组,那么其余的可用做一般 的数据缓冲器,CPU在复位后,选中第0组工作寄存器。KAM位寻址区地址表单元地址MSB位地址LSB2FH7FH7EH7DH7CH7BH7 AH7?H7SH2EH7?H|76H74H73H72H70H2DHdFH6H6DH6CH(5BH6 AHdPH68H2CH(57H(5tH(55HMHt53H62H(51Ht5OH2BH5FH5EH5DH5CH5 AH

12、59H5SHSTH-TJ55H54H翊52H51H50H轡4FH4EH4DH4CH4BH4 AH4QH4SH2SH|47H145H44H43H42H41H40H3FH3DH3 CH3BH3 AH39H38H37H3&H35H34H33H32H31H30H2FH .2EH2DH2CH2BH2 AH29H2SH24H.26H25H24H23R22HIH20HJ23H1FH1EHIdhI CH1BHI AH1PH18HQH17HIfiH15H14H13H12H11H10Hi21HoraOEHCDHOCHOBHOAHCPHcsH!20H07H5HO4H03H02HO1HOOH2、位寻址区(20H-2F

13、H)片内RAM的20H 2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为OOH 7FH位地址分配如下表所示:+CPU能直接寻址这些位,执行例如置“1 ”、清“ 0”、求“反”、转移,传送和逻辑等操作。我们常称 MCS-51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。3、用户 RAM 区( 30H-7FH) 在片内 RAM 低 128单元中,通用寄存器占去 32 个单元,位寻址区占去 16 个单 元,剩下的 80个单元就是供用户使用的一般 RAM 区了,地址单元为 30H-7FH 对这部份区域的使用不作任何规定和限制, 但应说明的是, 堆栈一般开辟在这个 区域。高 128 单元:(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论