| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结 个人简历 事迹材料 租赁合同 演讲稿 项目管理 职场社交

DHT111 数字湿温度传感器的原理和应用范例

芝***狐

贡献于2019-05-07

字数:13509 关键词: 传感器

奥松电子限公司 wwwaosongcom
DHT11 数字湿温度传感器原理应范例


概述:DHT11 广州奥松限公司生产款湿温度体化数字传感器
该传感器包括电阻式测湿元件 NTC 测温元件高性 8 位
单片机相连接通单片机等微处理器简单电路连接够实时采集湿
度温度DHT11 单片机间采简单单总线进行通信仅仅需
IO 口传感器部湿度温度数 40Bit 数次性传单片机数采
校验方式进行校验效保证数传输准确性DHT11 功耗低5V 电
源电压工作均电流 05mA
性指标特性:
z 工作电压范围:35V55V
z 工作电流 :均 05mA
z 湿度测量范围:20-90%RH
z 温度测量范围:0-50℃
z 湿度分辨率 :1%RH 8位
z 温度分辨率 :1℃ 8 位
z 采样周期 :1S
z 单总线结构
z TTL 兼容(5V)

脚排列:


引脚说明:
Vcc 正电源
Dout 输出
NC 空脚
GND













1应电路连接说明
DHT11数字湿温度传感器连接方法极简单第脚接电源正第四脚接电源端
数端第二脚直接接机(单片机) IO 口提高稳定性建议数端电源
正间接 47K 拉电阻第三脚空脚脚悬空


1 奥松电子限公司 wwwaosongcom

2DHT11 数结构
DHT11数字湿温度传感器采单总线数格式单数引脚端口完成输
入输出双传输数包5Byte(40Bit)组成数分数部分整数部分具
体格式面说明
次完整数传输40bit高位先出
数格式:8bit湿度整数数+8bit湿度数数
+8bit温度整数数+8bit温度数数
+8bit校验
校验数前四字节相加
传感器数输出未编码二进制数数(湿度温度整数数)间
应该分开处理果某次传感器中读取5Byte数:

byte4 byte3 byte2 byte1 byte0
00101101 00000000 00011100 00000000 01001001
整数 数 整数 数 校验
湿度 温度 校验

数湿度温度值计算方法:
humi (湿度) byte4 byte3450 (%RH)
temp (温度) byte2 byte1280 ( ℃)
jiaoyan(校验) byte4+ byte3+ byte2+ byte173(humi+temp)(校验正确)
注意:DHT11次通讯时间3ms机连续采样间隔建议100ms

3DHT11传输时序

31DHT11 开始发送数流程

机发送开始信号延时等 20us40us 读取 DH11T 回应信号读取
总线低电说明 DHT11 发送响应信号DHT11 发送响应信号总线拉
高准备发送数 bit 数低电开始格式见面图示果读取响应
信号高电 DHT11 没响应请检查线路否连接正常



2 奥松电子限公司 wwwaosongcom
32 机复位信号 DHT11 响应信号

33 数字0’信号表示方法

34 数字1’信号表示方法
3 奥松电子限公司 wwwaosongcom
4实例应
41 硬件描述
项目采两三位体阳数码做湿度温度显示模块采 ATMEL 公司
ATmega8 做控芯片详细图 41 示
42 脚分配


设备 脚
传感器(HDT11) PC5
LED[18] PB[07]
P3 PC3
P4 PD5 S2(温度显示)
P5 PD4
LED[18] PB[07]
P1 PD7
P2 PD6 S1(湿度显示)
Pm3 PD0





图 41 典型实例原理图



4 奥松电子限公司 wwwaosongcom

*原程序清单示程序 ICCAVR 631A 测试通*
*************************************************************************
编译环境 :ICCAVR
功:读取湿温度传感器 DTH11 数显示
公司:奥松电子限公司
芯片:Mega 8
晶振:部 80000MHz
创建:木工
修改 :宁佐文
**************************************************************************
#include
#include
typedef unsigned char U8 defined for unsigned 8bits integer variable
typedef signed char S8 defined for signed 8bits integer variable
typedef unsigned int U16 defined for unsigned 16bits integer variable
typedef signed int S16 defined for signed 16bits integer variable
typedef unsigned long U32 defined for unsigned 32bits integer variable
typedef signed long S32 defined for signed 32bits integer variable
typedef float F32 single precision floating point variable (32bits)
typedef double F64 double precision floating point variable (64bits)
**************************************************************************
数码显示赋值区
***************************************************************************
#define _a 0x01
#define _b 0x02
#define _c 0x04
#define _d 0x08
#define _e 0x10
#define _f 0x20
#define _g 0x40
#define _dp 0x80

