单片机程序运行要不要把程序从ROM中读入到RAM中

2024年11月29日 14:47
有5个网友回答
网友(1):

不要。但是ram中肯定会保留与当前程序运行状态有关的寄存器(SFR,对于ST89C52应该就是0x80~0xFF的单元)。
对于51系列或者类51的单片机,程序空间和数据空间是分开的,并不存在由rom加载到ram的问题。
这么说吧,ST89C52可以支持到64K的程序存储,如果都加载到外部RAM里,那RAM肯定是放不下了。

data是内部直接寻址的RAM,idata是内部间接寻址的RAM

网友(2):

是需要将ROM中的程序读到RAM中的..
当然它不会把ROM中的所有内容都读到ROM中..
在工作时,会读取当前要用的内容到RAM中..
内存是可见的...
IDATA也就是这种RAM..

网友(3):

不知道就不发言嘛,误导初学者.
1.我楼上说的对.程序空间和数据空间是分开的,并不存在由rom加载到ram的问题。
2.data是内部直接寻址的RAM,idata是内部间接寻址的RAM
像现在一般的具有256 BYTE的RAM,低128只可以进行直接寻址,而高128 BYTE即可进行直接又可进行间接寻址,(直接寻址和间接寻址的地址一样,但访问的方式不同,访问的内部地址也不同(高128 BYTE 地址,物理上是分开的))
3.

网友(4):

STC 89C52RC汗那就是51单片机,它就是ROM和RAM分开的,这种单片机就算没有RAM也能执行的

网友(5):

要的