单片机ofeh_单片机程序

1

编程将片内

RAM30H

单元开始的15

B

的数据传送

到片外

RAM3000H

开始的单元中去

解:

STRAT

MOV

R0,#30H

MOV

R7,#0FH

MOV

DPTR,#3000H

LOOP

MOV

A,@R0

MOVX

@DPTR,A

INC

R0

INC

DPTR

DJNZ

R7,LOOP

RET

2

、编程将片内

RAM

40H

单元中的内容送到片外

RAM2000H

单元中。

解:

ORG

0100H

MOV

A

40H

MOV

DPTR

#2000H

MOVX

@DPTR

A

END

3

将内部

RAM

40H

开始的

10

个字节的数搬到外部

RAM

2000H

MOV

DPTR,#2000H

MOV

R0,#40H

MOV

R2,#0AH

LOOP:

MOV

A,@R0

MOVX

@DPTR,A

INC

R0

INC

DPTR

DJNZ

R2,LOOP

SJMP

$

END

4

将存于外部

RAM 8000H

开始的

50H

数据传送

0010H

的区域,请编程实现。

MOV

DPTR

#8000H

MOV

R0

#10H

MOV

R2

#50H

LOOP

MOVX

A

@DPTR

;取数

MOVX

@R0,A

;存数

1NC

DPTR

1NC

R0

DJNZ

R2

LOOP

RET

5

.片内

RAM40H

开始的单元内有

10B

二进制数,编程找出其中最大值并存于

50H

单元中.

START: MOV

R0,#40H

;

数据块首地址送

R0

MOV

R7,#09H

;

比较次数送R7

MOV

A,@R0

;

取数送A

LOOP:

INC

R0

MOV

30H,@R0

;

取数送30

H

CJNE

A,30H,NEHT

;

(

A

)与(

30H

)相比

NEXT:

JNC

BIE1

(A)

(30H)

BIR1

MOV

A,30H

;(A)

(30H),

大数送

A

BIE1:

DJNZ

R7,LOOP

;

比较次数减

1

,不为

0

,继续比较

MOV

50H,A

;

比较结束,大数送

50H

RET

6.

片内

RAM30H

开始的单元中有

10B

的二进制数,请编程求它们之和(和<

256

)

ADDIO

MOV

R0,30H

MOV

R7,#9

MOV

A,@R0

LOOP

INC

R0

ADD

A,@R0

DJNZ

R7,LOOP

MOV

30H,A

RET

7

设从内存

BLOCK

单元开始存放一

无符号数的数据块,其长度为

LEN

。试找出其最小数,并存入

MIN

单元。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值