单片机的不难编程题!急!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/04 06:25:06
将R0中的8位二进制数转换成3位BCD码,结果存入外部RAM的1002H~1000H(从高位到低位)单元中

例如:地址:R0 执行后:1002H 1001H 1000H
数据:81H 01 02 09

当成子程序吧,程序这样应该没有问题,给你加点注释吧。
BCDTSRAM:
MOV DPTR,#1002H ;高位地址
MOV A,RO ;地址入口 数据在r0
MOV B,#100
DIV AB
MOV 30H,A ;低两位暂存在30h中
MOV A,B
MOVX @DPTR,A ;百位进1002h
MOV B,#10 ;剩下的处以10
MOV A,30H
DIV AB
MOV 30H,A ;个位
MOV A,B ;十位
DEC DPTR
MOVX @DPTR,A ;1001H
MOV A,30H
DEC DPTR
MOVX @DPTR,A ;1000H 个位
RET