急求:单片机MS-51,用汇编语言编写程序的问题. 高手的高分,谢谢,
1、最终显示:0-9002、模拟值:0-3V3、采集值:0-FFH(0-255)4、问题:以下A和B哪个正确?A、将0-FFH(0-255)转换成0-3V再乘以300倍。...
1、最终显示:0-900
2、模拟值:0-3V
3、采集值:0-FFH(0-255)
4、问题:以下A和B哪个正确?
A、将0-FFH(0-255)转换成0-3V再乘以300倍。
B、直接将0-FFH(0-255)乘以3.53倍,再用十进显示。
请举例说明精度简便度等事项。
谢谢,二位.
可是用B时.转换精度差多了,0-900的变化为(0,3,6,9....)(0,35,70,....),线性太差了.....
不知二位用A方法有无"转换成0-3V"的例子 ? 展开
2、模拟值:0-3V
3、采集值:0-FFH(0-255)
4、问题:以下A和B哪个正确?
A、将0-FFH(0-255)转换成0-3V再乘以300倍。
B、直接将0-FFH(0-255)乘以3.53倍,再用十进显示。
请举例说明精度简便度等事项。
谢谢,二位.
可是用B时.转换精度差多了,0-900的变化为(0,3,6,9....)(0,35,70,....),线性太差了.....
不知二位用A方法有无"转换成0-3V"的例子 ? 展开
2个回答
展开全部
用B方法即可。
但是乘以 3.53,还应该研究一下。
实际上,不是255对应900,而是256对应900。
那么:900 / 256 = 3.515
把0.015忽略,由此产生的误差,小于百分之一。
那么,全部使用整数的运算,有:(0~255) * 35 = (0~8925)
显示的时候,只是显示前3位,即可。
---------------------------------
用8位的AD转换器,精度就是这样了,和算法无关。
为了提高精度,应该采用分辨率更高的 AD 转换器。
但是乘以 3.53,还应该研究一下。
实际上,不是255对应900,而是256对应900。
那么:900 / 256 = 3.515
把0.015忽略,由此产生的误差,小于百分之一。
那么,全部使用整数的运算,有:(0~255) * 35 = (0~8925)
显示的时候,只是显示前3位,即可。
---------------------------------
用8位的AD转换器,精度就是这样了,和算法无关。
为了提高精度,应该采用分辨率更高的 AD 转换器。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询