我要发布
仪器网/ 仪器社区/ 温度传感器/ 单片机18b20温度传感器 temp=tp*0.0625*1...

单片机18b20温度传感器 temp=tp*0.0625*100+0.5;

yang271671500    2015-02-04    温度传感器    浏览 846 次

温度传感器设成12位的分辨率,为什么每+1代表温度增加0.0625?temp是int型16位的,tp浮点并由temp赋值... 温度传感器 设成12位的分辨率,为什么每+1代表温度增加0.0625?
temp是int型16位的,tp浮点并由temp赋值

精彩问答
吴钰洁啊 发布日期:2018-03-21
每加1代表温度增加0.0625,可以看成是一个单位的换算,比如1Kg = 2斤, 那么每增加2斤(或减少2斤)对应的Kg数也增加或减少1.Kg; 0.0625 就是把读到18B20的数字温度量转换为实际温度的一个单位基准。
由于计算出的Z高温度只会到127度,用int型能放下这个数。tp浮点数给temp赋值会发生强制类型转换,如tp = 1.2; temp = tp; temp = 1;

仅供参考!
被采纳
gfgftgfygfty 发布日期:2015-02-05
不能这么算的,虽然从寄存上看是这样的,
但是实际上,寄存器中的数值已经经过处理并校正,
这个过程导致adc(或者频率计数器等)不可能达到满量程的精度,

举个例子理解一下,仅仅是比如:
假设把-55度标记成电压0,也就是adc值Z小,这个也许可以做到。
但是生产具有随机性,某一批产品,-50度就对应了电压0,这个时候就已经无法校正,导致量程减小。

所以要在两边留出一定的富余空间才行。
况且,在数字较小的那一边,往往是adc(或计数器等)精度较差的位置。
---转载
最新主题
相关版块
我要评论
X您尚未登录
账号登录
X您尚未登录
手机动态密码登录
X您尚未登录
扫码登录
官方微信

仪器网微信服务号

扫码获取最新信息


仪器网官方订阅号

扫码获取最新信息

在线客服

咨询客服

在线客服
工作日:  9:00-18:00
联系客服 企业专属客服
电话客服:  400-822-6768
工作日:  9:00-18:00
订阅商机

仪采招微信公众号

采购信息一键获取海量商机轻松掌控