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

如题所述

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

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

此时就转换成十进制了
然后给数码管相应的管脚就OK了。
控制数码管一般都是用二进制和十六进制,您怎么用十进制呢
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-23
你读取P2的数据之后保存
t=P2;
P1_0=t/100;
P1_1=t%100/10;
P1_2=t%10;
然后你在从P1输出就可以了本回答被提问者采纳
第2个回答  2010-07-23
用74ls164作为桥梁就OK了。
有几位数码管就用几个74LS164。
具体接法网上都有。
需要注意的是P1口输出的数据一定要依据你的电路接法。
第3个回答  2010-07-23
查表
相似回答