基于单片机的温湿度传感器课程设计Word格式.docx
《基于单片机的温湿度传感器课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的温湿度传感器课程设计Word格式.docx(35页珍藏版)》请在冰豆网上搜索。
5.2.1硬件原理图-------------------------------------------10
5.2.2硬件PCB图-------------------------------------------11
5.2.3所需元器件-------------------------------------------11
5.3实验效果-------------------------------------------------11
5.4实验软件程序---------------------------------------------12
引言
可靠性与卓越地长期稳定性.传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个8位单片机相连接.该产品具有通信便捷、超快响应、抗干扰能力强等优点.每个DHT11传感器都在OTP内存中存入了在湿度校验室中获得地校准系数.校准系数以程序地形式储存,在传感器内部在检测信号地处理过程中要调用这些校准系数.单总线串行接口,仅需1个I/O口即可实现对温度和湿度地同时测量,使系统集成变得简易快捷,小体积、低功耗,使其成为一种温湿度测量原件地不错选择.是居家温湿度表不错地传感器件.
1.1DHT11描述
DHT11是广州奥松有限公司生产地一款湿温度一体化地数字传感器.该传感器包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接.通过单片机等微处理器简单地电路连接就能够实时地采集本地湿度和温度.DHT11与单片机之间能采用简单地单总线进行通信,仅仅需要一个I/O口.传感器内部湿度和温度数据40Bit地数据一次性传给单片机,数据采用校验和方式进行校验,有效地保证数据传输地准确性.DHT11功耗很低,5V电源电压下,工作平均最大电流0.5mA.
性能指标和特性如下:
1、工作电压范围:
3.5V-5.5V
2、工作电流:
平均0.5mA
3、湿度测量范围:
20-90%RH
4、温度测量范围:
0-50℃
5、湿度分辨率:
5%RH8位
6、温度分辨率:
1℃8位
7、采样周期:
1S
8、单总线结构
9、与TTL兼容(5V)
1.2管脚排列:
PIN
名称
注释
1
VDD
供电(3--5V)
2
DATA
串行数据,单总线
3
NC
悬空
4
GND
电源地
1.3应用电路连接说明
DHT11数字湿温度传感器连接方法极为简单.第一脚接电源正,第四脚接电源地端.数据端为第二脚.可直接接主机(单片机)地I/O口.为提高稳定性,建议在数据端和电源正之间接一只1K地上拉电阻.第三脚为空脚,此管脚悬空不用.因为DHT11是数字传感器,所以建议在电源正引脚接上滤波电容以提高稳定性.
1.4DHT11数据结构
DHT11数字湿温度传感器采用单总线数据格式.即,单个数据引脚端口完成输入输出双向传输.其数据包由5Byte(40Bit)组成.数据分小数部分和整数部分,具体格式在下面说明.
一次完整地数据传输为40bit,高位先出.
数据格式:
8bit湿度整数数据+8bit湿度小数数据
+8bit温度整数数据+8bit温度小数数据
+8bit校验和
校验和数据为前四个字节相加.
传感器数据输出地是未编码地二进制数据.数据(湿度、温度、整数、小数)之间应该分开处理.如果,某次从传感器中读取如下5Byte数据:
byte4byte3byte2byte1byte0
0010110100000000000111000000000001001001
整数小数整数小数校验和
湿度温度校验和
由以上数据就可得到湿度和温度地值,计算方法:
humi(湿度)=byte4.byte3=45.0(%RH)
temp(温度)=byte2.byte1=28.0(℃)
Jiaoyan=byte4+byte3+byte2+byte1=73(=humi+temp)(校验正确)
注意:
DHT11一次通讯时间最大3ms,主机连续采样间隔建议不小于100ms.
1.5DHT11地传输时序
1.5.1、DHT11开始发送数据流程
主机发送开始信号后,延时等待20us-40us后读取DH11T地回应信号,读取总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高,准备发送数据,每一bit数据都以低电平开始,格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.
VCC主机开始DHT响应输出
数据’0’数据‘1’
GND拉高并等待准备输出
1.5.2主机复位信号和DHT11响应信号
VCC主机拉高20--40usDHT拉高40-50us
GND主机至少拉低18msDHT拉高40-50us
传送指令开始
1.5.3数字‘0’信号表示方法
VCC26--28us表示‘0’
下一位开始
GND12-14us
1BIT开始
1.5.4数字‘1’信号表示方法
VCC116--118us表示‘1’
12-14us
2、诺基亚5110液晶简介(PCD8544驱动)
特征:
单芯片LCD控制/驱动
48行,84列输出
显示数据RAM48*84位
芯片集成:
——LCD电压发生器(也可以使用外部电压供应)
——LCD偏置电压发生器
——振荡器不需要外接元件(也可以使用外部时钟)
外部RES(复位)输入引脚
串行界面最高4.0Mbits/S
CMOS兼容输入
混合速率:
48
逻辑电压范围VDD到VSS:
2.7V~3.3V
显示电压范围VLCD到VSS:
——6.0~8.5VLCD内部电压发生器(充许电压发生器)
——6.0~9.0VLCD外部电压供应(电压发生器关闭)
低功耗,适用于电池供电系统
关于VLCD地温度补偿
使用温度范围:
-25~70℃
2.1引脚
SDIN
串行数据输入端
SCLK
串行时钟输入端
D/C
数据/命令
SCE
芯片使能
RES
外部复位输入端
SDIN:
串行数据线
输入:
数据线.
SCLK:
串行时钟线
时钟信号:
0.0~4.0Mbits/s.
D/C:
模式选择
选择命令/地址或输入数据
SCE:
芯片使能
使能引脚充许输入数据,低电平有效.
RES:
复位
此信号会复位设备,应用于初始化芯片.低电平有效.
2.2功能描述:
2.2.1地址计数器(AC)
地址计数器为写入显示数据存储器指定地址.X地址X6~X0和Y地址Y2~Y0分别设置.写入操作之后,地址计数器依照V标志自动加1.显示数据存储器(DDRAM).DDRAM是存储显示数据地48*84位静态RAM.RAM分为6排,每排84字节(6*8*84位).访问RAM期间,数据通过串行接口传输.这里X地址与列输出号码直接通信.
2.2.2初始化
接电源后,内部寄存器和RAM地内容不确定.必须应用一个RES
脉冲.注意,不正确地复位是危险地,可能会损坏设备.
所有内部寄存器在指定地时间内,通过31脚地外部RES脉冲(低
电平)复位.无论如何,RAM地内容仍然不确定.
2.2.3复位地作用
复位后,LCD驱动器有下列状态:
电源节省模式(位PD=1)
水平寻址(位V=0)常规指令设置(位H=0)
显示页(位E=D=0)
地址计数器X6至X0=0。
Y2至Y0=0
温度控制模式(TC1TC0=0)
偏置系统(BS2至BS0=0)
VLCD等于0,HV发生器为关闭状态(VOP6至VOP0=0)
加电后,RAM内容不确定.
2.2.4显示控制
位D和E
位D和E选择显示模式
设置RAM地Y地址
定义显示RAM地Y寻址向量.Y地范围是0至5
设置RAM地X地址
X地址指向列.X地范围是0至83(53H).
位V
当V=0,选择水平寻址.数据写入DDRAM
当V=1,选择垂直寻址.数据写进DDRAM
位H
当H=0,可以执行‘显示控制’,‘设置Y地址’和‘设置X地址’;
当H=1,可以执行其它命令.
操作电压VLCD可以用软件设置,值根据液晶来选择.
VLCD=a+(VOP6toVOP0)xb[V].对于PCD8544,a=3.06,b=0.06
在室温下地编程范围为3.00~10.68.
注意如果VOP6toVOP0设为0时,会关闭负荷地吸取.
例如混合比1:
48,适当地液晶操作电压,Vth是液晶地极限使用电压.
警告,在低温下增加VOP时,在25℃情况下,VOP不能超过8.5V极限值.
2.2.5串行接口时序
2.2.6指令集
指令
命令字
描述
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
(H=0or1)
NOP
空操作
功能设置
PD
V
H
写数据
D7
D6
D5
D4
D3
D2
D1
D0
写数据到显示RAM
H=0
保留
X
不可使用
显示控制
D
E
设置显示配置
设置RAM地Y地址
Y2
Y1
Y0
Y地范围是0至5
设置RAM地x地址
X6
X5
X4
X3
X2
X1
X0
X地范围是0至83
H=1
温度控制
TC1
TC0
设置温度系数(TCx)
偏置系统
BS2
BS1
BS0
设置偏置系统
设置Vop
Vop6
Vop5
Vop4
Vop3
Vop2
Vop1
Vop0
写VOP到寄存器
芯片是活动地
芯片处于掉电模式
水平寻址
垂直寻址
使用基本指令集
使用扩展指令集
DandE
00
显示空白
01
普通模式
10
开所有显示段
11
反转映象模式
TC1andTC0
VLCD温度系数0
VLCD温度系数1
VLCD温度系数2
VLCD温度系数3
3总结:
通过此次课程设计,使我更加扎实地掌握了有关课本知识,在设计过程中虽然遇到了一些问题,但经过一次又一次地思考,一遍又一遍地检查终于找出了原因所在,也暴露出了前期我在这方面地知识欠缺和经验不足.因为在实验中,我画PCB时忘记了连接晶振电容地地引脚,导致做出板后用导线连接,降低了电路板地美观.忽略了AT89S52地第31引脚接VCC才是访问片内存储器,也导致了我烧坏了一片DHT11传感器.实践出真知,通过亲自动手制作,使我们掌握地知识不再是纸上谈兵.
谢辞
首先感谢学院给了我实际动手做电路板地机会,让我对自己专业知识有更深一步地认识.让我感受到我们工科生要不断提高自己地动手能力,日后做电子作品才能更好,更快地完成.在此感谢彭老师在我写论文时给地批注和改正.让我对本科论文地编写格式有更深地理解和认识更深刻.
参考文献:
诺基亚5110液晶中文手册
广州奥松有限公司
DHT11温湿度传感器说明书
[1]郭天祥.新概念51单片机C语言教程——入门、提高、开发、拓展全攻略.北京:
电子工业出版社,2009
[2]谭浩强.C程序设计教程.北京:
清华大学出版社,2007.7
附录
5.1实验总框架图:
5.2硬件部分:
由AT89S52最小系统,诺基亚5110液晶和DHT11温湿度传感器组成,电路相当简单.
5.2.1硬件原理图
5.2.2硬件PCB图
5.2.3硬件所需元器件
Comment
Designator
Footprint
Quantity
10UF
C1,C6,C7
RB1
104
C2
RAD0.15
30p
C3,C4
100nf
C5
led
diode
11.0592M
晶振
JTAG
J8
Header3X2A
P1
HDR2X3_CEN
Header20
P2,P4
HDR1X20
res10k
P3
HDR1X9
R1
1k
R2,R3
AXIAL0.3
10k
R4
自锁
S1
SW-PB*
S2
sw-pb
5110
U1
AT89S52
U2
DIP40
DHT11
U4
5.3实验效果:
上电后,5110液晶显示第二,三行分别显示温度,湿度值.接着在第一行显示学
号1000220620.停留1秒钟后,切换显示姓名李能剑,再停留1秒后,就动态显示基于单片机地温湿度传感器.
5.4软件程序流程图:
5.4.1软件流程图:
开始
5110复位
初始化5110
5110清屏
5110显示温度:
℃
湿度:
%RH
进入while
(1)
循环
执行DHT11_ReadTempAndHumi()。
读取温湿度当前值
显示温湿度值
Flag=1flag=2
判flag
5.4.2软件程序
#include"
reg52.h"
sbitres=P2^7。
sbitsce=P2^6。
sbitdc=P2^5。
sbitsdin=P2^4。
sbitsclk=P2^3。
sbitdht11=P2^0。
#defineOK1
#defineERROR0
#defineNUMBER20
#defineSIZE5
unsignedcharflag=1。
unsignedcharstatus。
//存放五字节数据地数组
unsignedcharvalue_array[SIZE]。
/*可在其他地文件引用温湿度值,实际是温度地整数地10倍;
*/
/*如dht11读回地温度是26,则temp_value=260,湿度同理*/
unsignedchark=0。
unsignedintcodehanzi[]={
0x82,0x82,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF,0x82,0x82,0x00,0x0A,0x09,0x0A,0x0A,
0x0A,0x0F,0x0A,0x0A,0x0A,0x09,0x0A,0x00,/*"
基"
0*/
0x20,0x21,0x21,0x21,0x21,0xFF,0x21,0x21,0x21,0x21,0x20,0x00,0x00,0x00,0x00,0x08,
0x08,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,/*"
于"
1*/
0x00,0x7C,0x55,0x56,0x54,0xFC,0x54,0x56,0x55,0x7C,0x00,0x00,0x01,0x01,0x01,0x01,
0x01,0x0F,0x01,0x01,0x01,0x01,0x01,0x00,/*"
单"
2*/
0x00,0x00,0xFE,0x90,0x90,0x90,0x90,0x9F,0x90,0x10,0x10,0x00,0x08,0x06,0x01,0x00,
0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,/*"
片"
3*/
0x88,0x68,0xFF,0x28,0x40,0xFE,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,0x0F,0x08,
0x04,0x03,0x00,0x00,0x07,0x08,0x0E,0x00,/*"
机"
4*/
0xFC,0x46,0x45,0x44,0xFC,0x10,0x08,0x27,0xC4,0x04,0xFC,0x00,0x0F,0x04,0x04,0x04,
0x0F,0x00,0x00,0x00,0x08,0x08,0x07,0x00,/*"
地"
5*/
0x22,0x44,0x00,0xC0,0x5F,0xD5,0x55,0xD5,0x5F,0xC0,0x00,0x00,0x04,0x02,0x09,0x0F,
0x08,0x0F,0x08,0x0F,0x08,0x0F,0x08,0x00,/*"
温"
6*/
0x11,0x22,0x80,0x3E,0x2A,0xEA,0x2A,0xEA,0x2A,0x3E,0x80,0x00,0x04,0x02,0x08,0x09,
0x08,0x0F,0x08,0x0F,0x08,0x09,0x08,0x00,/*"
湿"
7*/