求助:单片机内部1Kram,属于xdata吗?

pdh716   2007-1-10 10:59 楼主
我用飞利浦公司的的P89V51RD2,内部RAM是1K

我在定义一个数组空间时,应该定义为xdata,还是idata?

回复评论 (8)

xdata
点赞  2007-1-10 11:04
先谢谢上面这位朋友
可是这1K的RAM是“内部”扩展的啊,而不是外部扩展的啊,外部扩展才定义成xdata把?我定义成idata仿真器通不过,定义成xdata仿真器通过好使(硬件仿真)烧成片子又不好使。这让我把思不得其解
点赞  2007-1-10 11:12
这是费力扑替你着想,把本该你自己外括的ram封进芯片了,你也可以在外面自己再扩,它提供了一个寄存器位控制选择使用内部这1K,还是外面的,但是寻址指令一定都是MOVX,至于烧进芯片有问题要另外查找原因。
点赞  2007-1-10 11:26
xdata
点赞  2007-1-10 12:37
片内RAM,当然是IDATA!
片外的XDATA,是用MOVX指令访问的
点赞  2007-1-12 15:09
既然楼上一口咬腚是IDATA,那么试问,1K的IDATA如何访问呢?
点赞  2007-1-13 13:32
肯定是XDATA,IDATA最多只能有256字节,由于MOV @R0指令中的R0是8位的,IDATA那256字节是在51/52的核内,而那1KRAM是在51/52的核外,只是用SOC技术把它们一起封装在P89V51RD2内部,最好还是看看P89V51RD2的datasheet

点赞  2007-1-13 14:59
是XDATA,有一个寄存器来控制MOVX是读片内的还是片外的,具体是哪个寄存器要找相应的数据手册来看。
idata是52单片机有的,52有256字节存储空间,前面128字节是data,后面128字节是idata。
点赞  2007-1-24 10:30
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复