8051单片机的编址方式

如题所述

MCS-51单片机的存储器编址方式采用与工作寄存器、I/O端口锁存器统一编址的方式。程序存储器和数据存储器空间好似相互独立的,各自有自己的寻址系统和控制信号,物理结构也不同。程序存储器为只读存储器(ROM),数据存储器为随机存储器(RAM)。
1、程序存储器常用来存放程序和表格常数。程序存储器以程序计数器PC作为地址指针,通过16位地址总线,可寻址的地址空间为64K,片内、片外统一编址。在程序存储器中有些特殊的单元在使用时应加以注意。其中一组特殊的单元是0000H~0002H单元,在系统复位之后,PC为0000H,单片机从0000H开始执行程序,该单元是系统执行陈故乡的起始地址,通常在该地址中存放一条跳转指令,而用户程序从跳转地址开始存放程序。另外一组特殊单元为0003H~0021AH,这40个单元被均匀的分为5份,其定义如下:
0003H~000AH:外部中断0的中断地址区
000BH~0012H:定时器/计数器0的中断地址区
0013H~001AH:外部中断1的中断地址区
001BH~0022H:定时器/计数器1的中断地址区
0023H~002AH:串行中断地址区
可见以上40个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型自动转到各自的终端区去执行程序。从上面看出,每个终端服务程序只有8个字节单元,用8个字节来存放一个中断服务程序显然是不可能的。通常情况下好似在中断响应的地址区存放一条无条件转移指令,指向程序存储器的真正存放终端服务程序的空间去执行。
2、MCS-51单片机的数据存储器无论在物理上或者逻辑上都是分为两个地址空间,一个为内部数据存储器,访问内部数据存储器用MOV指令;另外一个为外部数据存储器,访问外部数据存储器用MOVX指令。8051内部有128个8位数据存储单元和128个专用寄存器单元,这些单元是统一编址的,专用寄存器只能用于存放控制指令数据。所以,用户能使用的RAM只有00H~7FH单元组成的128字节地址空间,可以存放读写的数据或者运算的中间结果;80H~FFH单元组成的高128字节地址空间的特殊功能寄存器(SFR)区,只能访问,而不能用于存放用户数据。片内RAM的低128字节还可以分成工作寄存器区,可位寻址区和一般RAM去3个区域。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-08
8052/51采用的存储器组织方式为哈佛结构,即程序存储器的数据存储储器截然分开,具有各自独立的寻址方式寻址空间和控制方式 在物理结构上,有四个存储空间:片内程序存储区、片外程序存储区、片内数据存储区、片外数据存储区。
片内程序存储区和片外程序存储区是统一编址的,所以在逻辑上只有三个:
片内数据存储区、片外数据存储区和片内外统一编址的程序存储区。
在c语言中不同地址空间的数据存储器(内存)用不同的修饰符:DATA或无修饰符表示片内低128空间,IDATA表示片内高128空间,XDATA表示片外数据存储器(包括一些集成在片上的超过256字节的RAM空间)
EA引脚接高电平时,片内程序存储区和片外程序存储区转换是自动的,当访问的程序存储器地址超过片内ROM的最大空间时自动寻址外部程序存储器
在c语言中用code修饰在程序存储器定义的代码和常数追问

那这个题应该选C吧?

追答

我在电脑上看不到题

追问

追答

应该是A 程序存储区片内外个统一编址 ,片内RAM和片外RAM各自独立编址 并且片内高128字节是和特殊功能寄存器共用同一地址

本回答被提问者采纳
相似回答