关于STC89C52驱动DS18B20

本文讲述了在使用STC89C52驱动DS18B20过程中遇到的接线错误及上拉电阻问题。作者首先发现DS18B20接线反了导致无法正常工作,调整接线后,又因缺少上拉电阻导致数据采集错误。通过查阅资料,添加4.7K上拉电阻解决了问题。作者反思调试过程,强调了系统性排查和理论知识应用的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天主要还是在颓废地弄着课程设计,昨天把板焊好,然后把程序烧进去52里面,发现1602显示为"E4.5" 开始以为是程序问题


接线

第二天开始检查时,发现探头时间一长会自行发热,明显接线有问题。之前是按照网上说的:红色(VCC) 蓝色(DS) 黄色(GND),然后再看看其他组的接线,发现我的果然接反了,应该是:红色(VCC) 黄色(DS) 蓝色(GND) 。换好接线后,探头就没事了

PS:其实一开始没发现是接线问题,还以为是程序出错了,通过一步步调试发现,初始化没问题,问题出在温度转换那一步(DS18B20需要返回1表示转换完成),DS18B20没有返回转换完成的信号,因为初始化正常了,所以没怀疑是接线问题,现在想想看,应该是因为接错线,DS恒为0,所以在初始化函数中,认为是DS18B20响应了,所以才通过初始化函数。


上拉电阻

开始显示的数据依旧出错,开始苦逼调试了..........

开始以为是数据采集位数的问题,以为自己的不支持9bit采集(后来查商品,发现大家都是DS18B20,都是支持的.......),换了12bit采集问题依旧;

还以为是数据传输问题(看到有说加了屏蔽线的DS18B20卖的),后来发现这个太不实际了。

然后回想了自己之前总结
调试心得——软硬兼施 - 以技术自娱的Geeker - 博客频道 - youkuaiyun.com


从软件角度来说,在开发版运行的程序跟新焊的板子上是一样的,这样就排除了软件问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值