完善资料让更多小伙伴认识你,还能领取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; } |
|
|
|
只有小组成员才能发言,加入小组>>
3277 浏览 9 评论
2950 浏览 16 评论
3454 浏览 1 评论
8983 浏览 16 评论
4044 浏览 18 评论
1092浏览 3评论
564浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
561浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2297浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 12:30 , Processed in 1.474291 second(s), Total 95, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号