#define num0 _g 灭数码
#define num1 _a|_d|_e|_f|_g
#define num2 _c|_f
#define num3 _e|_f
#define num4 _a|_d|_e
#define num5 _b|_e
#define num6 _b
#define num7 _d|_e|_f|_g
#define num8 0x00
#define num9 _e
#define num_ _a|_b|_c|_d|_e|_f|_dp
5 奥松电子限公司 wwwaosongcom
#define num_11 _a|_d|_e|_f
#define num_E _b|_c|_dp Err 代码
#define num_r _a|_b|_c|_d|_f|_dp

#define dc2 0x04
#define dc3 0x08
#define dd 0x03
#define dd4 0x10
#define dd5 0x20
#define dd6 0x40
#define dd7 0x80
#define dd2 0x04
#define dd3 0x08 数码控制端口

#define led1 dc3 时先数码全熄灭掉
#define led2 dd5
#define led3 dd4
#define led4 dd7
#define led5 dd6
#define led6 dd2

U8 PLAY[6]{000000}
unsigned char Flag 0
unsigned int u16ReadDownStreamTimer
const U8 LED[14]{num0num1num2num3num4num5num6num7num8num9
num_num_11num_Enum_r } 数码笔形码数组
函数声明:
void init_devices(void)
void time1_start(void)
void port_init(void)
void timer0_init(void)
void timer1_init(void)
void Delay(unsigned int i)
void DelayNS (U16 dly)
*****************************************************************************
显示模块
*****************************************************************************
void Display (void)
{
U8 i
for(i0i<5i++)
{
DDRD | 0XFC
PORTD&0x03
6 奥松电子限公司 wwwaosongcom
DDRC | 0X0C
PORTC&0xF3
Delay(10)
switch(i)
{
case 0 PORTC|led1break
case 1 PORTD|led2break
case 2 PORTD|led3break
case 3 PORTD|led4break
case 4 PORTD|led5break
case 5 PORTD|led6break
default break
}
PORTBLED[PLAY[i]] 送数
if((i0)|(i2)|(i3)|(i5)) 消数点
{
PORTB|0x80
}
DelayNS(1)
}
PORTD&0x03
PORTC&0xF3
}
*****************************************************************************
delay()
*****************************************************************************
void DelayNS (U16 dly) 延时子程序 1010ms
{
U16 i
for ( dly>0 dly)WDR()
for (i0 i<1131 i++)
}
void Delay(unsigned int i)
{
while(i)
}
void delay1N(unsigned int Dcount)
{
while(Dcount)
{
NOP()NOP()NOP()
}
}
void Timer2_Delay150ms(void) Timer 2
7 奥松电子限公司 wwwaosongcom
{
TCCR2 0x00
TCNT2 0xDE
TIFR | 0X40
TCCR2 0x02
}
*****************************************************************************
系统初始化函数
*****************************************************************************
void init_devices(void)
{
CLI()
port_init()
timer0_init()
TIMSK 0x05
SEI()
}
*****************************************************************************
端口初始化
*****************************************************************************
void port_init(void)
{
DDRB 0xFF
PORTB 0x00
DDRC 0x0C
PORTC 0x03
DDRD 0xF0
PORTD 0x00
}
*****************************************************************************
TIMER0 initialize prescale256
desired value 1mSec
actual value 0992mSec (08)
*****************************************************************************
void timer0_init(void)
{
TCCR0 0x00
TCNT0 0xE1
TCCR0 0x04
}
*****************************************************************************
TIMER2 initialize prescale8
WGM Normal
desired value 35uSec
8 奥松电子限公司 wwwaosongcom
actual value 34000uSec (29)
*****************************************************************************
void timer2_init(void)
{
TCCR2 0x00
ASSR 0x00
TCNT2 0xDE
OCR2 0x22
TCCR2 0x02
}
*****************************************************************************
定时器 TIMER0 中断
*****************************************************************************
#pragma interrupt_handler timer0_ovf_isr10
void timer0_ovf_isr(void)
{
TCNT0 0xE1
u16ReadDownStreamTimer++
}
*****************************************************************************
main() function
*****************************************************************************
void main(void)
{
U16 u16Flag 超时计数
unsigned char iiii
unsigned long u32I 接收数时变量
unsigned long ReceiveValue 0 接收数包变量
unsigned long ReceiveValue1 0 接收校验变量
unsigned int ReceiveHighByte 分解数包 湿度
unsigned int ReceiveLowByte 分解数包 温度
WDR()
DelayNS(2) 提高稳定性延时
init_devices()
timer2_init()
u16ReadDownStreamTimer 0
DDRC & ~0X20
PORTC | 0X20
while(1)
{
Display() 显示
WDR()
if(u16ReadDownStreamTimer > 1000) 1s 采集次
{
9 奥松电子限公司 wwwaosongcom
if(iiii 0)
{
DDRC | 0X20
PORTC & ~0X20 发送 0
iiii++
u16ReadDownStreamTimer 991
}
else
{
iiii 0
delay1N(200) 延时等方响应
DDRC & ~0X20 输入
PORTC | 0X20 拉高
delay1N(40) 延时等方响应
if((PINC&0X20)) 检测方否响应
{
u16Flag 0
while(((PINC&0X20)) && ((u16Flag++)<50000))
等响应低电拉高 拉高开始传输数
ReceiveValue 0
ReceiveValue1 0
u16Flag 0
while((PINC&0X20) && ((u16Flag++)<50000))
等数 第'0'出现
for(u32I0x80000000 u32I>0 u32I>>1)
4 字节数 湿度(8+8)+温度(8+8)32(Bit)
{
u16Flag 0
while(((PINC&0X20))&& ((u16Flag++)<30))
Timer2_Delay150ms()
u16Flag 0
while((PINC&0X20) && ((u16Flag++)<300))
if(TIFR&0x40)
{
ReceiveValue | u32I
}
}
for(u32I0x80 u32I>0 u32I>>1) 1 BYTE 校验字节
{
u16Flag 0
while(((PINC&0X20))&& ((u16Flag++)<30))
Timer2_Delay150ms()
u16Flag 0
while((PINC&0X20) && ((u16Flag++)<300))
10 奥松电子限公司 wwwaosongcom
if(TIFR&0x40)
{
ReceiveValue1 | u32I
}
}
DDRC | 0X20 输出
PORTC | 0X20 高拉
ReceiveLowByte (unsigned int )( ReceiveValue&0x0000FFFF)
ReceiveHighByte ReceiveValue>>16
if((U8)(*((U8*)(&ReceiveHighByte)+1)+*((U8*)(&ReceiveLowByte)+1))
*(U8 *)(&ReceiveValue1))
{ 校验
PLAY[3] *((U8*)(&ReceiveHighByte) + 1)10
PLAY[4] *((U8*)(&ReceiveHighByte) + 1)10
PLAY[2] 0
PLAY[0] *((U8*)(&ReceiveLowByte) + 1)10
PLAY[1] *((U8*)(&ReceiveLowByte) + 1)10
PLAY[5] 0
}
else 校验正确显示 6 8
{
PLAY[0] 8 PLAY[1] 8
PLAY[2] 8 PLAY[3] 8
PLAY[4] 8 PLAY[5] 8
}
}
else 没检测信号 发送 Err 显示
{
PLAY[0] 12PLAY[1] 13PLAY[2] 13
PLAY[3] 12PLAY[4] 13PLAY[5] 13
}
DDRC | 0X20
PORTC | 0X20
u16ReadDownStreamTimer 0 清定时计数位
}
}
else 没等
{
DelayNS(1)DelayNS(1)
DelayNS(1)DelayNS(1)
}
}
}
*************************************END************************************
11

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

