新闻中心
    新闻动态
基于Mega128的DHT11温湿度传感器
发布者:任你博娱乐 发布时间:2019-03-18 21:24

 

   

  DHT11的数据手册网上有,上面有时序操作的详细介绍。个人建议写这个程序的时候要一边写一边检测(比如写完复位子程序之后就在主函数中调用它一次,看它是否执行成功。。。),不然很可能到最后找不到错误出在哪里,本人就是一直写完然后不好使,最后又重写的!

  闲话不说了,下面帮助大家分析一下DHT11的时序图(数据手册上有),因为DHT11对时序的要求很高,所以很可能写完程序不好使。本人建议:延时子函数最好自己用示波器检测一下,自己算出来的在10us下误差会很大的。

  进入正题:下面我说的话可以参照下面的程序看。数据手册前面的一些内容自己了解就可以了,先看数据手册上主机复位信号和DHT11相应信号那部分。

  主机先控制总线us,(这时如果硬件没有问题的线会有响应的)所以现在主机释放总线(把DDRXN 寄存器清零),等待DHT11的响应,如果成功DHT11会产生40~50us的低电平,和40~50us的高电平。这里可以由程序完成检测。

  接下来在一次采集中,把总线~15位是湿度的小数部分;16~23位是温度的整数部分,24~31位是温度的小数部分;最后八位是校验位。这些数据要通过程序进行处理,转换成温湿度的实际值,并由显示部分显示出来。(本人用的是数码管,建议用1602显示会更方便一些)。

  后面的处理部分我就不一一讲解了,我在程序中是有注释的,自己把程序加入到工程中看效果会好很多的,也可以用专门的阅读软件来看(source insignte),不然字体都一个颜色非常乱。

  如果有不懂的地方或者程序有什么不足之处给我留言就好了,我会及时帮助大家解决的^_^!!!

      任你博,任你博娱乐,任你博官网

上一篇:基于Avalon总线温湿度传感器自定义IP核的开发流程

下一篇:测温传感器有哪些?

 

 


  • 产品展示
  • 新闻动态
技术支持:任你博官网 任你博,任你博娱乐,任你博官网    浙ICP备15001485号-2
网站地图