当前位置: 首页 > 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.yidumall.com/news/43540.html

相关文章:

  • WordPress指定IP访问手机优化大师官方免费下载
  • mixkit免费高清视频素材sem优化师是什么意思
  • 高邑网站建设营销策划方案范文1500
  • 网站维护具体做啥自己做seo网站推广
  • 用百度网盘做视频网站手游推广平台有哪些
  • 中介网站开发360建站系统
  • 设计网站的意义什么是网站推广
  • 上海建设工程咨询协会谷歌优化方法
  • 做互联网小程序 和网站有没有前景长沙seo公司排名
  • 官方网站内容可做证据吗uv推广平台
  • 深汕特别合作区小漠镇天津百度seo排名优化软件
  • 网站建设空间步骤详解网站友情链接的作用
  • 网站开发技术期末考试题网络宣传的好处
  • 在线logo怎么优化
  • 苏州建设培训中心 官网seo排名方案
  • 找文网优化的技术团队蚁百杭州网站seo优化
  • 网站安全风险提示单外贸怎么找客户资源
  • 企业做网站要多少钱电脑上突然出现windows优化大师
  • 做期货网站违法的吗推广策划方案怎么写
  • 西安公司网站费用ip域名查询地址
  • 怎么做个手机版的网站手机免费发布信息平台
  • 做个ppt模板网站开发网站优化排名软件网站
  • 从哪些方面进行网站建设网络代运营推广
  • 网站的基本元素百度网盘在线观看资源
  • 新建网站的步骤app推广工作靠谱吗
  • 光谷网站建设公司百度云盘资源
  • 网上商城网站模板象山关键词seo排名
  • 英文淘宝网站建设深圳网络推广公司
  • 3d动画制作软件中文版热狗网站关键词优化
  • 横岗网站设计东莞网站推广营销网站设计