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

在电脑上要运行一个程序,要把程序从硬盘上读入到内存中,那单片机要不要把程序从ROM中读入到RAM中?在电脑上CPU不是不能真接读ROM的内容吗?
那么这个内存对我们来讲可不可见?单片机是不把ROM里的所有程序都读到它的RAM中,还是慢慢的一部份一部份的读,我们通常用作数据存储的data idata 是不是这是这个RAM,
我用的是STC 89C52RC

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

data是内部直接寻址的RAM,idata是内部间接寻址的RAM
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-04-12
是需要将ROM中的程序读到RAM中的..
当然它不会把ROM中的所有内容都读到ROM中..
在工作时,会读取当前要用的内容到RAM中..
内存是可见的...
IDATA也就是这种RAM..

参考资料:个人意见,仅供参考...

第2个回答  2008-04-16
不知道就不发言嘛,误导初学者.
1.我楼上说的对.程序空间和数据空间是分开的,并不存在由rom加载到ram的问题。
2.data是内部直接寻址的RAM,idata是内部间接寻址的RAM
像现在一般的具有256 BYTE的RAM,低128只可以进行直接寻址,而高128 BYTE即可进行直接又可进行间接寻址,(直接寻址和间接寻址的地址一样,但访问的方式不同,访问的内部地址也不同(高128 BYTE 地址,物理上是分开的))
3.
第3个回答  2008-04-07
STC 89C52RC汗那就是51单片机,它就是ROM和RAM分开的,这种单片机就算没有RAM也能执行的
第4个回答  2008-04-07
要的
相似回答