下载文档

相关文档

PN结温度传感器温度特性实验

了解PN结温度传感器的特性及工作情况。

r***6 6年前 上传6751   0

DWI原理和应用

一、DWI的概念1.定义:弥散又称扩散,是指分子从周围环境的热能中获取运动能量而使分子发生的一连串的、小的、随机的位移现象并相互碰撞,也称分子的热运动或布朗运动。2. DWI技术就是检测扩散运动的方法之一,由于一般人体MR成像的对象是质子,主要是水分子中的质子,因此DWI技术实际上是通过检测人体组织中水分子扩散运动受限制的方向和程度等信息间接反映组织微观结构的变化。3. 生物组织内的水分

悦***🌹 4年前 上传1339   0

2018年传感器毕业论文:温度传感器

传感器毕业论文:温度传感器  论文最好能建立在平日比较注意探索的问题的基础上,写论文主要是反映学生对问题的思考, 详细内容请看下文传感器毕业论文。  温度是一个基本的物理量,自然界中的一切过程无不与温度密切相关。温度传感器是一种能感受温度并把转换成可用输出信号的传感器。温度传感器是最早开发,应用最广的一类传感器。  温度传感器的市场份额大大超过了其他的传感器。从17世纪初人们开始利用

z***4 6年前 上传794   0

