MCS-51单片机的程序存储器和数据存储器共处同一地址空间为什么不会冲突

还有几问
1、MCS-51单片机拓展系统中,为什么P0口要接一个8为锁存器,而P2口却不接?

2、有如下程序段,执行后DPTR的内容是多少?
MOV DPTR,#2100H
CLR C
MOV A,DPL
SUBB A,#2
MOV DPL,A
MOV A,DPH
SUBB A,#0
MOV DPH,A

3、已知dd的内容为0xaa执行如下程序后,d_dat输出值:
void out_disp(unsigned char dd)
{
unsigned char i;
sbit d_dat,d_clk;
for(i=0;i<8;i++)
{
if(dd&0x01)d_dat=1;else d_dat=0;
d_clk=0;
dd>>1;
d_dat=1;
}
}
还有一题就是题目所示

第1个回答  2007-06-23
1.P0口在读写外部空间的时候,既要输出地址的低8位,又要输出(输入)8位数据。这两项操作是分时进行的:在一个机器周期里面,P0口先输出地址的低八位,用锁存器锁存起来,然后再输出(写操作)8位数据。在P0口输出数据的同时,P2口输出地址的高八位。所以P0口加了锁存,P2口不加。
其实单片机系统一般外边挂不了很多的设备,完全可以只用高八位地址来选址,不过这样一来外部空间的地址就不连续了,需要在程序上做点处理。
不过出于成本考虑完全可以这样做。
教材上例子的系统配置是为了让大家学到知识的配置,并不一定是最经济的,比如AT89S51七块钱就搞定,而8255、8155都要十几块的,而键盘扫描芯片则需要将近五十大洋,还不如配两个AT89S51专门扫描键盘、LED显示呢(如果确实需要)。
后边两道是考题吗?
第二个我觉得是#21FDH
第三个我不懂C
题目:程序空间你是不能用单片机自身的程序来读写的,比如mov就不行,自然不会产生冲突。还真没细研究这个问题,有待商讨……
呵呵,xuxuejuen是高手!透彻!本回答被提问者采纳

为什么MCS-51单片机的程序存储器和数据存储器共处同一地址空间而不会...
读写数据存储器 的操作数相同.而操作码不相同。这样就不会发生总线冲突了!

MCS-51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发...
尽管片外数据存储器和片外程序存储器共处同一地址空间,但由于控制信号及使用的数据传送指令不同,故不会发生总线冲突。

MCS-51单片机扩展系统中,片外程序存储器和片外数据存储器共处同一个...
访问片外程序存储器和访问数据存储器使用不同的指令用来区分同一地址空间硬件上,控制信号不一样:片外程序存储器工作,要PSEN信号有效。片外数据存储器工作,要RD或WR信号有效;软件上,寻址不一样,片外程序存储器工作,要用MOVC,片外数据存储器工作,要用MOVX;虽然地址都是0000H~FFFFH,不会发生冲...

在MCS-51单片机扩展系统中,片外程序储存器和片外数据储存器共处同一个...
访问片外ROM使用MOVC指令,对芯片的控制信号为#PSEN,而访问片外RAM使用的是MOVX指令,控制信号为#RD和#WR。二者的控制信号不同,就不会存在地址重叠的现象了。

...程序存储器和数据存储器的地址空间允许重叠而不会发生冲突,为什么...
其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部...

在MCS-51单片机系统中,扩展的程序存储器和数据存储器都使用16位地址线...
扩展片外存储器,使用的是三总线结构,即AB、DB和CB。楼主仅仅说出了16位地址线和8位数据线,这只是AB和DB。另外的控制总线(CB)如下:扩展程序存储器,使用PSEN引线,来控制对其读出;扩展数据存储器,使用RD和WR引线,来控制对其读写。因为控制总线不同,所以不发生冲突。

MCS-51单片机扩展系统中,片外程序存储器和片外数址空间,为什么不会发 ...
在软件层面,通过指令的不同来区分这两种存储器的访问。片外程序存储器使用MOVC指令进行操作,而数据存储器则采用MOVX指令。虽然它们的地址范围相同(0000H~FFFFH),但指令和控制机制确保了它们不会在地址空间上产生冲突。扩展存储空间时,单片机依赖DPTR(数据指针寄存器)和PC(程序计数器)这两个16位的...

MCS-51单片机可扩展的程序存储器和数据存储器的地址空间各为多少?
简单地说,内部程序存储器和外部程序存储器是一起编址的,它们分别占用64K地址的一部分,所以外部扩展时要减去内部的地址空间,当然小于64K啦。而数据存储器是内外部分别编址,内外部数据存储器用不同的指令进行访问,所以不用担心单片机会混淆内外部数据存储器,所以外部数据存储器扩展能力有64K ...

51单片机的程序存储器(ROM)与数据存储器(RAM)是相互分工的,请问一般PC...
3 PC计算机的ROM和 RAM的地址是统一编址的。访问是采用相同的指令去访问。单片机由于地址线的引脚数目少,分配的地址空间有限,故ROM和 RAM的地址是分开编址的。为两个不同的逻辑空间,如一个程序存储器空间 地址为0000H~FFFFH.一个片外数据存储器空间 地址为0000H~FFFFH.访问时为了加以区分,...

简述51单片机的存储器逻辑空间分布,并说明当存储器地址发生重叠时应如...
程序存储器的地址范围:0000H~FFFFH,共有 64K。其中有 4K 在单片机内部。地址范围是 0000H~0FFFH。如果不用片内的,单片机的 EA 端应接低电平。数据存储器 RAM MCS-51 单片机的 RAM 有:片内、片外两部分。片外 RAM 的地址范围:0000H~FFFFH,共有 64K。片内 RAM 有 256 个地址:00H~...

相似回答