单片机高手!SoS!

来源:百度知道 编辑:UC知道 时间:2024/05/28 01:44:36
C51里面的加减乘除是不是都针对10进制的?请问ADC0809转换结果是几进制的?如果是2进制,给个C51的2进制转化成10进制的程序,如果不是也劳驾您。谢谢!
最好是C51的程序

不是,C51里加减乘除是二进制的,也可能说是十六进制的,AD转换结果也是二进制的.程序在下,把FF送入得到255 的BCD码
BW EQU 30H ;结果百位
GS EQU 31H ;结果个位十位
AD EQU 32H ;十六进制数
ORG 00H
MOV AD,#0FFH
MOV A,AD
MOV B,#10
DIV AB
MOV GS,B
MOV B,#10
DIV AB
MOV BW,A
MOV B,A
SWAP A
ORL A,GS
MOV GS,A
SJMP $
END
C51的也行
#include <AT89X51.H>
unsigned char ad,bw,sw,gw;
void h_d(void) //十六转十子程
{
gw=ad % 10;
ad=ad/10;
sw=ad % 10;
bw=ad/10;
}
void main(void)
{
ad=0xff; //要转换的二进制数(十六进制)
h_d(); //调用转换子程
while(1);
}
本人也是刚学C51的
你如果说的是 Keil C里面的话那就是十进制的了,也有可能是二进制的,要看情况