如何在单片机上显示二进制的数

如题所述

单片机十六进制和二进制数,不用转换,计算机内的数据都是以二进制保存的。几进制数,只是以不同的方式来显示。本质上是一样的。
如果一定要转换,具体参考如下:
unsigned char num; //定义一个8位数
if(num&(1<<n))
...;//num 的第N位是1
else
...;//num 的第N位是0
当然可以放在一个循环里面;
for(unsigned char i=0;i<8;i++) {
if(num&(1<<n))
...;//num 的第N位是1
else
...;//num 的第N位是0
}追问

我的意思是例如一个数是10111101如何显示在TFT上

温馨提示:内容为网友见解,仅供参考
无其他回答

如何在单片机上显示二进制的数
单片机十六进制和二进制数,不用转换,计算机内的数据都是以二进制保存的。几进制数,只是以不同的方式来显示。本质上是一样的。如果一定要转换,具体参考如下:unsigned char num; \/\/定义一个8位数 if(num&(1<<n))...;\/\/num 的第N位是1 else ...;\/\/num 的第N位是0 当然可以放在一个循...

如何对单片机IO口赋二进制的值
再说,16进制和2进制是一一对应的,转化时,只要将2进制4位一组划分开来,看每组分别对应哪个16进制数即可(不行还可以用windows自带的计算器进行转化)。0xff就是代表11111111。直接用16进制赋值,不仅书写起来简便,而且也不容易出错。所以建议楼主以后多用16进制对寄存器赋值。

单片机二进制计数
1、按键按第1次,count = 1; P1 = ~count = 0xfe;LED灯里的L1亮,其他灭。2、按键按第2次,count = 2; P1 = ~count = 0xfd;LED灯里的L2亮,其他灭。3、按键按第3次,count = 3; P1 = ~count = 0xfc;LED灯里的L1、L2亮,其他灭。4、按键按第4次,count = 4; P1 = ~cou...

如何把c51单片机中的二进制数在数码管(共阴极)中用十进制显示出来?谢谢...
MOV A, R0 ; 取来二进制数字.MOV B, #10 ; 换成10进制.DIV AB ; A÷B商存A, 余数存B MOVC A, @A+DPTR;取.MOV P0, A CLR P2.1 ; 开十位显示.ACALL DLY10mS ; 调延时10ms程序 十位.SETB P2.1 ; 关闭十位显示.MOV A, B...

单片机中,如何将一个16进制数转为2进制的形式输出 比如a=0x9C,但最 ...
1 将该数据先送入寄存器R4中,如(R4)=0x9C=10011100,2 R4的内容送给(A)3使用带进位的左循环指令 将(A)中内容左移一位送给进位位C,(A)内容送给(R4)保存 4 30H送给(A) 使用 ADDC A,#0 指令 求出要发送的二进制数的第一位数(即30H或31H)5 再返回第二步 继续求出...

在单片机程序中如何将P1口的二进制数据读出后转换成十进制送给数码管的...
\/* 从最后一个开始*\/ { tn = t * input[i]; \/*tn 为每一项的值*\/ dec = dec + tn;t = t * 2; \/* 每往前进一次, 基值 *2 *\/ } printf("%d", dec);} 此时就转换成十进制了 然后给数码管相应的管脚就OK了。控制数码管一般都是用二进制和十六进制,您怎么用十进制呢 ...

单片机数码管显示原理
数码管的显示是通过控制每个段的开闭来实现的,例如显示数字1时,b和c段点亮,其他段熄灭。对应的P0口二进制值为0b11111001,十六进制为0xF9。编写程序让数码管显示特定数字的过程,就是将这些二进制值映射到数码管的真值表中,如表1所示。数码管的显示方式有两种,静态显示和动态显示。静态显示时,...

单片机单个数码管元件名称是什么
1. 显示原理:亮为0,暗为1,数码管从右至左显示二进制数。2. 控制方式:a. 位选:如控制第1个数码管,需选择相应的位选信号。b. 段选:确定要显示的数字后,通过控制数码管的特定段来实现。void display(void) 函数:P2 = ((P2&0x1F)|0xE0); \/\/ 数码管消隐 P0 = 0xFF;P2 &= 0x...

KEIL怎样表示二进制!51.单片机
用KEIL写51的汇编程序,可以用二进制数字后加“B”表示,比如0x2A = 00101010B 而KEIL的C编译器不支持写二进制数,所以KEIL的C程序不能直接用二进制数表示。但如果你自定义一个#define B00101010 0x2A 这句话,那下面的程序就可以直接使用B00101010来表示了。把这个些写进一个头文件里,用的...

在单片机中如何用8个发光管演示出8位二进制数字自减过程?(用c语言...
P1 = abc; \/\/在P1口外接8个LED,低电平发光.abc++; \/\/加,负逻辑将显示为自减.delay(500); \/\/延时,供观察现象.} } === 要求由最高位P0^0作为二进制的最高位。这个新要求,可以在焊接LED器件的时候进行调整。更改一下程序,也不难,如下:include "reg51.h"unsigned char ...

相似回答