求51单片机用汇编语言写四位或更多位十六进制转换成十进制bcd码
求助用汇编语言写的我要把一个很大的数在lcd上显示出来比如这个数是四位十六进制表示的我只能想到把它转换成十进制bcd码再依次显示出来请问这个四位十六进制转换成十进制的程序...
求助 用汇编语言写的 我要把一个很大的数在lcd上显示出来 比如这个数是四位十六进制表示的 我只能想到把它转换成十进制bcd码再依次显示出来 请问这个四位十六进制转换成十进制的程序怎么写?或者你有更简捷的办法 ?邮箱wshdrf123456@126.com 非常感谢
注意 我用的是汇编语言 c语言没学过51的 也没法与已经写好的程序连接 因时间关系 只能先求一个汇编的先用着 如嫌悬赏分数低的可再加分 qq 442345504 展开
注意 我用的是汇编语言 c语言没学过51的 也没法与已经写好的程序连接 因时间关系 只能先求一个汇编的先用着 如嫌悬赏分数低的可再加分 qq 442345504 展开
展开全部
;十六进制--->十进制
MM:
MOV A,30H
ANL A,#0F0H
SWAP A
MOV R0,A
CLR A
CLR CY
CJNE R0,#00H,L1
AJMP L3
L1: ADD A,#16H
DA A
JC L2
DJNZ R0,L1
AJMP L3
L2: INC B
DEC R0
CLR CY
CJNE R0,#00H,L1
L3: ANL 30H,#0FH ;30H存放转速十六进制的低字节
ADD A,30H
DA A
JC L4
AJMP L5
L4: INC B
CLR CY
L5: ANL 31H,#0FH ;31H存放转速十六进制的高字节
MOV R0,31H
MOV R1,31H
CJNE R0,#00H,L6
AJMP L10
L6: ADD A,#56H
DA A
JC L7
DJNZ R0,L6
AJMP L8
L7: INC B
DEC R0
CLR CY
CJNE R0,#00H,L6
L8: MOV 44H,A ;44H存放转化成的十进制的低字节
MOV A,B
CLR CY
L9: ADD A,#02H
DA A
DJNZ R1,L9
MOV 45H,A ;45H存放转化后的十进制的高字节
AJMP L
L10: MOV 44H,A
MOV 45H,B
L: END
MM:
MOV A,30H
ANL A,#0F0H
SWAP A
MOV R0,A
CLR A
CLR CY
CJNE R0,#00H,L1
AJMP L3
L1: ADD A,#16H
DA A
JC L2
DJNZ R0,L1
AJMP L3
L2: INC B
DEC R0
CLR CY
CJNE R0,#00H,L1
L3: ANL 30H,#0FH ;30H存放转速十六进制的低字节
ADD A,30H
DA A
JC L4
AJMP L5
L4: INC B
CLR CY
L5: ANL 31H,#0FH ;31H存放转速十六进制的高字节
MOV R0,31H
MOV R1,31H
CJNE R0,#00H,L6
AJMP L10
L6: ADD A,#56H
DA A
JC L7
DJNZ R0,L6
AJMP L8
L7: INC B
DEC R0
CLR CY
CJNE R0,#00H,L6
L8: MOV 44H,A ;44H存放转化成的十进制的低字节
MOV A,B
CLR CY
L9: ADD A,#02H
DA A
DJNZ R1,L9
MOV 45H,A ;45H存放转化后的十进制的高字节
AJMP L
L10: MOV 44H,A
MOV 45H,B
L: END
展开全部
这里是2字节的转化,更多的就以此类推
SLJZ EQU 30H
SJZ EQU 32H
XHCS EQU 35H
ORG 0000H
MOV SJZ,#00H
MOV SJZ+1,#00H
MOV SJZ+2,#00H
MOV SLJZ+1,#0FFH
MOV SLJZ,#0FFH
MOV A,SLJZ+1
ANL A,#0F0H
SWAP A
MOV XHCS,A
CJNE A,#00H,LOOP
AJMP LOOP1
LOOP: MOV A,SJZ
ADD A,#96H
DA A
MOV SJZ,A
MOV A,SJZ+1
ADDC A,#40H
DA A
MOV SJZ+1,A
MOV A,SJZ+2
ADDC A,#00H
DA A
MOV SJZ+2,A
DJNZ XHCS,LOOP
LOOP1: MOV A,SLJZ+1
ANL A,#0FH
MOV XHCS,A
CJNE A,#00H,LOOP2
AJMP LOOP3
LOOP2: MOV A,SJZ
ADD A,#56H
DA A
MOV SJZ,A
MOV A,SJZ+1
ADDC A,#02H
DA A
MOV SJZ+1,A
MOV A,SJZ+2
ADDC A,#00H
DA A
MOV SJZ+2,A
DJNZ XHCS,LOOP2
LOOP3: MOV A,SLJZ
ANL A,#0F0H
SWAP A
MOV XHCS,A
CJNE A,#00H,LOOP4
AJMP LOOP5
LOOP4: MOV A,SJZ
ADD A,#16H
DA A
MOV SJZ,A
MOV A,SJZ+1
ADDC A,#00H
DA A
MOV SJZ+1,A
MOV A,SJZ+2
ADDC A,#00H
DA A
MOV SJZ+2,A
DJNZ XHCS,LOOP4
LOOP5: MOV A,SLJZ
ANL A,#0FH
ADD A,SJZ
DA A
MOV SJZ,A
MOV A,SJZ+1
ADDC A,#00H
DA A
MOV SJZ+1,A
MOV A,SJZ+2
ADDC A,#00H
DA A
MOV SJZ+2,A
SJMP $
END
SLJZ EQU 30H
SJZ EQU 32H
XHCS EQU 35H
ORG 0000H
MOV SJZ,#00H
MOV SJZ+1,#00H
MOV SJZ+2,#00H
MOV SLJZ+1,#0FFH
MOV SLJZ,#0FFH
MOV A,SLJZ+1
ANL A,#0F0H
SWAP A
MOV XHCS,A
CJNE A,#00H,LOOP
AJMP LOOP1
LOOP: MOV A,SJZ
ADD A,#96H
DA A
MOV SJZ,A
MOV A,SJZ+1
ADDC A,#40H
DA A
MOV SJZ+1,A
MOV A,SJZ+2
ADDC A,#00H
DA A
MOV SJZ+2,A
DJNZ XHCS,LOOP
LOOP1: MOV A,SLJZ+1
ANL A,#0FH
MOV XHCS,A
CJNE A,#00H,LOOP2
AJMP LOOP3
LOOP2: MOV A,SJZ
ADD A,#56H
DA A
MOV SJZ,A
MOV A,SJZ+1
ADDC A,#02H
DA A
MOV SJZ+1,A
MOV A,SJZ+2
ADDC A,#00H
DA A
MOV SJZ+2,A
DJNZ XHCS,LOOP2
LOOP3: MOV A,SLJZ
ANL A,#0F0H
SWAP A
MOV XHCS,A
CJNE A,#00H,LOOP4
AJMP LOOP5
LOOP4: MOV A,SJZ
ADD A,#16H
DA A
MOV SJZ,A
MOV A,SJZ+1
ADDC A,#00H
DA A
MOV SJZ+1,A
MOV A,SJZ+2
ADDC A,#00H
DA A
MOV SJZ+2,A
DJNZ XHCS,LOOP4
LOOP5: MOV A,SLJZ
ANL A,#0FH
ADD A,SJZ
DA A
MOV SJZ,A
MOV A,SJZ+1
ADDC A,#00H
DA A
MOV SJZ+1,A
MOV A,SJZ+2
ADDC A,#00H
DA A
MOV SJZ+2,A
SJMP $
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我没太看懂,是四个字节存的吗?不管怎么样我先传一个给你,到时候你自己改一下,就是二翻十子程序,转换后的单元通过调用查表程序就能显示出来了,不过液晶的程序我没有,我也正在学,不好意思了,这部分有不懂得地方问我
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序已发到你邮箱,是汇编程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询