单片机程序存储器的问题
当EA-=0时优先访问外部存储器,那为什么还从0000H开始,0000H不是片内存储器地址吗,片外地址不是从2000H-FFFFH吗?...
当EA-=0时优先访问外部存储器,那为什么还从0000H开始,0000H不是片内存储器地址吗,片外地址不是从2000H-FFFFH吗?
展开
展开全部
对于51单片机来说,无论片内还是片外,它的第一条指令都是从0000H这个地址开始取指令的。
而且对于程存储器,片内片外地址都是从0000H开始的啊,谁告诉你片外地址从2000H开始的,找本书看一下存储器映像图。当EA=1的时候,单片机是从片内存储器的0000H取第一条指令,当EA=0时,单片机从片外0000H单元取第一条指令,所以如果你把程序烧到片内了,那么你要把EA置成高电平。如果你把程序烧到片外了,那么你要把EA置成低电平。当然你也可以反过来,把EA置成低电平,把程序烧到片内,这时单片机还会到外存里面0000H单元取第一条指令,只不过取不过造成死同罢了,不知你明白没。不过我说的是51单片机哦
而且对于程存储器,片内片外地址都是从0000H开始的啊,谁告诉你片外地址从2000H开始的,找本书看一下存储器映像图。当EA=1的时候,单片机是从片内存储器的0000H取第一条指令,当EA=0时,单片机从片外0000H单元取第一条指令,所以如果你把程序烧到片内了,那么你要把EA置成高电平。如果你把程序烧到片外了,那么你要把EA置成低电平。当然你也可以反过来,把EA置成低电平,把程序烧到片内,这时单片机还会到外存里面0000H单元取第一条指令,只不过取不过造成死同罢了,不知你明白没。不过我说的是51单片机哦
展开全部
对于51单片机内核来说,无论片内还是片外,它的第一条指令都是从0000H这个地址开始的。
当EA=0的时候,单片机使用片外ROM存储器(此时不会使用片内的ROM),所以地址还是从0开始的
对于片外的RAM 51单片机是根据指令的不同来区分片内与片外存储器。
如 MOV A,0X20 这里的0x20是片内的
MOVX A,0X20 这里就是对片外的0X20进行RAM的寻址
主流的单片机80%以上都是从0地址开始运行第一条指令的。
http://designerlife.cn
当EA=0的时候,单片机使用片外ROM存储器(此时不会使用片内的ROM),所以地址还是从0开始的
对于片外的RAM 51单片机是根据指令的不同来区分片内与片外存储器。
如 MOV A,0X20 这里的0x20是片内的
MOVX A,0X20 这里就是对片外的0X20进行RAM的寻址
主流的单片机80%以上都是从0地址开始运行第一条指令的。
http://designerlife.cn
参考资料: http://pcbsheji.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0000H-1FFFH,有两块,一块在片内,一块在片外。
/EA=0,使用片内的;
/EA=1,使用片外的;
超过1FFFH,无论/EA如何,都使用片外的2000H-FFFFH。
/EA=0,使用片内的;
/EA=1,使用片外的;
超过1FFFH,无论/EA如何,都使用片外的2000H-FFFFH。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
EA=0全部设为片外,还是从0000h开始的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询