DHT11与1602液晶论文Word下载.docx
《DHT11与1602液晶论文Word下载.docx》由会员分享,可在线阅读,更多相关《DHT11与1602液晶论文Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
2系统设计
2.1设计分析
欲设计一个温湿度测量显示电路系统,首先应该有温湿度数据收集的装置,即为温湿度传感器,本实验采用集成数字传感器DHT11,它将采集来的温湿度信号转换为电路中不同形式的电信号;
电信号不能直接反映温度和湿度的大小,这时就需要一个控制器件,来把我们测量的电信号处理成我们所熟悉的温度、湿度数值;
当信号处理完后,我们应该在显示模块上显示出来。
经过分析,系统的结构框图如图2.1
光敏电阻
蜂鸣器
---------
---
图2.1系统结构框图
2.2系统主要模块的选择与论证
2.2.1温湿度检测模块的选择与论证
方案一:
选用DS18B20温度传感器和HS1101湿度传感器。
DS18B20是一线式数字温度传感器,具有独特的单线式接口方式,测量温度范围在-55℃—125℃,-10℃—85℃,误差为±
0.5%。
最高精度可达0.0625℃。
HS1101是电容式湿度传感器,可测相对湿度范围在0%—100%RH,误差为±
2%RH。
方案二:
选用DHT11作为温湿度检测模块。
DHT11是一款数字输出的复合传感器,包含一个电阻式干事元件和NTC式温度检测元件,可测20—90%RH湿度,误差为±
5%RH,0—50℃,误差范围±
2℃。
综上所述,虽然方案一具有较高的测试范围和精度,但由于本设计所测试的是一般的环境温度和湿度,选取方案二的DHT11温湿度传感器已经能够满足设计的要求,并且,DHT11复合了温湿度传感器,且价格便宜,故本模块采用方案二。
2.2.2单片机控制模块的选择与论证
采用XC9000系列的FPGA。
该类器件具有并行处理能力,能快速的响应外部的各种数字信号,但在数据处理方面过于复杂,而且芯片市场价格较昂贵。
采用单片机作为控制核心,单片机数学运算能力较强。
在程序相互调用方面,处理方面灵活,性能稳定,适合实际应用。
且单片机技术发展已经较为成熟,价格便宜。
基于以上分析,采用单片机控制可更为灵活地实现系统功能,故宜采用方案二。
2.2.3显示模块的选择与论证
采用12864液晶模块显示测得的数据,可显示较多组的数据,字体较大,可清晰读书,但12864液晶显示器价格昂贵,接线复杂,故不采用。
采用1602液晶模块显示所测数据,1602液晶显示器接线简单方便,同时也能够满足显示需要,价格远低于12864.因此,本方案为首选方案。
综上所述,显示器模块选择方案二的1602。
3系统的硬件实现
3.1控制部分
CPU是STC公司的8051系列单片机STC89C52。
时钟电路由一个频率为11.0592MHz的晶振和两个30pF的电容组成。
复位电路由一个10uF的电容和一个10k的电阻组成。
3.1.1STC89C52单片机简介
(1)概述
STC89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
STC89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
(2)主要功能特性
◆兼容MCS51指令系统
◆8k可反复擦写(>
1000次)FlashROM
◆32个双向I/O口256x8bit内部RAM
◆3个16位可编程定时/计数器中断?
时钟频率0-24MHz
◆2个串行中断
◆可编程UART串行通道
◆2个外部中断源
◆共8个中断源
◆2个读写中断口线
◆3级加密位
◆低功耗空闲和掉电模式
◆软件设置睡眠和唤醒功能
(3)8051单片机的引脚功能
MCS-51系列单片机一般采用40个引脚,双列直插式封装,用HMOS工艺制造,其外部引脚排列如图3.1所示。
其中,各引脚的功能为:
(a)DIP引脚图(b)逻辑符号
图3.18051单片机外部引脚排列
主电源引脚
Vcc(40脚):
接+5V电源正端
Vss(20脚):
接+5V电源地端
一般Vcc和Vss间应接高频去耦电容和低频滤波电容。
外接晶体或外部振荡器引脚
XTAL1(19脚):
接外部晶振的一个引脚。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器OSC。
当采用外部振荡器时,此引脚应接地。
XTAL2(18脚):
接外部晶振的另一个引脚。
在片内接至反相放大器的输出端和内部时钟电路的输入端。
当采用外部振荡器时,此脚接外部振荡器的输出端。
控制信号线
RST/VPD(9脚):
复位信号输入端,复位/掉电时内部RAM的备用电源输入端
ALE/(30脚):
地址锁存允许/编程脉冲输入。
用ALE锁存从P0口输出的低8位地址;
在对片内EPROM编程时,编程脉冲由此输入。
(29脚):
外部程序存储器读选通信号,低电平有效。
/VPP(31脚):
访问外部存储器允许/编程电压输入。
EA为高电平时,访问内部存储器;
低电平时,访问外部存储器。
对片内EPROM编程时,此脚接21V编程电压。
多功能I/O口引脚
8051单片机设有4个双向I/O口(P0、P1、P2、P3),每一组I/O口线都可以独立地用作输入或输出口,其中:
P0口(32~39脚)——双向口(三态),可作为输入/输出口,可驱动8个LSTTL门电路。
实际应用中常作为分时使用的地址/数据总线口,对外部程序或数据存储器寻址时低8位地址与数据总线分时使用P0口:
先送低8位地址信号到P0口,由地址锁存信号ALE的下降沿将地址信号锁存到地址锁存器后,再作为数据总线的口线对数据进行输入或输出。
P1口(1~8脚)——准双向口(三态),可驱动4个LSTTL门电路。
用作输入线时,口锁存器必须由单片机先写入“1”,每一位都可编程为输入或输出线。
P2口(21~28)——准双向口(三态),可驱动4个LSTTL门电路。
可作为输入/输出口,实际应用中一般作为地址总线的高8位,与P0口一起组成16位地址总线,用于对外部存储器的接口电路进行寻址。
P3口(10~17脚)——准双向口(三态),可驱动4个LSTTL门电路。
双功能口,作为第一功能使用时,与P1口一样;
作为第二功能使用时,每一位都有特定用途,其特殊用途如表3.1所示:
端口引脚
第二功能
注释
P3.0
RXD
串行口数据接收端
P3.1
TXD
串行口数据发送端
P3.2
/INT0
外中断请求0
P3.3
/INT1
外中断请求1
P3.4
T0
定时/计数器0外部计数信号输入
P3.5
T1
定时/计数器1外部计数信号输入
P3.6
/WR
外部RAM写选通信号输出
P3.7
/RD
外部RAM读选通信号输出
表3.1P3口特殊功能
3.1.2单片机主控电路设计
单片机主控电路原理图如图3.2所示
图3.2单片机主控电路
单片机主控模块包括了振荡电路、复位电路,同时接入了下载接口,方便下载程序,保证了整个系统的灵活性。
单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。
硬件实现上采用模块化设计,每个模块只实现特定功能,最后再将各个模块搭接在一起。
这种设计方法可以降低系统设计的复杂性。
3.2测量部分
测量所用仪器是数字温湿度传感器DHT11。
3.2.1DHT11简介
◆
相对湿度和温度测量
◆全部校准,数字输出
◆卓越的长期稳定性
◆无需额外部件
◆超长的信号传输距离
◆超低能耗
◆4引脚安装
◆完全互换图3.3DHT11实物图
(1)DHT11产品概述
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品为4针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
(2)应用领域
◆暖通空调
◆测试及检测设备
◆汽车
◆数据记录器
◆消费品
◆自动控制
◆气象站
◆家电
◆湿度调节器
◆医疗
◆除湿器
3.2.2操作过程
(1)接口说明
建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻
图3.4DHT11典型应用电路
(2)电源引脚
DHT11的供电电压为3-5.5V。
传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。
电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。
(3)串行接口(单线双向)
DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
通讯过程如图3.5所示
图3.5通讯总流程图
总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。
DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。
图3.6数据传输准备阶段
总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。
数字0信号表示方法如图所示
图3.7送数据‘1’
数字1信号表示方法.如图所示
图3.8送数据‘1’
3.2.3温湿度测量模块电路设计
DHT11测量电路原理图如图3.9
图3.9DHT11测量电路接线图
图中1脚为电源引脚,2脚接单片机的P1.0口箱单片机传输数据,3脚为空脚,4脚接地。
正是由于DHT11是单线传输,所以接线电路简单。
3.3显示部分
显示部分是LCD1602液晶
3.3.11602液晶简介
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图所示:
(1)1602LCD主要技术参数:
显示容量:
16×
2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×
4.35(W×
H)mm
(2)引脚功能
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
3
VL
液晶显示偏压
11
D4
4
RS
数据/命令选择
12
D5
5
R/W
读/写选择
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
BLK
背光源负极
3.3.2指令说明
1602液晶模块内部的控制器共有11条控制指令,如表10-14所示:
序号
指令
清显示
光标返回
*
置输入模式
I/D
S
显示开/关控制
D
C
B
光标或字符移位
S/C
R/L
置功能
DL
N
F
置字符发生存贮器地址
字符发生存贮器地址
置数据存贮器地址
显示数据存贮器地址
读忙标志或地址
BF
计数器地址
写数到CGRAM或DDRAM)
要写的数据内容
从CGRAM或DDRAM读数
读出的数据内容
3.3.3显示电路原理图
图3.10
4开发工具keil与AltiumDesigner
4.1Keil软件介绍
KeilC51是Keilsoftware公司推出的51系列单片机兼容汇编语言和C语言的软件开发工具。
它提供了基于Windows的集成开发环境uVision2,拥有丰富的库函数和功能强大的集成开发调试工具,同时具备功能强大的软件仿真和硬件仿真功能;
另外重要的一点,只要开一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
常用的KeilC51的扩展主要包括:
数据类型;
存储类型;
存储模型;
指针;
中断函数。
4.2AltiumDesigner软件介绍
AltiumDesigner提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。
AltiumDesigner在单一设计环境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造。
并集成了现代设计数据管理功能,使AltiumDesigner成为电子产品开发的完整解决方案-一个既满足当前,也满足未来开发需求的解决方案。
5总结与展望
单片机是一门应用性和实践性很强的学科,很多人都想学习单片机,并且想知道如何学习单片机。
熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。
翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计(随便说一下,很多书中的电路设计已经过时,并且有些程序还是错误的)。
如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。
学习使用单片机只能靠循序渐进的积累。
学单片机不仅要学习理论知识,实践操作也很重要。
学过单片机的人都有这样的经历,就是把自己写的程序烧录到单片机里面的时候会发现与自己想要的结果有很大的不同。
这就是因为实践操作少了,经验不足的缘故。
推荐大家从简单的东西学起,当我们积累了一定的东西之后就可以动手做一些比较复杂的东西了。
设计本系统的过程中遇到了很多的问题,在编写DHT11的测量程序的过程中遇到了很多的问题,刚开始始终的不到数据,研究了很长时间都弄不出来。
同学提示我要注意一下时序,然后我又按照DHT11的通讯时序和接收时序将程序一条条的重写,在经过几次调试之后,终于得到了自己想要的结果;
液晶显示部分也出了一点点小问题,就是送数据过去的时候忘了显示字符必须送字符的ASCII码。
对DHT11与DS18820及一些水银温湿度测量器的测量数据进行了比较,验证了DHT11测量数据的准确性和稳定性。
低廉的价格、小巧的体积、准确稳定的测量数据、简单的单总线控制方式、简洁的电路连接,这些将使DHT11拥有良好的应用前景。
1602液晶也比较便宜,操作比较简单。
另外,本系统还具有较高的扩展性,可以集时钟,计算器,温湿度测量等于一体,具有一定的市场价值。
6参考文献
[1]彭介华.电子技术课程设计指导[M].北京:
高等教育出版社,1997
[2]毕满清.电子技术实验与课程设计[M].北京:
机械工业出版社,1995
[3]陈明义.电工电子技术课程设计指导[M].长沙:
中南大学出版社,2002
[4]高吉祥.电子技术基础实验与课程设计[M].北京:
电子工业出版社,2002
[5]高吉祥.基本技能训练与单元电路设计[M].北京:
电子工业出版社,2007
[6]赵飞月.Protel99SE基础与实例教程[M].北京:
机械工业出版社,2009
附录一系统主程序流程图
附录二单片机程序清单
源程序:
#include<
reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
typedefbitBOOL;
sbitio=P1^0;
sbitrs=P2^6;
sbitrw=P3^6;
sbitep=P2^7;
uchardata_byte;
ucharRH,RL,TH,TL;
/******************************************************************************
************************************************延时模块/
voiddelay(ucharms)
{//延时子程序
uchari;
while(ms--)
{
for(i=0;
i<
250;
i++);
}
}
voiddelay1()//延时10us
{
uchari;
i--;
voidlongdelay(uchars)//长延时
while(s--)
delay(60);
/*****************************************************************************************************************************LCD模块/
BOOLlcd_bz()//测试LCD忙碌状态
{
BOOLresult;
rs=0;
rw=1;
ep=1;
result=(BOOL)(P0&
0x80);
ep=0;
returnresult;
voidwrite_cmd(ucharcmd)//写指令