找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2487|回复: 2
打印 上一主题 下一主题
收起左侧

如何换算Value=data1*1.0/255*500,怎么提高精度?

[复制链接]
楼主
ID:111634 发表于 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.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表