为什么单片机控制18B20测温初始总是显示85度然后显示测量值

作者&投稿:定牲 (若有异议请与网页底部的电邮联系)
51单片机与DS18B20做的数字温度计,为什么刚上电时都会显示的值是半秒左右的85~

1因为ds18b20内部ad转换时间大约750mS(12位ad),所以上电后750ms后才能将ad值刷新出来,
2解决方法,进入主程序先转换采集一次DS18B20,先不送显示,然后延时约1秒,然后再进入大循环进行采集,送显示就可以了

不是显示不正常,首先确认一下你的ds18b20没问题
85一般初始化后没等待稳定读出值都是85

*The power-on reset value of the temperature register is +85°C,这个是DS18B20数据手册里的表述,也就是说,DS18B20在上电复位时,其温度寄存器里的初始值是85°C。所以你的问题就出来了。如果你不想显示这个85°C,你可以延迟一段时间,比如0.5S后再提取这个DS18B20转换的温度显示即可。

ROM上电的默认值,有的也不是85,只要在上电后先初始化18B20,等一段时间再显示和其他操作就可以了。

51单片机与DS18B20做的数字温度计,为什么刚上电时都会显示的值是半...
答:1因为ds18b20内部ad转换时间大约750mS(12位ad),所以上电后750ms后才能将ad值刷新出来,2解决方法,进入主程序先转换采集一次DS18B20,先不送显示,然后延时约1秒,然后再进入大循环进行采集,送显示就可以了

51单片机 测试18b20温度问题!
答:你的问题描述的貌似挺详细,但说了半天都是你知道的东西,例如:你的开发板是有什么组成的,你换用的小板子又是什么情况,大体来说对于18B20而言,如果你的代码没变而只是更换了这个传感器元件就不会有问题的,如果你的接线真的毫无更改而又属实无法正常工作,建议你在更换一个18B20试试,比如将小板在上...

3.3V 51单片机 型号是10L08XE 测试ds18b20时读不到数据
答:STC10L08XE是1T的51单片机。所以你的时序从12T移植到1T的单片机上会太快以至于无法让18b20接受。所以你需要看看stc的数据手册。确定每条指令的执行周期再下手。89C52的指令执行周期是12T,也就是说12M晶振一秒钟有1M条指令执行。但是10L08XE的指令执行周期从2T~6T,速度是不一定的。你需要查看数据手册...

单片机用文敏电阻测温度和用18b20测温有什么区别
答:温敏电阻输出是模拟信号,需AD转换后才能由单片机处理 18b20是数字温度计,输出的是数字信号,串行输出

(单片机89c52)为什么这个用18b20测温度的程序中有用到串口中断语句_百 ...
答:那里用到了串口中断?程序里面虽然有“串口初始化”,但是并没有用。--- 这程序,是不完整的。程序中,虽然有“七段码表”,也没有用上,也没有把温度数据显示出来。整个程序,都是子程序,缺少主程序main()。

单片机18b20的问题 为什么我这个程序显示只有10摄氏度左右,那里出了问...
答:代码有点问题 这句 temp 的几个变量全设成int型,temp0b你用uchar型 左移八位,就变0了

这段18B20检测温度的单片机程序,DQ是P2.2,为什么最后x=0是成功?不是...
答:这个地方就是在等待18B20的初始化信号,前面吧DQ置一是为了拉高电平以检测这个引脚是否拉低 51单片机只能靠拉高IO来检测低电平

为什么单片机对ds18b20操作时要先写后读
答:DS18B20是单总线结构,一般应用都是挂很多颗在一根电缆上,故此要找到相应料后写入!不太明白单片机为何一定要写入资料到DS18B20, 不只是读出温度而已吗?只有在探头生产支持对其进行写入编号而已呀。 哦,您也可以参考申矽凌微电子的CT1820, 其主要特点是温度转换读取速度快近20倍,希望能帮到您!

各位大侠,我是单片机新手,做个DS18B20的温测小系统,数码管老显示“00...
答:1.先不考虑检测值,单显示测试正常否。2.温度检测值应该是没检测到

用单片机控制DS18B20温度传感器采集温度的工作过程是不是这样?_百度知 ...
答:整体时序 总线上只有一个传感器18B20时,时序:复位→忽略ROM匹配(0xcc)→温度转换(0x44)→延时→复位→忽略ROM匹配→读指令→分别读取温度两个字节 总线上有多个传感器18B20时,时序:复位→ROM匹配(0x55)→发送8字节ROM ID →温度转换(0x44)→延时→复位→ROM匹配→再次发送8字节ROMID→读指令→分别...