完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
请问,ds18b20的信号线与单片机接收之后显示正常的温度值,没接上的话应该是显示0.06度,但是显示30几度,这是怎么回事?????????????
|
|
相关推荐
8个回答
|
|
|
因为你默认 没信号来 显示是 30几度 了啊
|
|
|
|
|
|
那该怎么让它显示0.06度
|
|
|
|
|
|
改掉默认的设置就好了 你要读懂程序才行吧……
|
|
|
|
|
|
程序里改一下初始值就可以了!!!
|
|
|
|
|
|
谁有资料?求资料。。。
|
|
|
|
|
|
http://yunpan.cn/Q7tCwmPjNMxD3 提取码 5118
|
|
|
|
|
|
http://yunpan.cn/Q7tCwmPjNMxD3 提取码 5118
|
|
|
|
|
|
void wendu()
{ if(i==0) tmpchange(); //温度转换 i++; if(i==100) { i=0; tt=tmp()*0.0625; //得到真实十进制温度值,因为DS18B20 //可以精确到0.0625度,所以读回数据的最低位代表的是0.0625度。 ltemp=tt*10+0.5; //放大十倍,这样做的目的将小数点后第一位也转换为可显示数字,同时进行一个四舍五入操作。 } } void desplay0(int a)//温度显示 { if(a>=100) { P0=table[a%1000/100]; P2=0X01; Delay50us(); P2=0X00; } if(a<0) //判断第一位显示整数还是负号 { P0=0xbf; P2=0X01; Delay50us(); P2=0X00; a=0-a+1; } P0=table[a%1000%100/10]; P2=0X02; Delay50us(); P2=0X00; } |
|
|
|
|
只有小组成员才能发言,加入小组>>
1634 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4741 浏览 0 评论
4231 浏览 9 评论
3824 浏览 16 评论
4400 浏览 1 评论
4213浏览 3评论
2381浏览 0评论
3394浏览 0评论
1159浏览 0评论
2844浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 12:20 , Processed in 1.219705 second(s), Total 90, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5601