8051单片机编程时,怎么把二进制数变成十进制数?

就是要把接收来的二进制数据,变成十进制数,然后显示在数码管上。程序怎么写?我会把十进制数显示出来。

这个就是16进制转10进制。
看你的数据范围了。
只有一个字节的话,最简单就是 循环减10。
多字节的话,减起来就太慢了。
可以用位权来加。移位判断,是1就加,0不加,第0位加1,第1位加2,第3位4,这样。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-25
unsigned char B_To_D(unsigned char *rxbuff) //rxbuff[]一个单元存一位二进制数
{
unsigned char data=0;
for(i=0;i<8;i++)
data+=rxbuff[i]<<i;
return(data);
}
第2个回答  2011-03-25
8421码
第3个回答  2011-03-25
用求余求模的方式就可以,本来我写得很详细了,但不知道为什么,只能最多输入100个字,浪费表情。、

请教8051汇编指令
MOV data,@Ri ;((Ri))→(data) 寄存器Ri中的内容指定的地址单元中数据送到直接地址单元 [4]. 以间接地址为目的操作数的指令(3条) 这组指令的功能是把源操作数指定的内容送到以Ri中的内容为地址的片内RAM中。有直接、立即和寄存器3种寻址方式: MOV @Ri,data ;(data)→((Ri)) 直接地址单元中的内容送...

单片机问题
2)、C\/T定时器\/计数器方式选择位 C\/T=0,设置为定时方式,对机器周期进行计数; C\/T=1,设定为计数方式,对外部信号进行计数,外部信号接至T0(P3.4)或T1(P3.5)引脚。 3)、GATE门控位 GATE=0时,只要用软件使TR0(或TR1)置1就能启动定时器T0(或T1); GATE=1时,只有在INT0(...

为什么汇编语言中有那么多寻址方式? 为什么数据交换不能直接从内存到...
拿8051单片机参考,因为8051是8位机,寻址范围为0-255,而内存存储空间大于255,所以需要间接寻址,还有地址位移,向前移,向后移,这样寻址方式快,还有就是利用寻址方式不能,使用的指令不同,也同样区分地址是内部存储还是外部存储。数据交换从内存到内存:因为数据交换是有MCU进行处理的而不是由硬件自动...

8051单片机中管脚赋值是否只能用16进制,能不能用二进制呢?
可以啊:(向P0口送数)二进:MOV p0,#11111111b 十六进:MOV p0,#0ffh 十进:MOV p0,#255 汇编就是简单!C语言只有三种:十进: 就纯数字 八进: 纯数字前面加0 十六进:在0~9,A~F组成的数值前面加0x

8051单片机定时器,计数器脉冲
16位即0-2的16次方=(十六进制)0000H-FFFFH=(十进制)0-65536=(二进制)0000000000000000-1111111111111111 所以说最多计数不是216个,是2的16次方

80C51系列单片机学习→中断一节里→计算初值→
然后,把15536化为2进制数,按照不同的模式放置初值,例如;方式2的话,所得2进制的高八位直接放TH0,第八位直接放TL0(可能不是方式2,记不太清楚而来,反正其中有一种方式是这样的)这里 对15536\/256取模,相当得到该数对应的2进制数的高八位所对应的十进制数 15536\/256取余数,相当得到该数...

简单8051单片机的算数运算问题
计算机中表示的数都是原数的补码,4-8=-4这个运算范围涉及负数所以是有符号运算,在计算机中的操作过程是:4-8=4+(-8)4=00000100,4的补码=00000100 -8=10001000,-8的补码=11111000 4-8在计算机中的运算是00000100+11111000=11111100 11111100是10000100的补码,而10000100正是-4的二进制表示。

8051单片机汇编程序请教
你的第二次修改,还有一处不足:……;CLR C MOV DPTR,#TABLE LOOP:CLR A ;这里少了一句,下面每次读出的,;就不知道是什么了 MOVC A,@A+DPTR JNZ CONT_P INC R2 SJMP NEXT ……可以正常计数的程序如下。;=== ORG 0H MOV A,#00H MOV R2,A MOV R3,A MOV R4,A...

设计8位16进制数转10进制程序。 8051单片机编程
比如十六进制数num:num=num\/16*10+num%16原理方法就是把相应位(十进制中个位、十位这样的位)分离出来,分别乘以转化目标进制数的进率之和。num\/16为十六进制高位,num%16为十六进制低位,分别乘以十进制进率之和num\/16*10+num%16*1

关于51单片机的几个问题
1、8位二进制补码表示十六位进制的范围是多少?是-80H~7FH么 是。--- 2、“8051单片机的外部拓展EEPROM程序存储器进行适当的连接可以作为数据存储器使用,而8051单片机的外部拓展数据存储器也可以作为程序存储器进行程序调试”前一句懂,后一句为什么是对的呢?如果外部数据存储器没有连接方式的话,MOV...

相似回答
大家正在搜