单片微型计算机与接口技术第三版课后习题答案
第四章作业
4.2 试说明为什么xdata型的指针长度要用两个字节?
答:因为xdata是外部数据存储器,最大可有64KB的存储单元,xdata指针式表示外部数据存储单元的地址,要表示64KB个单元地址。所以必须用2个字节,共16位表示。
4.4 编程将8XX51的内部数据存储器20H单元和35H单元的数据相乘,结果存到外部数据存储器中(位置不固定). #include<reg51.h>
main()
{char data *p1,*p2;
xdata int a;
p1=0x20;
p2=0x3;
a=*p1*(*p2);
}
4.6 8051的片内数据存储器25H单元中放有一个0~10的整数,编程求其平方根(精确到五位有效数字,将平方根放到30H单元为首地址的内存。
#include<reg51.h>
#include<math.h>
main()
{float *p2;
char *p1;
p1=0x25;
*p2=sqrt(*p1);
}
4.8 将外部ram的10H~15H单元的内容传送到内部RAM的10H~15H单元。
#include<reg51.h>
main()
{char pdata *m;
char data *n;
p2=0;
for(m=0x10;m<=0x15;m++)
{n=m;*n=*m;}
}