关于DHT11在STC12C5A60S2单片机下面无法正常读取温湿度数值问题的研究

本文探讨了在STC12C5A60S2单片机上驱动DHT11温湿度传感器遇到的通信问题,主要原因是单片机速度差异导致的延时函数不适用。通过分析DHT11的通信时序,调整延时函数,实现了精确的延时,从而成功驱动DHT11并获取温湿度数据。
摘要由CSDN通过智能技术生成
开发环境( 蓝色粗体字为特别注意内容)
1,开发板: STC12C5A60S2,DHT11,11.0592MHz

2,开发环境:Keil uv5

3、参考文献:https://blog.csdn.net/wgj99991111/article/details/53749144

在使用STC89C52驱动DHT11温湿度模块的时候,网上有很多例程,成功率还是蛮高的,淘宝买家提供的官方例程也是基于STC89C52RC的,虽然写的有点乱,但是起码能用,测出的温湿度数值还能接受,但是由于项目中需要用到STC12C5A60S2这款稍微高级的单片机,本想着,这两款单片机指令集完全兼容,应该拿过来就能用才对,于是乎把程序烧到STC12C5A60S2中,发现无法正常获取温湿度!!!!这下凌乱了。。。。。什么情况!!!!

查找了相关资料发现问题出现在延时函数上面,STC12C5A60S2比STC89C52RC快许多,原来STC89C52RC的延时函数拿到STC12C5A60S2下面就不管用了!!!这下可麻烦了,网上找了很多相关的代码都无法运行,99%都是有问题的,无奈之下只能调整延时函数。我买的这款DHT11如下:


按照参考文献中的信息

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值