今天在看有关51内核的单片机在USB方面的应用时遇到数据类型方面的问题经查资料后终结了一下。
51系列有片内,片外程序存储器和片内,片外数据存储器。片内程序存储器还分为直接存储器和间接存
储器,分别对应code,data,xdata,idata以及根据51系列特点而设定的pdata类型。使用不同的存储器会使
程序执行效率不同。
下面先来看一下这些数据类型:
(1)code:是在0000H....0FFFFH之间的一个代码地址。
(2)data:固定指前面0x00--0x7f的个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。
(3)idata:固定指前面0x00--0xff的个RAM,其中前128和data的128完全相同,只是访问的方式不同。
idata使用类似C中的指针方式访问的。汇编中用:mov ACC,@Rx.
(4)xdata:外部扩展RAM,一般指外部0x0000--0cffff空间,用DPTR访问。
(5)pdata:外部扩展RAM的256个字样,地址出现在A0~A7的上面读写,
存储类型与存储区:
data ----> 可寻址片内的ram
bdata ----> 可位寻址片内ram
idata ----> 可寻址片内ram,允许访问全部的内部ram
pdata ----> 分页寻址片外ram
xdata ----> 可寻址片外的ram
code ----> 程序存储区
文章评论(0条评论)
登录后参与讨论