51单片机data,idata,xdata,pdata的区别

本文深入探讨了51系列单片机中的data, idata, xdata, pdata的区别,以及在C语言中使用code关键字将数据放置于ROM中的意义。

在51系列单片机中data,idata,xdata,pdata的区别:

data:固定指前面0x00-0x7F的128byte的RAM,可以用ACC直接读写的,速度最快,生成的代码也最小。
idata:固定指前面0x00-0xFF的256byte的RAM,其中前128byte和data的128byte完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:MOX  ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)
xdata:外部扩展RAM,一般指外部0x0000-0xFFFF空间,用DPTR访问。
pdata:外部扩展RAM的低256byte,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。
单片机C语言unsigned char code table[] code 是什么作用?
code:定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVX(好像是),因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值