51单片机与DS18B20做的数字温度计,为什么刚上电时都会显示的值是半秒左右的85

对了,要怎么样才能解决... 对了,要怎么样才能解决 展开
 我来答
duyin2011
推荐于2016-01-24 · TA获得超过2398个赞
知道大有可为答主
回答量:1723
采纳率:100%
帮助的人:660万
展开全部
1因为ds18b20内部ad转换时间大约750mS(12位ad),所以上电后750ms后才能将ad值刷新出来,
2解决方法,进入主程序先转换采集一次DS18B20,先不送显示,然后延时约1秒,然后再进入大循环进行采集,送显示就可以了
单片机技术宅
2012-11-20 · 知道合伙人教育行家
单片机技术宅
知道合伙人教育行家
采纳数:251 获赞数:552
飞思卡尔智能赛车邀请赛二等奖全国大学生电子设计竞赛成功参赛奖

向TA提问 私信TA
展开全部
这是18B20温度寄存器的原因,温度寄存器的初值就是这个值。你可以上电时候读两次温度再显示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
餐浦灯b
2012-12-30
知道答主
回答量:52
采纳率:0%
帮助的人:8.7万
展开全部
我是这样处理的,我直接不要85度了,遇见85度就给它赋值0;就ok了,更方便,因为85最终的极限值很少会用到。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晴景桂t
2012-11-20 · 超过13用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:39.9万
展开全部
先做下数据初始化,然后再读入数据!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风也信子
2012-11-20 · TA获得超过149个赞
知道答主
回答量:67
采纳率:0%
帮助的人:78.2万
展开全部
硬件电路怎么连的?应该是上电的时候相关寄存器还没有初始化完成,某些pin上非需要的电平被读回来后显示了出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式