xdata的访问问题

dhuazhang   2008-7-21 17:45 楼主
我想在c51中象汇编那样用绝对地址,不知应该怎样定义和使用?
汇编:
  ORG 4000H
DB:.......;
DB:.......;
不知象这种我应该如何应用?

回复评论 (6)

在.c文件中包含这样的语句"#include
unsigned char xdata tab[N]={
  ...  
  ...
}

读入tab中的n个数据,放入buffer中(假定你已经定义了buffer):

void readndata (unsigned char n){
  unsinned char i;
  for (i=0;i   {
   buffer=XBYTE;
  }
}

点赞  2008-7-21 18:11
669?  或  668  ?
点赞  2008-7-21 18:52
既然已经知道了xdata,怎么会不知道怎么应用呢?xdata本来就是C51里面特殊增加的一个变量。只要你用xdata 定义一个变量,那么这个变量就是在外部存储空间里了,编译器(常用keil)会自动给分配的。
点赞  2008-7-21 20:24
使用绝对地址宏定义。具体格式去看看相关的书就知道了。
点赞  2008-7-21 22:33
ORG 4000H
DB:.......;
DB:.......;
C51如下:
unsigned char xdata tab[N]={
  ...  
  ...
} at 0x4000H;

点赞  2008-7-21 22:44
先谢谢大家的解答!但我这假如数据很多的话!比如是液晶显示的数据那就很多,那我岂不是要很大的缓存!我原来都是用的汇编,现在开始用c51,太多不懂的!请大家不吝赐教!能有一点点简单的程序就更好!
点赞  2008-7-22 09:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复