5.2常见传感器的工作原理及其应用同步练习(word版含答案)

5.2常见传感器的工作原理及其应用同步练习2021—2022学年高中物理人教版(2019)选择性必修第二册一、选择题(共15题)1.下列关于传感器说法中不正确的是(  )A.电子秤所使用的测力装置是力传感器,它将压力大小转化为可变电阻,进而转化为电压信号B.话筒是一种常用的声传感器,其作用是将电信号转换为声信号C.电熨斗能自动控制温度的原因是它装有双金属片,这种双金属片的作用是控制电路

福***园 1年前 上传336   0

温度和温度计教学反思

《温度和温度计》是三年级科学第三单元第一课,上课之前我反复读了教科书及教学用书,整体感觉这课知识内容比较简单却难于突破,而且像这类认识一种实验工具的课,以学生观察教师指导讲授为主的课,没有实验但我想选课不在于难易,只要把握好教材和教学目标,让各个知识点落实,让学生在课堂上有所收获,通过动手探究能激发学生学习兴趣,这样的课也算是一节成功的课。

💗***💗 5年前 上传1967   0

温度和温度计教学设计

温度表示物体的冷热程度,物体的温度可以用温度计测量;

💗***💗 5年前 上传1353   0

DSP原理及应用大作业

 DSP原理及应用大作业题 目: IIR算法的软件实验 学生姓名: 学 号: 院(系): 信息工程学院 专 业: 电子信息工程专业 IIR算法实验摘要:本课题通过软件设计IIR

文***享 3年前 上传888   0

作业:电大EPR原理与应用

本次实验练习期末企业各系统结账的一些工作。包括:存货月结、应收/应付月结、自动分录抛转及总账结账。实现月底财务信息汇总,生成财务报表。

浩***师 3年前 上传713   0

《数字测图原理与方法》实践报告

学院实践报告   课程名称:《数字测图原理与方法》     学生姓名:*** 班    级:**         系    别:资源工程系                学    号:**           指导老师:郑拴宁、刘石磊 实践地点:**理工职院北院          实践日期:2010.5.3~5.14 实践项目:熟悉和掌握水准仪、全站仪、经纬仪的使用 任务及要求

枫***狼 14年前 上传15977   0

基于单片机的数字温度计设计课程设计

基于单片机的数字温度计设计引言随着现代信息技术的飞速发展和传统工业改造的逐步实现.能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。选用AT89C51型单

文***享 3年前 上传937   0

基于单片机的数字温度计课程设计

摘要 本文提出了关于MCS-51系列单片机的数字温度计的制作电路方法和编程思想。设计一直灌输着电子电路制作软硬结合,以硬件为主的理念。采用模块化的设计思想。硬件模块分为温度的感应模块、时钟模块、控制模块、显示模块。软件同样采用模块化设计,分为中断模块、温度转化模块、时间调整模块。控制器采用单片机AT89S51,时钟电路采用万年历芯片DS1302,温度传感器采用DS18B20,用数码管并行

文***享 3年前 上传783   0

基于51单片机的数字温度计毕业设计

数字测温计设计摘要:随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制已成为当今的主流。本文介绍了基于AT89S51单片机的测温系统,描述了利用DS18B20开发测温系统的过程,对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详实的分析,对各部分的电路也逐

文***享 3年前 上传1204   0

基于51单片机数字温度计设计课程设计

课 题: 基于51单片机数字温度计设计专 业: 电子信息工程班 级: 班学 号: 姓 名: 指导教师: 设计日期:成 绩:XX大学XX学院电气学院 基于51单片机数字温度计设计一、设计目的 1、掌握单片机电路的设计原理

文***品 3年前 上传976   0

基于热敏电阻数字温度计课程设计

单片机应用系统(三级)项目设计说明书(2012/2013学年第二学期)题 目 : 基于热敏电阻的数字温度计 __专业班级 : 电子信息工程 学生姓名 : 指导教师 :

文***品 4年前 上传652   0

人教版选择性必修2物理 5.2常见传感器的工作原理及应用 能力提升(word版含答案)

人教版选择性必修2物理 5.2常见传感器的工作原理及应用 能力 一、单项选择题(共1小题;共4分)1. 如图甲所示为在温度为 10∘C 左右的环境中工作的某自动恒温箱原理简图,箱内的电阻 R1=20 kΩ,R2=10 kΩ 、 R3=40 kΩ,Rt 为热敏电阻,它的电阻值随温度变化的图线如图乙所示。当 a 、 b 两点间的电压 Uab<0 时,电压鉴别器会令开关 S 接通,恒温箱内的电

