|
怎么将ADC转换二进制码转换成非压缩BCD码存储.
[复制链接]
在单片机的应用中用到ADC转换,为了将转换结果存储并显示输出,将二进制代码转换成非压缩BCD玛,假设我们用的是16位精度的ADC,转换结果为两字节二进制码分别存储在8051的R2,R3寄存器中,我们将其转换为非压缩BCD码存储在 44H,45H,46H,47H,48H.
源代码如下:
CLR A
MOV 44H,A
MOV 45H,A
MOV 46H,A
MOV 47H,A
MOV 48H,A
MOV R7,#16
LOOP1:MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
MOV A,48H
ADDC A,48H
DA A
MOV 48H,A
DEC R7
JZ LOOP6
JNB PSW.6,LOOP1
SETB CY
LOOP2: MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
MOV A,47H
ADDC A,47H
DA A
MOV 47H,A
DEC R7
JZ LOOP6
JNB PSW.6,LOOP2
SETB CY
LOOP 3:.......
.................
...............
LOOP6 : RET
这个程序代码是不是太长了.恭等高手指点.
|
|