ADC0809使用中的问题
扫描二维码
随时随地手机看文章
ADC0809转换结果在输出显示之前先要进行数据处理,其原理如下:
转换输出结果在0—255之间分别对应着0~+5V之间的256个电压值,因此单片机必须把A/D转换输出的结果转换成可以显示的电压值,具体方法是:
VIN=DOUT *5/255,其中DOUT是ADC0809输出的八位二进制数。
由上述公式可知:当ADC0809输出为(11111111)B 时,输入电压的值为VIN=5.00V;
当ADC0809输出为(00000000)B 时,输入电压的值为VIN=0.00V;当ADC0809输出为(10000000)B,输入电压值为VIN=2.50V,但是单片机进行数学运算时结果只去整数部分,因此输出为(10000000)B时计算出来的电压值为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。这样就可以得到电压值的三个数字,最后分别将2,5,0三个数送出显示。