c51语言的变量定义包含哪些关键因素,第4章 单片机的C51语言题解

END

方法二:单用C语言编程实现

//MAIN.C

#include

#include

int movdata(char);

void main()

{ char n; char *ptr; float *ptr2; float f; ptr=0x25; n=*ptr; f=sqrt(n);

ptr2=0x30; *ptr2=f; }

8.将外部RAM 10H~15H单元的内容传送到内部RAM 10H~15H单元。

解:方法一:采用C语言与汇编语言混合编程

//用C语言编写的主函数MAIN.C

#include

char movdata(char,char);

void main()

{

char a=0x10,b=0x06;

movdata(a,b);

}

;用汇编语言编写的移动数据子函数MOVDATA,其中第一个参数在R7中为首地址,第二个参数在R5中为字节数

PUBLIC _MOVDATA

DE SEGMENT CODE

RSEG DE

_MOVDATA: MOV A,R7 ;取参数

MOV R0,A

LOOP: MOVX A,@R0

MOV @R0,A

INC R0

DJNZ R5,LOOP

EXIT: RET

END

方法二:单用C语言编程实现

//MAIN.C

#include

void main()

{

char n=6;

char *ptr1=0x10;

char xdata *ptr2;

ptr2=0x10;

while(n--){

*ptr1++=*ptr2++;

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值