C51 中data, idata, xdata, pdata, code的作用

  从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器。片内程序存储器还分为直接寻址区和间接寻址区。

  data:将数据存储在0x00 - 0x7f的128B的RAM空间,可以用acc直接读写,速度最快,生成的代码也最少。

  idata:将数据存储在0x00 - 0xff的256B的RAM空间,与data的区别在于访问方式不同,idata数据需要通过间接方式访问。

  xdata:将数据存储在外部0x0000 - 0xffff RAM空间,用DPTR访问。

  pdata:将数据存储在外部扩展RAM的低256字节空间。

  code:将数据存储在ROM区域。


  bdata:C51自定义语句,非标准C关键字。主要用于定义8位或以上的位访问。

  例如:

 1 char bdata MODE;
 2 
 3 sbit MODE_7 = MODE^7;
 4 sbit MODE_6 = MODE^6;
 5 sbit MODE_5 = MODE^5;
 6 sbit MODE_4 = MODE^4;
 7 sbit MODE_3 = MODE^3;
 8 sbit MODE_2 = MODE^2;
 9 sbit MODE_1 = MODE^1;
10 sbit MODE_0 = MODE^0;

 

posted on 2018-04-07 08:18  ic90  阅读(555)  评论(0编辑  收藏  举报

导航