你好,我现在写程序遇到了一些问题,ds18b20的显示总是不稳定,我觉得也是时序的问题,希望你能帮助我

我这个程序里有红外模块和直流电机模块需要用到定时器,同时ds18b20也需要用到定时器,可能这几个之间有冲突,但我不太清楚如何去改正,你能帮我看下吗?... 我这个程序里有红外模块和直流电机模块需要用到定时器,同时ds18b20也需要用到定时器,可能这几个之间有冲突,但我不太清楚如何去改正,你能帮我看下吗? 展开
 我来答
Cindere鞡
2014-03-03 · TA获得超过7254个赞
知道大有可为答主
回答量:1148
采纳率:84%
帮助的人:515万
展开全部
你好:
ds18b20不是iic协议,是单总线协议。
然后,你说显示不稳定是不是这样,每当出现不稳定时,电机是否开始启动了,显示都是像才上电那样慢慢趋近环境温度。
如果差不多是这样,多半应该是电机驱动问题,当单片机驱动电机时,功率是很大的,此时也许会导致驱动的其他器件功率不够,当电机停下时其他器件又恢复稳定,电机启动后又驱动不了了。
还有就是,定时器中断的问题,问题可能没多大问题,但是同一个定时器最好不要用来做许多事,除非你能很好把握标志量的使用。
有不懂的地方随时回复我。
希望我的回答能帮助到你。
凡问花P
2014-03-03 · 知道合伙人数码行家
凡问花P
知道合伙人数码行家
采纳数:389 获赞数:2614
69.12~76.3空军86621当兵,76.3~78.12北京电是技术研究所工人,79~82,北航二分院本科,之后留校任教至今。

向TA提问 私信TA
展开全部
18b20只是测温芯片,一般来说I2C的输出比较稳定的,如果不稳定又可能是:
18b20的电源引脚接触不可靠;芯片所在位置受外界影响较大[比如靠近芯片,电机等];I2C程序有问题[这个不一定,因为I2C程序到处都有,比较成熟];
还有一种可能是中断级别的影响,即测温中断级别低于红外和电机控制.
追问
我的ds18b20程序显示是没有问题的,我把这个程序单独拿出来的时候显示是稳定的,但是和红外和电机加在一起显示就不稳定了,如果是中断级别的影响,我应该怎么改变呢,因为我现在这三个模块我是用的一个定时器
追答
用同一个定时器,你的定时一样吗?如果不一样,除非分段定时----即完成一个定时后再装填另一个的定时,依次循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CHQIC
2014-03-03 · TA获得超过781个赞
知道小有建树答主
回答量:1362
采纳率:50%
帮助的人:447万
展开全部
因为DS18B20的延时太长,实时性太差,特别是在比较大的系统中,如果用程序循环延时就会有这样的问题,你试试改用中断来做比较长的延时为DS18B20操作试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式