❶ 如图,单片机,数据存储器的扩展,这题怎么算,求过程
8K*8存储器地址最大为:1FFFH,二进制:0001 1111 1111 1111
3-8译码器分配给4片存储器的地址组合是:
前3位 对应的最高地址 地址范围
第一片:000 0001 1111 1111 1111 0000H--1FFFH
第二片:001 0011 1111 1111 1111 0000H--3FFFH
第三片:010 0101 1111 1111 1111 0000H--5FFFH
第四片:011 0111 1111 1111 1111 0000H--7FFFH
❷ 单片机程序存储器扩展电路问题
答:在设计片外程序存储器之前,首先要决定EA引脚的电平。
EA=0,单片机只访问外部程序存储器,对于8031单片机此引脚必须接地.EA=1,单片机访问内部程序存储器,对于内部有程序存储器的8XX51单片机,此引脚应接高电平,但若地址值超过4KB范围,单片机将自动访问外部程序存储器。
设定好EA后,单片机自动按程序所设定的次序执行。
在编程中不需要专门的语句指定调用的是外部程序存储器。比如设定EA接高电平,则程序在执行完片内的程序存储器指令后自动转入片外程序存储器,而无需特殊命令。这就是所谓的程序存储器是片内外统一编址,而数据存储器则用Mov和Movx分别对待的。
但楼主要知道程序在读取片外指令代码时的过程:先寻址,再取数。单片机会根据PC的值先给P2和p0送一个选通地址(PC的值),接下来从片外程序存储器读取代码。因为PC的值一般是连续的,这就要求片外的程序存储器空间要连续分布,这和数据存储器不同。如果不连续分布,就要用特殊的行号改变PC的值,使它和片外程序存储器分布能够对应。
❸ “MCS-51系列单片机中,片内程序存储器为4KB”,而同时又说“程序存储器的寻址空间为64KB”,求区别!
4K的存储器表示这个51芯片的实际硬件的容量,你的程序受这个4K限制;
64K是51可以处理的地址能力范围,这个是潜力而已。
有能力并不表示要把所有潜力转化为实际的实力啊。
实际上,通过硬件电路的设计,是可以突破64K的限制的,不过这是另一方面的问题了。