永发信息网

模数转换器转换后的数如何转换为十进制数在数码管显示?

答案:1  悬赏:10  手机版
解决时间 2021-03-25 21:38
模数转换器转换后的数如何转换为十进制数在数码管显示?
最佳答案
比如ADC0804,转换后直接就是8位数据,比如为a
则:
百位=a/100
十位=a%100/10
个位=a%10

然后送三位数码管分别显示

如果有的转换器精度高,高于8位,先把数据整合到一个整形变量里,再如上同理。追问如果AD输出的是二进制或BCD码,如何把二进制转换成十进制,如何把BCD码转换成十进制?谢谢。追答BCD码可以先转换成十六进制,假设这个BCD数为dat_tran

//BCD数转换成16进制 利用全局变量index_trans传递参数
void transform(unsigned char dat_tran)
{
unsigned char temp1,temp2;
temp1=dat_tran;
temp2=temp1/16;
temp1=temp1%16;
index_trans=temp1+temp2*10;
}

或者你改成带返回值的函数

unsigned char transform(unsigned char dat_tran)
{
unsigned char temp1,temp2, index_trans;
temp1=dat_tran;
temp2=temp1/16;
temp1=temp1%16;
index_trans=temp1+temp2*10;
return index_trans;
}追问大侠,还需要麻烦你说的更清除一些,我是刚接触程序的菜鸟,我脑海里现在只是想A/D转换出来的如果是二进制或BCD码的话,首先转换为十进制数,然后再送给数码管显示。比如,A/D转换后的结果是10111011(二进制),那我必须先转换为十进制,在转换时如何转换。谢谢。追答一般AD转换出来不是BCD,就是二进制,或者叫十六进制,比如八位,结果是10111011,你读出来可以使10111011B(二进制),也可以表示成0xbb(十六进制,4位2进制可以表示成一位16进制)。

二进制和十六进制就不用转换,单片机都认。你用AD转换出来后直接可以认为就是16进制,你要显示,把16进制转换成10进制就好了,8位二进制(或者说2位十六进制)最大的数是255,所以是3位十进制表示。
百位=a/100
十位=a%100/10
个位=a%10
就已经能达到要求了。

给你说明一下,一个数,不管是多少进制,表面上只是表示不同,实质上大小都是一样的!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
防风拉线施工三措怎么写
没结婚多久老公就不让我出门了,一出门就问多
花椒直播万圣娃娃有什么用
求马凡舒的图片
中国山茶油有哪些品牌比较出名的?
如今高三毕业,却感到迷茫
你好HM NOTE 1TD是红米手机型号几
l13j11图集122页大样8
求aurora hdr 2017软件
湿眼影和干眼影哪个比较好用?
厂房失火2死1伤法人会被判刑吗
为什么杰伦的歌第一次听,基本听不清几个字
刘开是桐城派鼻祖谁的弟子
白天室外音响扰民怎么办?
和平鱼长得最像的鱼
推荐资讯
生活中哪些东西是圆柱,哪些东西是圆锥。(各
bbox学饮杯能喝奶吗
不服最高人民检察院不予抗诉决定书该怎么办
诺贝尔诞生的历史背景
什么是建筑竖向平面图?
以光速从月球到地球,需要多久
建设银行定期存款到期取出要不要身份证?
公安悬赏任务怎么 领取
学着说点理:如图:∠1=∠2=∠3,完成说理过
美的空调售后维修电话
为什么十个炒股九个输,炒股就真的这么难吗
什么是配电终端
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?