ADC0809使用中的小问题----小数点后保留两位的处理方法

ADC0809转换结果在输出显示之前先要进行数据处理,其原理如下:

转换输出结果在0—255之间分别对应着0~+5V之间的256个电压值,因此单片机必须把A/D转换输出的结果转换成可以显示的电压值,具体方法是:

VIN=DOUT *5/255,其中DOUTADC0809输出的八位二进制数。

由上述公式可知:当ADC0809输出为(11111111B 时,输入电压的值为VIN=5.00V;

ADC0809输出为(00000000B 时,输入电压的值为VIN=0.00V;ADC0809输出为(10000000B,输入电压值为VIN=2.50V但是单片机进行数学运算时结果只去整数部分,因此输出为(10000000B时计算出来的电压值为VIN=2V

    由此可以看出这样运算输出的结果很不准确,在0~+5V之间只有0,1,2,3,4,5六个电压值,所以必须把单片机运算结果中的小书部分保留下来。

    具体方法是:如果保留小数点后两位,在运算时分子乘以100,保留三位就乘以1000小数点后保留两位的公式如下:VIN=DOUT *5*100/255= DOUT *100/51,有公式可知,单片机的运算结果为250。然后单片机将250除以10得到商为25,余数为0,再将25除以10得到商为2余数为5。这样就可以得到电压值的三个数字,最后分别将250三个数送出显示

你可能感兴趣的:(ADC0809使用中的小问题----小数点后保留两位的处理方法)