ds18b20与dht11代码设计

本文详细介绍了ds18b20和dht11传感器的代码设计,包括ds18b20的初始化、写时序和位读取时序,以及dht11的测温原理和操作流程。通过提供的代码,读者可以了解如何与这两种传感器进行有效的通信和数据交互。
摘要由CSDN通过智能技术生成

ds18b20与dht11代码设计

  1. Ds18b20代码设计
    在这里插入图片描述

                   图1.2 DS18B20的初始时序
    

初始化时序:1-wire总线需获取存在脉冲来检测是否存在DS18B20,还要通过这个脉冲过程通知DS18B20准备好,单片机将要对它进行操作。脉冲检测过程中,首先单片机拉低引脚,持续480us到960us,然后单片机释放总线,DS18B20等待15us到60us后,会主动拉低引脚60us到240us,然后DS18B20会主动释放总线,这样IO口会被上拉电阻自动拉高,即初始化成功。
unsigned char init_ds18b20()
{
unsigned char flag;
_DINT(); //禁止总中断,防止干扰总线
DQ=0;//单片机将DQ拉低
_delay_cycles(600); //产生500us复位脉冲
DQ=1; //拉高总线
_delay_cycles(60);//延时60us等待从机响应
if(DQ) 读取存在脉冲
flag=1;
else
flag=0;
_EINT();//使能总中断
return flag; //如果flag=0则初始化成功 flag=1则初始化失败
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值