单片机编程将累加器A中的二进制数变成BCD码,并将百、十、个位数分别写入内部RAM中的50H、51H、52H中。
展开全部
mov b,#10
div ab
mov 50h,a
mov a,b
da a
mov 52h,a
anl 52h,#0fh
swap a
anl a,#0fh
mov 51h,a
end
我只说说方法吧,先mov R0,a;把原数暂存于R0中
and a,#0fh;
mov R1,a;低四位保存至R1
mov a,R0;
and a,#0f0h;
swap a;交换高四位与低四位
此时再把a中的数乘以10再加上R1中保存的数就可以了。只说了大致思路,具体的自己写吧。
展开全部
正确程序如下:
MOV B, #10 ;设定除数.
DIV AB ;相除后,B中是余数.
MOV 52H, B ;余数即为个位数,存到52H
MOV B, #10
DIV AB
MOV 51H, B
MOV 50H, A
SJMP $
END
MOV B, #10 ;设定除数.
DIV AB ;相除后,B中是余数.
MOV 52H, B ;余数即为个位数,存到52H
MOV B, #10
DIV AB
MOV 51H, B
MOV 50H, A
SJMP $
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mov b,#10
div ab
mov 50h,a
mov a,b
da a
mov 52h,a
anl 52h,#0fh
swap a
anl a,#0fh
mov 51h,a
end
div ab
mov 50h,a
mov a,b
da a
mov 52h,a
anl 52h,#0fh
swap a
anl a,#0fh
mov 51h,a
end
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询