标题: 如何换算Value=data1*1.0/255*500,怎么提高精度? [打印本页]

作者: 小泽777    时间: 2017-5-19 22:35
标题: 如何换算Value=data1*1.0/255*500,怎么提高精度?
如图。。。。。。。。。。。。。。。。。。

B5JUTTIBIUP7OA]8N{F`S~M.png (14.76 KB, 下载次数: 68)

B5JUTTIBIUP7OA]8N{F`S~M.png

作者: zl2168    时间: 2017-5-20 10:35
本帖最后由 zl2168 于 2017-5-21 17:48 编辑

你的程序有问题。给你一个参考程序,内有解决方法,自己去研读。在显示数转换为显示数字子程序中,满量程A-D值FFH(255)对应UREF+(5V),显示时需将A-D值按比例变换:255→500。变换方法为:(A-D值÷255)×500=(A-D值÷51)×100V。在变换过程中,数值会超出一字节(大于255)。因此,C51程序先将原来定义于字符型变量的A-D值转换为整型变量,然后进行255→500的数值变换,以免出错。汇编程序则巧妙利用变换后高8位数值最大为1(总数值≤510)的特征,避免采用二字节除法子程序,从而简化了变换程序。
以上摘自张志良编著80C51单片机实用教程——基于Keil CProteus》高等教育出版社ISBN978-7-04-044532-9.

作者: fyp0303    时间: 2017-5-20 14:46
学习了。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1