单片机AD数据处理怎么精确到小数点后几位?

2025-03-12 17:18:54
推荐回答(3个)
回答1:

不要用浮点运算,计算出一个系数后直接用整型运算,这样比较省时间。在计算时先乘后除,精度不够最好乘一个系数再除。比如把1V乘以1000变成1000mV,但是注意不要溢出,也就是运算过程中数据长度和精度权衡一下。最后只需在显示时做一些处理就行了

比如说5V参考电压,10位AD,读AD转换值为m,则所测电压为X=5m/1024V,处理时可以这样:X=m*(5000/1024)=m*(625/128)(mV),如果以V为单位显示,那显示的时候再加一个小数点就行了。如果不需要显示,在以后的运算中根据精度需要做适当的变换就可以了

回答2:

AD数据转换并没有小数,只有位数。一般输入信号都是标准信号4-20mA,或1-5V。AD数据转换可以把这种标准信号转换为12位或14位等的二进制数据,此时对于转换后的数据本身并没有什么意义,只有在知道了输入的标准信号所代表的工程量的时候才能使得转换后的数据变得有意义。例如4-20mA输入代表0-100mm,而对应4-20mA变换后的数据是2的12次方,它又对应0-100mm,那么在单片机的计算过程中需要小数点后多少位,就可以把2的12次方的数据转换为0-100.xxx多少位的小数。

回答3:

看看实例:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/b09c08f37171461eb17ec534.html