
关于单片机编程的一道题,请高手们来看一看。
把片内RAM43H单元里的16个数传送到片内60H开始的单元中。以下是我的编程,请大家看看对否。MOVR2,#16HMOVR0,#60HMOVA,#43HLOOP:MOV...
把片内RAM43H单元里的16个数传送到片内60H开始的单元中。以下是我的编程,请大家看看对否。
MOV R2,#16H
MOV R0,#60H
MOV A,#43H
LOOP:MOV @R0,A
INC A
INC R0
DJNZ R2,LOOP
RET
有人和说我MOV R2,#16H里的#16H应该改为10H,请问这样改对否,为什么可以这样改,还有如果程序还有哪些不足之处,还请指出。求高人详细指点。
10H少打一个#号,,,有人让我将#16H改为#10H 展开
MOV R2,#16H
MOV R0,#60H
MOV A,#43H
LOOP:MOV @R0,A
INC A
INC R0
DJNZ R2,LOOP
RET
有人和说我MOV R2,#16H里的#16H应该改为10H,请问这样改对否,为什么可以这样改,还有如果程序还有哪些不足之处,还请指出。求高人详细指点。
10H少打一个#号,,,有人让我将#16H改为#10H 展开
意法半导体(中国)投资有限公司
2023-06-12
展开全部
展开全部
不对,你那又不是子程序,不用RET。INC A是把A里的值加1,不是地址加1.
MOV R2,#10H
MOV R0,#60H
MOV R1,#43H
LOOP:MOV A,@R1
MOV @R0,A
INC R1
INC R0
DJNZ R2,LOOP
MOV R2,#10H
MOV R0,#60H
MOV R1,#43H
LOOP:MOV A,@R1
MOV @R0,A
INC R1
INC R0
DJNZ R2,LOOP
追问
那#16H和#10H是怎么回事
追答
数字后面带H表示十六进制,#16H就是十进制的22,#10H是十进制16.

2020-01-15 广告
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
你用的是什么进制 h是16进制 那面16h 就不是16了 而是22 所以就这样了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面那个编程正确,不能用#16H可以用#16(十进制)或#10H(十六进制)都表示数16
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不对,这个不是子程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询