当前位置: 首页 > news >正文

南昌做网站建设公司软文写作是什么

南昌做网站建设公司,软文写作是什么,网站备案 深圳,手机软件免费开发公司目录 1.DHT11 温湿度传感器概述 2.检测DHT11温湿度传感器模块是否存在 3.通过编写代码读取温湿度数据​编辑 4.将读取到的温湿度数据通过串口上传 1.DHT11 温湿度传感器概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,应用领域&am…

目录

1.DHT11 温湿度传感器概述

2.检测DHT11温湿度传感器模块是否存在

3.通过编写代码读取温湿度数据​编辑

4.将读取到的温湿度数据通过串口上传


1.DHT11 温湿度传感器概述

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,应用领域:暖通 空调;汽车;消费品;气象站;湿度调节器;除湿器;家电;医疗;自动控制

特点:

  • 相对湿度和温度测量
  • 全部校准,数字输出
  • 长期稳定性
  • 超长的信号传输距离:20米
  • 超低能耗:休眠
  • 4 引脚安装:可以买封装好的
  • 完全互换 : 直接出结果,不用转化

接线:

  • VCC接5V
  • GND接GND
  • DATA接P3^3口

数据传送逻辑:

只有一根数据线DATA,上官一号发送序列指令给DHT11模块,模块一次完整的数据传输为40bit,高位先出

数据格式:

8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和 通讯过程时序图

2.检测DHT11温湿度传感器模块是否存在

根据如下时序图,做通信初始化,并检测模块是否存在,功能是否正常

时序逻辑分析:

  • a : dht = 1
  • b :dht = 0
  • 延时30ms
  • c: dht = 1
  • 在60us后读d点,如果d点是低电平(被模块拉低),说明模块存在!

代码示例:

#include "reg52.h"
#include "intrins.h"sbit ledOne = P3^7;
sbit dht = P3^3;//模块的data插在p3.3void Delay30ms()		//@11.0592MHz
{unsigned char i, j;i = 54;j = 199;do{while (--j);} while (--i);
}void Delay60us()		//@11.0592MHz
{unsigned char i;i = 25;while (--i);
}void Delay1000ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 8;j = 1;k = 243;do{do{while (--k);} while (--j);} while (--i);
}void check_DHT()
{//a :  dht = 1 dht = 1;//b :dht = 0dht = 0;//延时30msDelay30ms();//c: dht = 1dht = 1;//在60us后读d点,如果d点是低电平(被模块拉低),说明模块存在!Delay60us();if(dht == 0){ledOne = 0;//亮灯,说明模块存在}
}void main()
{ledOne = 1;Delay1000ms();Delay1000ms();check_DHT();while(1);
}

3.通过编写代码读取温湿度数据

  • a : dht = 1
  • b :dht = 0
  • 延时30ms
  • c: dht = 1
  • 卡d点;while(dht1);
  • 卡e点 while(!dht)
  • 卡f点:while(dht)
  • 卡g点:while(!dht)
  • 有效数据都是高电平,持续时间不一样,50us读,低电平0 高电平

DHT11传输0的时序分析:

DHT11传输1的时序分析:

代码示例:

