ADC具有2s补码输出

时间:2016-05-02 06:12:43

标签: adc

我有一个ADC HX711,它以2s补码形式提供输出。 我想计算给定ADC的输入电压。

重新计算ADC输入电压需要做的所有计算。

参考= 1.25伏特 ADC计数= 2s补码。

由于

1 个答案:

答案 0 :(得分:2)

- 来自Two's Complement的转换 -

使用数字0xFFFFFFFF作为示例。在二进制文件中,即:

1111 1111 1111 1111 1111 1111 1111 1111

我们可以对这个数字说些什么?它的第一个(最左边)位是1,这意味着它代表一个负数。这就是事物处于二进制补码的方式:前导1表示数字为负数,前导0表示数字为0或正数。

要查看此数字是否为负值,我们会反转此数字的符号。但是怎么做呢?课堂笔记说(在3.17上)要反转符号,你只需将位反转(0变为1,1到0)并在结果数字中加1。

这个二进制数的反转显然是:

<00> 0000 0000 0000 0000 0000 0000 0000 0000

然后我们添加一个。

<00> 0000 0000 0000 0000 0000 0000 0000 0001

所以0xFFFFFFFF的负数是0x00000001,通常称为1.所以0xFFFFFFFF是-1。

- ADC观点 -

由于您没有提及位数作为输出,将给出通用答案:

您获得的值与您正在使用的参考值成比例。

10位= 1024步(0到1023)

因此计算得出结果的电压是:

Result_mV =(参考电压,单位为mV / 1023)*结果(ADC的十进制值)