8位ADC是256还是255?

文章探讨了8位ADC(模拟数字转换器)的数值范围问题,不同的观点认为最大值是255或256。一位硬件专家指出8位ADC将模拟信号分为256份,包括0,而软件项目经理则坚持认为是255。文章通过表格展示了数值计算时的误差,解释了255和256两种观点的由来,并提到了ADC芯片设计的差异可能造成理解上的分歧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天的文章发了之后,有朋友找到我,给我讨论了很多关于ADC细节。

晚上给个朋友在51上调ADC0808芯片

有一个朋友是做硬件的,他有从事过专业仪器设备,常年有使用ADC的经验,他给我的观点是,8位ADC对应的就是256。

becd9f1389250b4f0ee058d01acc3afe.png

他的聊天里面有截图了一张图片,从那个图片可以看到,ADC芯片在把一个模拟信号等分的时候,是把0计算在内的,也就是说,8位的ADC芯片,把一个模拟信号等分成了256份。如果对应的模拟信号是5V,对应的每一份ADC数值的电压就是5V/256。

875dcd79f47a713196a48f7bd52ffc2d.png


有一个做项目经理的朋友,他原来是做软件开发的,他坚持认为应该对应的是255,而不是256,当然,除了他以外,还有其他人也认为是255。

e0b003e6cf6610d91a8e818a365f022e.png

觉得是255的人我是可以理解的。

b8195397fe913ed0e7b322a76907ed79.png

上面的英文大家可以好好看看

对于255 和256的ADC数值,我列了一个表格如下

58e72b498ae89790e949877115af4cca.png

从上面可以看到,如果我们把8位ADC分成256份后,后面再计算数值的时候,会发现存在比较大的误差。

而这也就是为什么坚持说是255的原因,因为8位ADC对应的最大的值是0xFF也就是255

a88c60424589ab6632ed6592e0cff5fd.png

当然,除了上面所说之外,肯定还又因为不同ADC芯片设计存在不同的差异。

fc612578cd74bb80549d64bd3ad2ed03.gif

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值