找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

DS18B20如何正确显示负温度

查看数: 10165 | 评论数: 8 | 收藏 3
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-7-26 15:58

正文摘要:

从论坛找到了一个LCD1602万年历制作的资料,有温度显示功能。源程序里,负温度原来是显示乱码,而且小数显示并不正确,于是自己动手修改了一下程序。PS:C语言渣渣,刚刚自学。 修改了之后出现了以下些许问题:1、负 ...

回复

ID:399179 发表于 2023-8-31 20:30
楼主的问题解决了吗?如果解决了能不能分享一下?
ID:883242 发表于 2023-8-31 20:15
1、负号显示不出来,总是显示为0。
你自己看看bw这个变量,赋值“-”之后又被你下面的语句改了。

2、温度值总是要比实际值小1摄氏度。
这是个向哪个方向取整的问题,你可以不管,简单+1就可以了。

3、C语言子函数返回值调用问题,f值的调用。
这里f就是个局部变量,使用就可以了,不需要调用。
ID:40039 发表于 2023-8-31 19:42
我也出现了这样的问题,正温度正常显示,负温度不能正常显示。不知道问题出现在哪里?
ID:688993 发表于 2021-1-30 23:57
显示正温度值会错误正常吗
ID:111634 发表于 2018-7-27 10:10
3073084142 发表于 2018-7-26 18:12
实例97  一线式DS18B20测温

实例97  一线式DS18B20测温

Proteus仿真一下,确认有效。 实例97 DS18B20测温.rar (51.78 KB, 下载次数: 152)
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。

ID:379569 发表于 2018-7-26 18:12
实例97  一线式DS18B20测温
ID:308437 发表于 2018-7-26 17:39

  bw="-";// 温度为负时,百位显示负号,这里有问题

      write_1602dat(bw+0x30);

应该是你码表转换问题了。要你1602上显示“-”,你看下ASCII码对照表要多少才是,我估计你的一出来

ID:111634 发表于 2018-7-26 17:23
实例97  一线式DS18B20测温

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

Powered by 单片机教程网

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