存储器扩展地址
⑴ 51单片机存储器扩展地址问题
对于一个扩展地址 如 FFE0来说,可能是数据RAM的地址,也可能是程序ROM的地址
由于是采用不同的指令来访问,所以是不会有冲突的
访问片外RAM用: MOVX
访问片外ROM用:MOVC
⑵ 存储器扩展中“组内寻址”是什么意思
2^14 =16384, 16384/1024=16K(Byte)
⑶ MCS-51单片机可扩展的程序存储器和数据存储器的地址空间各为多少
51的存储器从功能上来说可以分为程序存储器和数据存储器,至于到底能扩展多少存储空间,要看你扩展的是哪一类存储器。
访问存储空间时,需要用到两个指针变量,为DPTR何PC。其中pc为程序计数器,指向下一条需要执行的指令的地址,DPTR为数据指针寄存器,这两个变量的长度都为16位,这是51单片机内部结构决定的,无法改变。所以这两个指针的寻址能力都为64K。这样看来,两类存储器的扩展能力都为64K 。但是,如果你实际扩展过存储器,你就可以发现程序存储器的扩展能力并没有64K!!!
这是为什么呢????
这得从51单片机的存储空间的编址说起。这里仅作简单说明,具体可以看教科书。简单地说,内部程序存储器和外部程序存储器是一起编址的,它们分别占用64K地址的一部分,所以外部扩展时要减去内部的地址空间,当然小于64K啦。而数据存储器是内外部分别编址,内外部数据存储器用不同的指令进行访问,所以不用担心单片机会混淆内外部数据存储器,所以外部数据存储器扩展能力有64K
⑷ 存储器进行位扩展时是否需要将地址线按顺序与系统地址线连接数据线是否需要按顺序连接
存储器进行位扩展时是否需要将地址线按顺序与系统地址线连接?
数据线是否需要按顺序连接?
考试答卷时,就按照顺序连接吧。
实际工作中,是可以改变顺序的。
地址线,不按照顺序,会变更各片的地址号码。
数据线,不按照顺序,对于 RAM,无影响。
而 ROM 读出的内容,就会错位,不可识别。
这也有好处,这是硬件加密的方式。
⑸ 存储器扩展时,什么叫地址空间不连续和地址重叠现象
采用部分译码时,未用的地址线,可以随意取1、取0。
那么,对于某个存储单元来说,就可用多个地址号码来选中。
即:一个存储器芯片,占用了一个以上的地址空间。
这种现象,并不是【地址重叠】。Alfg5 的答案,是错误的。
另外,如果未用的地址线,是高位地址线,且都取0,
那么,由部分译码所形成的地址空间,也是连续的。
那么,什么是地址重叠呢?
不同的存储芯片,具有同一个地址空间,这才是【地址重叠】。
采用线选法扩展存储空间,才会有【地址重叠】的现象。
使用重叠的地址,就可令多块芯片,同时写入读出。
那么,重叠的地址,就是不可用的。
因此,可用的地址,就是不连续的。
在 51 单片机中,有许多地址重叠的现象,比如:
程序存储器、数据存储器的地址都是 0000~FFFFH。
特殊功能寄存器和高128B 的片内 RAM,地址,也重叠了。
位地址,也是重复使用了相同的地址号码。
还有,八个寄存器 R0~R7,却占用了 32 个存储单元。
就是说:
【地址重叠】是指:同一个地址空间,涉及到了不同的存储区域。
而不是Alfg5 所答的:不同的地址,选通同一存储单元。
搞清楚了基本概念,求可用的地址,以及,分析不可用的重叠地址,就不是难事了。
⑹ 51单片机进行存储器扩展时,有哪些地址译码方式
线选法----用单片机的I/O口线选中外部存储器的片选端
部分译码法----扩展亮不是很大,只需要少量片选
完整译码法----全部设计出64K的16条地址线
⑺ 存储器的扩展方式哪三种
存储器的扩展方式有字扩展、位扩展、字位同时扩展。存储器芯片与单片机扩展连接具有共同的规律。即不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线接电源线,地线接地线。
目前生产的存储器芯片容量有限,在字数或字长方面与实际存储器要求有所差距,所以要在字向与位向两方面进行扩充,才能满足实际存储器的要求。
cpu对存储器进行读写操作时,首先由地址总线给出地址信号,然后再发出有关进行读操作与写操作的控制信号,最后在数据总线上进行信息交换。
(7)存储器扩展地址扩展阅读:
存储器的扩展技术:
总片数=总容量/(容量/片)。
例:存储器容量为8K×8b,若选用2114芯片(1K×4b),则需要的芯片数为:(8K×8b)/(1K×4b)=16(片)。
(1)位扩展。
只在位数方向扩展(加大字长),而芯片的字数和存储器的字数是一致的。即b前面不一样,K前面保持一样。
例:用64K×1b的SRAM芯片组成64K×8b的存储器,所需芯片数为:(64K×8b)/(64K×1b)=8(片)。
位扩展的关键就是将两个存储芯片当成一个存储芯片来用,让两个存储芯片同时工作,同时被选中,同时做读操作,同时做写操作,要想保证同时,就是把两个芯片的片选,用相同的信号进行连接。
(2)字扩展。
仅在字数方向扩展,而位数不变。即K前面不一样,b前面保持一样。
例:用16K×8b的SRAM组成以64K×8b的存储器,所需芯片数为:(64K×8b)/(16K×8b)=4(片)。
(3)字和位同时扩展。
参考资料来源:网络-位扩展
参考资料来源:网络-字扩展
⑻ 如何确定单片机外部存储器扩展的地址范围
地址线,地址线的作用就是确定内存空间的
⑼ 当89C51单片机外部的程序存储器和数据储存器同时扩展时的地址分配
外部程序存储器和数据存储器扩展,地址可以重叠,互不干扰,因为控制信号不一样,读写指令也不一样。
⑽ 如何求存储器字位扩展后的起始地址和范围
起始地址:0000H~07FFH。
范围:2000H。
生产的存储器芯片容量有限,在字数或字长方面与实际存储器要求有所差距,所以要在字向与位向两方面进行扩充,才能满足实际存储器的要求。
cpu对存储器进行读写操作时,首先由地址总线给出地址信号,然后再发出有关进行读操作与写操作的控制信号,最后在数据总线上进行信息交换。
(10)存储器扩展地址扩展阅读:
存储器的扩展技术:
总片数=总容量/(容量/片)。
例:存储器容量为8K×8b,若选用2114芯片(1K×4b),则需要的芯片数为:(8K×8b)/(1K×4b)=16(片)。位扩展。
只在位数方向扩展(加大字长),而芯片的字数和存储器的字数是一致的。即b前面不一样,K前面保持一样。
例:用64K×1b的SRAM芯片组成64K×8b的存储器,所需芯片数为:(64K×8b)/(64K×1b)=8(片)。