福***园 1年前 上传379   0

5.1常见传感器的工作原理课后练习(word版含答案)

5.1常见传感器的工作原理一、选择题(共15题)1.下列关于信息化社会的说法不正确的是(  )A.现代信息技术的三大基础是信息的拾取、传输和处理B.传感器能代替、补充、延伸人的感觉器官功能C.日光灯的启动器利用了双金属传感器D.光敏电阻传感器无光照射时电路中电流大,有光照射时电路中电流小2.关于传感器,下列说法正确的是A.传感器能将非电学量按一定规律转换成电学量B.金属热电阻是

福***园 5个月前 上传116   0

2017粤教版高中物理选修第三章《认识传感器 传感器的原理》word学案

学案1 认识传感器 传感器的原理[学习目标定位] 1.了解传感器的概念和种类,知道将非电学量转换成电学量的技术意义.2.知道常见敏感元件的工作原理.3.通过实验了解温度传感器、光电传感器的工作原理,感悟根底知识学习和应用的重要性.1.电阻率ρ是反映材料导电性能好坏的物理量,电阻率越小,导电性能越好,定义式为ρ=.2.平行板电容器的电容C=.3.当带电粒子的运动方向与磁场方向垂直时,带

静***雅 2年前 上传364   0

温度

温 度窗外的银杏叶又渐渐染上了金黄色,好像在提醒我们秋天又来了。回想十年前,我们初次相遇时也是一个秋天。那时,大学刚毕业的我只身来到一个陌生的城市,虽然没有亲人和朋友的守护陪伴,但却丝毫没有在陌生环境的束手无策。因为,我走进了你的怀抱---我的农信。初见你时,有些许的紧张,关于你的一切都是那么的神秘,总想要好好地探知所有。成为一名新入职的柜员,总是有些手忙脚乱,支票、电汇、密码器、贷款发放

风***5 4年前 上传651   0

《温度与温度计》说课稿

《温度与温度计》是教科版三年级下册《温度与水的变化》这一单元的起始课。属于“物质世界”中能量表现形式之二---热现象的教学内容。教材按“比较水的冷热——观察温度计——摄氏温度的读与写——读出温度计指示的温度”四个部分编写,教学内容的呈现注重了学生的认知水平和特点,注重了各部分内在的逻辑联系,即前面的教学内容为后面的学习奠定基础。

💗***💗 5年前 上传1076   0

各房间室内风量温度测量记录填写范例

各房间室内风量温度表B.0.7 测量 报审、报验表资料号工程名称:XXXXXXXXXXXXXXXXX项目致: XXXXXXXXXX监理有限公司 (项目监理机构)我方已完成 一层洁净区JK-01系统各房间室内风量温度测量 工作,经自检合格,请予以审查或验收。附件: 隐蔽工程

7***4 2年前 上传1211   0

风量、温度、噪声测试记录填写范例

风量、温度、噪声测试记录表C3-44资料号工程名称XXXXXXXXXXXXXXXXX项目施工单位XXXXXXXXXX建设有限公司测试人员王恩洪测试部位一层测试日期2021年02月26 日测量仪器名称及编号声级计(03)设计规定的 噪声55 ( dB)序号房间编号风口实测风速(m/s)风量(m³/h)差率 (%)噪声(dB)形式

7***4 2年前 上传1554   0

激光轮廓传感器应用案例

激光轮廓传感器应用案例题目: 3D曲面玻璃边缘弧形(R角)测量测量概要:手机曲面玻璃的弧形检测型号:传感头:LP-S5060H控制器:LP-C200PC:i5处理器测量输出曲线3D面扫描测量方法1.玻璃位于电动滑台上2.采用玻璃扫描模式3.直接得到曲面数据和数据文件4.或者进行面扫描,保存为点云文件测量优势★ 透明物体检测题目: 芯片引脚高度

小***库 3年前 上传878   0

《数据库原理及应用》实验报告

 数据库原理及应用 实验报告 实验课程: 学 号: 学生姓名: 班级: XXX年

文***享 5年前 上传4469   0

单片机原理及应用试题答案

单片机原理及应用试题答案

明***梦 3年前 上传1076   0

数据库原理及应用课程设计

数据库原理及应用课程设计设计报告题 目:学校人力资源管理系统 学 号: 学生姓名: 指导教师: 提交时间: 目录第1章 需求分析 11.1 需求调查 11.2 系统功能

文***品 3年前 上传750   0