在单片机程序中如何将P1口的二进制数据读出后转换成十进制送给数码管的前三位

2025-04-08 10:13:12
推荐回答(4个)
回答1:

从P1读出的数据给一个数组input[];

int i, tn, dec = 0, t = 1;
for(i = 0; i {
tn = t * input[i]; /*tn 为每一项的值*/
dec = dec + tn;
t = t * 2; /* 每往前进一次, 基值 *2 */
}
printf("%d", dec);
}

此时就转换成十进制了
然后给数码管相应的管脚就OK了。
控制数码管一般都是用二进制和十六进制,您怎么用十进制呢

回答2:

你读取P2的数据之后保存
t=P2;
P1_0=t/100;
P1_1=t%100/10;
P1_2=t%10;
然后你在从P1输出就可以了

回答3:

用74ls164作为桥梁就OK了。
有几位数码管就用几个74LS164。
具体接法网上都有。
需要注意的是P1口输出的数据一定要依据你的电路接法。

回答4:

查表