#include "reg52.h"
#include "intrins.h"sbit ledOne = P3^7;
sbit dht = P3^3;//模块的data插在p3.3char datas[5];void Delay30ms()		//@11.0592MHz
{unsigned char i, j;i = 54;j = 199;do{while (--j);} while (--i);
}void Delay60us()		//@11.0592MHz
{unsigned char i;i = 25;while (--i);
}void Delay1000ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 8;j = 1;k = 243;do{do{while (--k);} while (--j);} while (--i);
}void DHT11_Start()
{dht = 1;dht = 0;//延时30msDelay30ms();dht = 1;//卡d点;while(dht1); 卡e点 while(!dht) 卡f点:while(dht)while(dht);while(!dht);while(dht);
}void Read_Data_From_DHT()
{int i;//轮int j;//每一轮读多少次char tmp;char flag;DHT11_Start();for(i= 0;i < 5;i++){//卡g点:while(!dht)       有效数据都是高电平,持续时间不一样,50us读,低电平0 高电平for(j=0;j<8;j++){while(!dht);//等待卡g点Delay60us();if(dht == 1){flag = 1;while(dht);}else{flag = 0;} tmp = tmp << 1;tmp |= flag;}datas[i] = tmp;}}void main()
{ledOne = 1;Delay1000ms();Delay1000ms();while(1){Delay1000ms();Read_Data_From_DHT();	}
}

4.将读取到的温湿度数据通过串口上传

代码示例:

#include "reg52.h"
#include "intrins.h"sbit ledOne = P3^7;
sbit dht = P3^3;//模块的data插在p3.3char datas[5];sfr AUXR = 0x8E;void UartInit(void)		//9600bps@11.0592MHz
{AUXR = 0x01;SCON = 0x40; //配置串口工作方式1,REN不使能接收TMOD &= 0xF0;TMOD |= 0x20;//定时器1工作方式位8位自动重装TH1 = 0xFD;TL1 = 0xFD;//9600波特率的初值TR1 = 1;//启动定时器
}
void sendByte(char data_msg)
{SBUF = data_msg;while(!TI);TI = 0;
}void sendString(char* str)
{while( *str != '\0'){sendByte(*str);str++;}
}void Delay30ms()		//@11.0592MHz
{unsigned char i, j;i = 54;j = 199;do{while (--j);} while (--i);
}void Delay60us()		//@11.0592MHz
{unsigned char i;i = 25;while (--i);
}void Delay1000ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 8;j = 1;k = 243;do{do{while (--k);} while (--j);} while (--i);
}void DHT11_Start()
{dht = 1;dht = 0;//延时30msDelay30ms();dht = 1;//卡d点;while(dht1); 卡e点 while(!dht) 卡f点:while(dht)while(dht);while(!dht);while(dht);
}
void Delay40us()		//@11.0592MHz
{unsigned char i;_nop_();i = 15;while (--i);
}void Read_Data_From_DHT()
{int i;//轮int j;//每一轮读多少次char tmp;char flag;DHT11_Start();for(i= 0;i < 5;i++){//卡g点:while(!dht)       有效数据都是高电平,持续时间不一样,50us读,低电平0 高电平for(j=0;j<8;j++){while(!dht);//等待卡g点Delay40us();if(dht == 1){flag = 1;while(dht);}else{flag = 0;} tmp = tmp << 1;tmp |= flag;}datas[i] = tmp;}}void main()
{ledOne = 1;UartInit();Delay1000ms();Delay1000ms();while(1){Delay1000ms();Read_Data_From_DHT();	sendString("H:");sendByte(datas[0]/10 + 0x30);//43 a sendByte(datas[0]%10 + 0x30);sendByte('.');sendByte(datas[1]/10 + 0x30);//43 a sendByte(datas[1]%10 + 0x30);	sendString("\r\n");	sendString("T:");sendByte(datas[2]/10 + 0x30);//43 a sendByte(datas[2]%10 + 0x30);	sendByte('.');sendByte(datas[3]/10 + 0x30);//43 a sendByte(datas[3]%10 + 0x30);			sendString("\r\n");		}
}

打开串口助手收到温湿度数据:

http://www.ho-use.cn/article/1600.html

相关文章:

  • wordpress旧版页面编辑界面seo专员是什么
  • 手机网站制作公司报价信息流广告优秀案例
  • 公关策划公司网站源码学校网站建设哪家好
  • 北京做公司网站的公司上海好的网络推广公司
  • 武汉网站建设与服务公司百度推广客服电话多少
  • 如何做网站企划案微信搜一搜怎么做推广
  • 免费商用图片的网站长沙seo优化报价
  • 信息网站有哪些人民日报新闻消息
  • 网站建设与维护教学视频免费涨热度软件
  • 做ktv的网站百度自动点击器
  • 专业网站建设一条龙seo 网站推广
  • 自己做电影网站优化seo教程
  • 江油官方网站建设衡阳百度推广
  • 毕业设计代做网站价格凡科网建站系统源码
  • 长春免费建站模板济南百度竞价开户
  • 网站制作计划app优化
  • 山东省工程建设协会网站列表网推广效果怎么样
  • 今日头条十大新闻上海鄂尔多斯seo
  • 网站设计师的专业知识东莞网站建设制作
  • 制作网站模板的发展空间苏州seo优化
  • 检察院门户网站建设自查自纠报告新浪博客
  • 做毕业网站的周记上海百度移动关键词排名优化
  • 淘宝请人做网站被骗个人网站搭建
  • 小程序网站app定制开发厦门人才网官网登录
  • 做网站跟app怎样在百度上推广
  • 制作静态网站制作快速排名精灵
  • 上传下载网站建设比较靠谱的推广平台
  • 优化网站建设价格江门网站建设
  • 外贸网站好做吗seo快速排名系统
  • 现在做网站有前途吗网络营销的背景和意义