在做单片机测温实验(数码管显示)时,数码管只显示一个温度,而且不是当前的室温,可能的原因有什么?
不好意思啊,原本还想向你追问的,不小心按了采纳。你回答里面提到原因是单片机和18b20t通讯不成功,延时不正确,能详细说明一下原理和计算延时的方法么?本人经验不足啊,完全...
不好意思啊,原本还想向你追问的,不小心按了采纳。你回答里面提到原因是单片机和18b20t通讯不成功,延时不正确,能详细说明一下原理和计算延时的方法么?本人经验不足啊,完全没想到要向那个方面想
展开
展开全部
其实很简单。
1、计算单片机延时程序的最小延时长度;
2、详细的阅读18B20的DS,按照里面的时腊团丛序要求安排单片机延时(这点最重要)。
3、调试轮樱时不要连续读18B20,最好搞个按键,按一次读一次,这样利于找到问题;
4、一点一点的增减延时,尤其是在发送和接收接受之间的延时(我认或拿为你就是这里延时不够,而且连续读,所以读到的是mach指令,然后是返回的85°信号);
5、有条件的话,使用逻辑分析仪观察数据收发情况,问题可以一目了然。
——经验是累计的,关键是熟读DS。
这是当年我调不出来是,21IC论坛上兄弟给我的建议。我照做了,结果就调出来了。
1、计算单片机延时程序的最小延时长度;
2、详细的阅读18B20的DS,按照里面的时腊团丛序要求安排单片机延时(这点最重要)。
3、调试轮樱时不要连续读18B20,最好搞个按键,按一次读一次,这样利于找到问题;
4、一点一点的增减延时,尤其是在发送和接收接受之间的延时(我认或拿为你就是这里延时不够,而且连续读,所以读到的是mach指令,然后是返回的85°信号);
5、有条件的话,使用逻辑分析仪观察数据收发情况,问题可以一目了然。
——经验是累计的,关键是熟读DS。
这是当年我调不出来是,21IC论坛上兄弟给我的建议。我照做了,结果就调出来了。
来自:求助得到的回答
展开全部
是不是85。5?18b20对时序要求很高的,你看一下是不是哪里卡住了
追问
是不是85.5就不清楚了,因为我的只是两位的数码管,我看到的就是55.如果是时序的问题的话,那是那一部分出问题了呢?是初始化18B20,读字节部分还是写字节部分?谢谢!
追答
那谁知道,你用protues把晶振什么的设好,和keil联机调试一下卡在哪了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的悬赏分太少,不然我可以发一个已经调试好的单片机18B20测温的程序给你
追问
你是说在开发板上调试好的程序吗?你要多少分?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是你设计的程序的问题 没有循环采集18B20的数据 希望我的回答对你有所帮助!
更多追问追答
追问
循环采集?您能详细说明一下吗?谢谢
追答
就是 18B20这个温度采集器 是外行有点像三极管的那个 它输出的是数字的信号 因此不用ADC 模数转换, 但是如果程序 没用循环 FOR语句进行循环采集的话 温度可能会显示不正常,当然还要适当调用延迟函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询