打印
[通用8051核FLASH系列]

【芯圣电子HC89S105A测评报告】+记录驱动DHT11的点滴2

[复制链接]
1307|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 芯圣电子官方QQ 于 2023-7-19 16:28 编辑

接上篇:【芯圣电子HC89S105A测评报告】+记录驱动DHT11的点滴1

如果DHT11是正常的,会拉低总线一段时间,就利用这一点来检测传感器是否正确连接和工作,检测函数如下:

unsigned char DHT11_Check(void)            
{   
        unsigned char retry=0;
  P07_DIR_INPUT();  
  while (P0_7&&retry<10)
        {
                retry++;
                delay10us(1);
        };         
        
        if(retry>=10)
                return 1;
        else
                retry=0;
  while (!P0_7&&retry<10)
        {
                retry++;
                delay10us(1);
        };

        if(retry>=10)return 1;            
        return 0;
}

最后就是温湿度的读取了,读取函数如下:

unsigned char DHT11_Read_Bit(void)                          
{
         unsigned char retry=0;
        while(P0_7&&retry<10)
        {
                retry++;
                delay10us(1);
        }
        retry=0;
        while(!P0_7&&retry<10)
        {
                retry++;
                delay10us(1);
        }
        delay10us(4);
        if(P0_7)return 1;
        else return 0;                  
}

可以看到温湿度已经被正确地读取出来了:



本次试用过程虽然不是很顺利,也花了我不少的时间,但是最后依然取得了成功,也锻炼了自己的动手能力和调试能力。
最后还是要感谢平台和芯圣官方提供的试用机会。

使用特权

评论回复
沙发
guijial511| | 2023-7-16 11:02 | 只看该作者
DHT11是国产里面很经典的1颗温湿度器件

使用特权

评论回复
板凳
langgq| | 2023-8-31 19:53 | 只看该作者
有多经典?经典的标准是什么

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

173

帖子

1

粉丝