当前位置:首页 > 单片机 > 单片机
[导读]1 //把内部ram40H和41H的内容分别给外部RAM100H和101H2 #include 34 void main (void)5 { 6 //注意了这里用到的是unsigned char数值范围是0~256即是占用了一个内存单元,所以要定义两个指针变量7 unsigned char

1 //把内部ram40H和41H的内容分别给外部RAM100H和101H

2 #include

3

4 void main (void)

5 {

6 //注意了这里用到的是unsigned char数值范围是0~256即是占用了一个内存单元,所以要定义两个指针变量

7 unsigned char xdata *xdp1; //因为外部的RAM100H和101H已经超出了256,所以要用位数为16位的xdata;

8 unsigned char xdata *xdp2;

9 unsigned char data *dp1;

10 unsigned char data *dp2;

11

12 xdp1 = 0x100;

13 xdp2 = 0x101;

14 dp1 = 0x40;

15 dp2 = 0x41;

16 *xdp1 = *dp1;

17 *xdp2 = *dp2;

18 }

复制代码

复制代码

1 //把内部ram40H和41H的内容分别给外部RAM100H和101H

2 #include

3

4 void main (void)

5 {

6 //注意了这里用到的是unsigned short数值范围是0~65535即是占用了两个内存单元,所以只需定义两个指针变量就ok了

7 unsigned short xdata *xdp; //因为外部的RAM100H和101H已经超出了256,所以要用位数为16位的xdata;

8 unsigned short data *dp;

9

10 xdp = 0x100;

11 dp = 0x40;

12

13 *xdp = *dp;

14 }


以上两段代码实现了相同的功能,所以编写代码之前要注意定义的数据类型和存储类型是什么样的。

注意了:因为外部的RAM100H和101H已经超出了256(FFH),而内部RAM是8位的,即范围为0--256(FFH)所以要用位数为16位的xdata;


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