可扩展的程序存储器地址空间
❶ “MCS-51系列单片机中,片内程序存储器为4KB”,而同时又说“程序存储器的寻址空间为64KB”,求区别!
片内程序存储器+片外程序存储器:0000~FFFFH,共 64KB。
片内数据存储器,51 系列是:00~FFH,共 256B。
52 系列是:00~7FH,共 128B。
片外数据存储器:0000~FFFFH,共 64KB。
特殊功能寄存器:80H~FFH,只有 21 个单元。
位寻址区,RAM 功能:00~7FH,共 128 bit 。
SFR 功能:80~FFH,有效的不多。
存储空间分布如下所示:
❷ 4、at89s52单片机,可寻址的程序存储空间地址范围为~___; 可寻址的数据存储空
S52,片内有8kB程序存储器,地址空间范围是0000h~1FFFh。
片内SRAM有256B,地址空间范围是00h~FFh。
外部程序存储器和数据存储器都是可寻址全部的64kB空间。
❸ MCS-51单片机可扩展的程序存储器和数据存储器的地址空间各为多少
51的存储器从功能上来说可以分为程序存储器和数据存储器,至于到底能扩展多少存储空间,要看你扩展的是哪一类存储器。
访问存储空间时,需要用到两个指针变量,为DPTR何PC。其中pc为程序计数器,指向下一条需要执行的指令的地址,DPTR为数据指针寄存器,这两个变量的长度都为16位,这是51单片机内部结构决定的,无法改变。所以这两个指针的寻址能力都为64K。这样看来,两类存储器的扩展能力都为64K
。但是,如果你实际扩展过存储器,你就可以发现程序存储器的扩展能力并没有64K!!!
这是为什么呢????
这得从51单片机的存储空间的编址说起。这里仅作简单说明,具体可以看教科书。简单地说,内部程序存储器和外部程序存储器是一起编址的,它们分别占用64K地址的一部分,所以外部扩展时要减去内部的地址空间,当然小于64K啦。而数据存储器是内外部分别编址,内外部数据存储器用不同的指令进行访问,所以不用担心单片机会混淆内外部数据存储器,所以外部数据存储器扩展能力有64K
❹ MCS-51系列单片机的存储器可划为几个空间其地址范围及容量是多少在使用上有何不同
1、空间划分存储器分为程序存储器(ROM)和数据存储器(RAM)两大类。程序存储器有片内和片外存储器两种;数据存储器也有片内和片外存储器两种。2、地址范围及容量程序存储器是片内外统一寻址,片内程序存储空间+片外程序存储空间=64K的存储空间(0000H-FFFFH)。而数据存储器则是单独寻址,片内数据存储空间+片外数据存储空间=128B(00H-7FH)+64KB(0000H-FFFFH)。注意:51的片内数据存储空间为128B,而增强型52的片内数据存储空间为256B。52是在51基础上增加了80H-FFH的高128B的空间。增加的这一部分只能采用间接寻址。51片内数据存储器又可分为:工作寄存器区:00H-1FH 位寻址区: 20H-2FH 通用RAM区: 30H-7FH3、使用上的不同RAM和ROM在结构上是不同的。对于RAM来说,CPU在运行时能随时进行数据修改,但却有个缺点,一旦电源掉电,存储信息将丢失。所以,它只能用来存放暂时性的输入输出数据,运算中间结果和堆栈等。(注意,要区别于FLASH。)对于ROM,它是一种写入信息不易改写的存储器。就算电源掉电,存储信息都保留不变。所以,ROM用来存放程序或常数等。 欢迎前来交流学习。
❺ 存储器扩展时,什么叫地址空间不连续和地址重叠现象
采用部分译码时,未用的地址线,可以随意取1、取0。
那么,对于某个存储单元来说,就可用多个地址号码来选中。
即:一个存储器芯片,占用了一个以上的地址空间。
这种现象,并不是【地址重叠】。Alfg5 的答案,是错误的。
另外,如果未用的地址线,是高位地址线,且都取0,
那么,由部分译码所形成的地址空间,也是连续的。
那么,什么是地址重叠呢?
不同的存储芯片,具有同一个地址空间,这才是【地址重叠】。
采用线选法扩展存储空间,才会有【地址重叠】的现象。
使用重叠的地址,就可令多块芯片,同时写入读出。
那么,重叠的地址,就是不可用的。
因此,可用的地址,就是不连续的。
在 51 单片机中,有许多地址重叠的现象,比如:
程序存储器、数据存储器的地址都是 0000~FFFFH。
特殊功能寄存器和高128B 的片内 RAM,地址,也重叠了。
位地址,也是重复使用了相同的地址号码。
还有,八个寄存器 R0~R7,却占用了 32 个存储单元。
就是说:
【地址重叠】是指:同一个地址空间,涉及到了不同的存储区域。
而不是Alfg5 所答的:不同的地址,选通同一存储单元。
搞清楚了基本概念,求可用的地址,以及,分析不可用的重叠地址,就不是难事了。
❻ 51用线选法常规最多可扩展多少片8255
用线选法最多可扩展6片8255。
加个锁存器,用作输出口,用P3或P1中的控制锁存。输入口不会出错。
如果是因为I/O不够用,再扩一个8255。
(6)可扩展的程序存储器地址空间扩展阅读:
51单片机的功能:
1、片内时钟振荡器。
2、一个全双工的串行I/O接口。
3、32根双向并可以按位寻址的I/O线。
4、两个16位定时/计数器(8052有3个)。
5、具有布尔处理能力和位处理能力。
6、8位数据总线,16位地址总线的CPU。
7、128字节片内数据存储器(8051有256字节)。
8、多个中断源的中断结构,具有两个中断优先级;
9、相同地址的64KB程序存储器和64KB数据存储器。
10、采用哈佛结构,程序存储器与数据存储器地址空间各自独立,便于程序设计。
11、0-8KB片内程序存储器(8031无,8051有4KB,8052有8KB,89C55有20KB)。
❼ 8051向外扩展的程序存储器和数据存储器的最大容量各是多少
理论上都是全寻址空间,64kB。
实际上通过Bank Switch方法,能够轻松突破这个限制。Keil默认提供的扩展可以到16MB。理论上只要锁存器速度足够快,无限。
❽ 8051单片机程序存储器的容量最大可扩展为
当然是64KB了,因其数据线有8根,地址线是16根,因此可寻址范围是2的16次方,即64KB。
❾ 、MCS 51单片机的存储器从物理结构上和逻辑上分别可划分几个空间
MCS-51单片机在物理结构上有四个存储空间:
1、片内程序存储器
2、片外程序存储器
3、片内数据存储器
4、片外数据存储器
但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:
1、片内外统一编址的64K的程序存储器地址空间(MOVC)
2、256B的片内数据存储器的地址空间(MOV)
3、以及64K片外数据存储器的地址空间(MOVX)
(9)可扩展的程序存储器地址空间扩展阅读:
MCS-51系列单片机程序存储器分为系统使用区和用户使用区。其中0000H~002AH为系统使用区,其余为用户使用区。系统使用区固定6个地址为特定程序的入口地址,如下:
ROM地址 功能分配
0000H 系统复位后的入口
0003H 外部中断0服务入口
000BH 定时器/计数器0中断服务程序入口
0013H 外部中断1服务程序入口
001BH 定时器/计数器1中断服务程序入口
0023H 串口中断服务程序入口
数据存储区也称为随机存取存储器(RAM),MCS-51单片机的数据存储器分为两个地址空间:内部数据存储器、外部数据存储器。
内部数据存储器共有256B存储空间,但只有低128B(地址为00H~7FH)是真正的数据存储空间,可供用户进行读或写操作,高128B(地址为80H~FFH)是单片机的特殊功能寄存器区(SFR)。
❿ 存储器扩展时,什么叫地址空间不连续和地址重叠现象是什么原因引起的
使用 80x86 CPU 的计算机,其存储器是“冯·诺依曼”结构。
这种计算机,只有一个存储器。
全部的程序、数据,都存在这一个存储器中。
为了在这个存储器中分清这些,CPU 必须分段读写。
所谓的段,有:代码段、数据段、堆栈段、附加段。
这些段,处于存储器的何处?CPU 是可以设置的。
那么,当这些段,互相分离时,就是“地址空间不连续”。
而当这些段,互相重合时,就是“地址重叠”现象。
地址重叠的现象,就是:一个存储单元,具有多个地址号码。
也就是说:用不同的地址,都可以访问这个存储单元。
地址重叠,增加了某些单元的灵活性。
除了“冯·诺依曼”结构之外。还有“哈佛”结构。
在哈佛结构中,具有两类不同的存储器。
程序、数据,是分开存放的,各自有各自的地址范围。
即使两者的地址相同,也不会访问同一个存储单元。
所以,在哈佛结构中,不会出现程序与数据的“地址重叠”现象。