ImageVerifierCode 换一换
格式:DOC , 页数:61 ,大小:978.50KB ,
资源ID:4710699      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4710699.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的家用温湿度传感器设计.doc)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于单片机的家用温湿度传感器设计.doc

1、滨江学院 毕业论文题目基于单片机的家用气象系统设计院系滨江学院自动控制系专业自动化学生姓名学号指导教师职称二一二 年五 月三十一 日目 录1、绪论11.1研究目的目的与意义11.2研究的任务要求与具体功能操作11.3本文指导思想22、主要芯片的选择与论证22.1单片机的选择方案22.2显示器的选择方案22.3温湿度传感器的选择方案23、硬件介绍及局部系统设计33.1系统结构33.2主要芯片及功能介绍33.2.1单片机芯片及功能介绍33.2.2 数字湿度传感器SHT1143.2.3温度传感器DS18B2083.2.4 LMO16液晶显示器和外围电路123.2.5 蜂鸣器应用153.3 最小系统设

2、计173.3.1 振荡器、时钟电路及时序173.3.2 复位功能173.4 矩阵式键盘系统设计183.4.1 矩阵式键盘的结构原理183.4.2 键盘工作方式183.4.3 键盘扫描识别及消抖措施194、软件设计流程图204.1矩阵式扫描键盘功能的实现204.2 按键声音功能的实现204.3 液晶显示功能的实现214.4 DS18B20温度测量功能的实现234.5 SHT11湿度测量功能实现244.6 电子时钟功能的实现265、应用软件285.1 Keil软件的使用285.1.1 Keil软件的简介285.1.2 Keil软件调试运行流程285.2 Proteus软件的使用315.2.1 Pr

3、oteus的简介315.2.2 Proteus仿真流程31附表 1 系统元器件表和原理图35附表 2 系统仿真效果图37附表 3 系统源程序3958基于单片机的家用气象系统设计 摘要:一个好的气象系统能够为人们及时准确的的提供当天的气象信息。本文主要针对室内温度和湿度,外加一个电子时钟展开思考设计的。本设计由单片机AT89C51,LM016L显示器,温湿度传感器SHT11和温度传感器DS18B20为核心,辅以必要的电路,构成一个家用气象系统,其具有测量准确,显示直观等特点,适合家用。关键词:电子时钟,单片机,温湿度传感器SHT11,温度传感器DS18B20, 显示器LM016L等。1、绪论1.

4、1研究目的目的与意义随着科技的飞速发展,人们对生活质量要求也随之提高,生活中人体舒适度高低成了人们重要的幸福指数之一。适宜的室内气象条件,如温度、湿度、空气流速、气味等,是人们达到满意舒适度的重要因素,这些气象信息需要仪器的测量来获得,但目前市场单一的湿度或温度等测量仪器已经无法满足人们生活的实际需求,因此,需要集成度更好、测量精确度更高的测量仪器来代替它们。所以如果开发出一种基于单片机的家用气象系统,将温度、湿度、时钟等测量功能集于一体,其将很好的契合人们的日常生活要求。这对于设计者来说也是一次能力的考察,强调了对单片机扩展的应用。1.2研究的任务要求与具体功能操作本文任务是基于对单片机的使

5、用,对部分家用气象信息系统简单设计,主要包含温湿度。设计任务与主要功能包括:(1)电子时钟的设计,并用矩阵式键盘对时间进行校正,闹铃操作;(2)温度测量显示系统设计,要求测量范围-1045、精确度(0.1);(3)湿度测量显示系统设计,要求测量范围0100RH%、精确度(3%RH);(4)用显示器显示相应的时间,温度及湿度,要求形象直观;(5)能够在闹铃时间到或有按键按下时,蜂鸣器发出响声;具体按键功能如下:(1) 当仿真按钮按下时,LCD显示器进入欢迎界面;(2) 当“开始”键按下时,LCD显示器进入正常时钟计数界面(3) 当“闹铃设置”键按下时,LCD显示器进入闹铃时间设置界面;(4) 当

6、“年、月、日、时、分、秒”键按下时,想要设置的时间处(包括闹铃)光标不断闪烁;(5) 当“加”,“减”键按下时,上述光标闪烁处的数值进行加1或减1;(6) 当“退出”键按下时,LCD显示器返回到时间设置后的正常计数界面;(7) 当“闹铃启/停”键按下时,启动或停止闹铃功能;1.3本文指导思想本文是对部分家用气象信息测量系统的简单设计,首先对设计所需要用到的主要芯片进行选择和论证,确定了选用单片机AT89C51作为系统的主要控制芯片,温度传感器DS18B20实现温度测量,SHT11实现湿度测量,显示部分采用的是液晶显示器LM016L。本论文重点部分是对模块的硬件和软件时序进行详解。比如AT89C

7、51、SHT11、DS18B20和LM016L等芯片的引脚功能和工作原理,有便于更好理解。在最后给出系统程序和电路原理仿真图,让设计成果更加清晰呈现。2、主要芯片的选择与论证2.1单片机的选择方案方案一:XC9000系列有并行处理数据的能力,能快速响应,但处理数据复杂,价格昂贵。方案二:采用单片机作为控制芯片,运算功能强,处理方便灵活,性能比较稳定,价格也比较便宜,接近自身专业。综上所述,方案二为最佳方案。2.2显示器的选择方案方案一:12864液晶显示器可实现多组数据的显示,字体比较大,比较清晰,但价格昂贵,接线复杂,性价比不高。方案二:LM016L液晶显示器简单方便,价格便宜,也能满足显示

8、要求。方案三:七段数码管显示内容有限,控制程序复杂,面积较大;综上所示,方案二为最佳方案。2.3温湿度传感器的选择方案方案一:DHT11是一款复合传感器,测湿范围在20%90%RH,误差5%RH;测温范围050,误差2。方案二:SHTXX系列是一款温湿度复合传感器,可测量湿度范围在0%100%RH,误差范围在(1.8%3%)RH。方案三:HS101是电容式湿度传感器,测量范围0%100%RH,误差范围2%RH。方案四:DS18B20温度传感器,具有独特的单线总线传输,接线方便,温测范围在-55125,误差范围0.5,精确度可达0.0625。综上所述,根据设计任务要求,温测范围为-1045、误差

9、0.1,湿度测量范围为0100RH%、误差3%RH可知,方案二,方案四是最佳方案。3、硬件介绍及局部系统设计3.1系统结构此系统主要由晶振电路,测量电路,校正电路,显示电路和发声电路构成,如图所示:AT89c51晶振电路测量电路校正电路显示电路发声电路图3-1 AT89C51系统结构图3.2主要芯片及功能介绍3.2.1单片机芯片及功能介绍单片机微处理器是在一块芯片上集成了CPU、时钟和振荡器电路、ROM和RAM存储器、定时器、计数器和并串行I/O接口等功能部件的一台具有一定功能的计算机。具有体积小、重量轻、单一电源,低功耗,功能强,价格低廉,运算速度快、抗干扰能力强、可靠性高,具有较强功能的位

10、处理能力等。引脚功能如下:VCC:供电电压;GND:接地。P0 :P0引脚为一个8位漏级开路双向I/O口,具有驱动8个TTL门电路的负载能力。当访问外存时,它是地址(低8位)/数据总线复用;当外部不扩展而单片应用时,作双向I/O口用,是一个准双向I/0口;在进行片内程序检验期间,作指令代码输出用。P1 :P1引脚是一个标准的内部提供上拉电阻的8位准双向并行I/O口,具有驱动4个TTL门电路的负载能力。它通常用I/O口使用,输出时具有锁存功能,输入时具有缓冲功能。 P2 :与P1引脚功能相似,其区别在于P2引脚访问外存时只能作高8位地址总线。P3 :具有上拉电阻的8位准双向并行I/O端口;当系统

11、复位或上电时,P3口处于第二功能状态。RST:复位输入端。若在该引脚上输入持续2个机器周期的高电平将使单片机复位。ALE:允许地址锁存信号输出。PSEN:访问外部程序存储器的选通信号,低电平有效。EA :此引脚为访问内部或外部程序存储器的选择信号。XTAL1:此引脚接外部晶振一端。XTAL2:此引脚接外部晶振另一端。3.2.2 数字湿度传感器SHT11(1)Sht11的特点Sht11是一款数字湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、家电等领域,其特点如下:1)高度集成,将温度测量,湿度测量,信号变换,A/D转换和加热等功能集成到一个芯片上;2)提供二线串行数字接口sck和data,接口

12、接单,支持crc校验传输,其可靠性较高;3)可以编程调节测量精度,内置A/D转换器(分辨率为812位,可以通过对芯片内部寄存器进行设置);4)测量精度高,又集温度传感器和湿度传感器,所以能提供温度和线性补偿的湿度测量和露点计算功能;(2)sht11的引脚功能DATASCK SHT11图 3-2 SHT11引脚图主要引脚功能如下:1)sck为时钟线,用于微处理器与SHT11之间的同步通讯,内含完全静态逻辑,所以不存在最小sck频率。2)DATA为数据线,用于数据的读取。DATA在sck时钟的下降沿改变状态,并仅在sck时钟的上升沿有效。在数据传输期间,在sck时钟高电平时DATA必须保持稳定。(

13、3)sht11内部结构湿度传感器SHT11将温湿度测量、模数转换、信号变换和加热器等功能集成到一个芯片上,内含湿度敏感元件和温度敏感元件。它们分别将温湿度转换成电信号,在进入运算放大器,使其微弱信号进行放大;然后进入一个14位的模数转换器;最后测量值由二线数字串行接口输出。其内部结构如图3-3所示。湿度传感器运算放大器器温度传感器A/D转换器二线串行数字接口和CRC校验校准寄存器SCKDATAVCCGND图3-3 SHT11内部结构图主机是通过二线数字串行接口与SHT11进行数据传输的。其通信协议不能兼容I2C总线协议,因此需要用单片机IO接口模拟该数据传输时序。其对SHT11的控制是通过几个

14、命令字来实现的,命令字的定义如下表3-1所示:表3-1 SHT11命令代码命令字含义0x03测量温度0x05测量湿度0x07对内部状态寄存器读0x06对内部状态寄存器写0x1E复位命令(4)sht11状态寄存器Sht11的某些高级功能可以通过状态寄存器来实现。在这里主要介绍通过设置状态寄存器的相关位来设定传感器的测量分辨率。默认的分辨率是14bit(温度),8bit(湿度),通常情况下使用12bit(温度)和8bit(湿度)。状态寄存位如下表所示:表3-2 SHT11状态寄存位Bit说明默认值备注01=8bitRH/12bitT0=12bitRH/14bitT01不从opt加载02加热03仅供

15、测试不使用04预留05预留060=vdd2.47 1=vdd2.47X无结束后更新7预留0(5)sht11工作原理1)湿度传输开始和测量时序微处理器和湿度传感器通信采用串行二线接口sck和data,其中sck为时钟线,data为数据线,该二线串行协议和ic2协议是互不相容的。在程序开始,微处理器需要用一组“启动传输”时序表示数据传输的启动,如下图所示。当sck时钟为高电平时,data翻转为低电平;紧接着sck变为低电平,随后又变为高电平,在sck时钟为高电平时,data再次翻转为高电平。Sht11温湿度测试时序如图所示。主机发出启动命令,随后发出一个8位命令字,该命令字前3位是地址和后5位是命

16、令位;发送完该命令后设数据线data为输入,等待sht11的响应,这个过程需要大约11/55/210ms,分别对应8/12/14bit测量;sht11接收到上述命令字后,在第8个时钟下沿,下拉data为低电平作为从机的ack;在第9个时钟下降沿之后,从机释放data(恢复高电平)总线;释放总先后,sht11开始测量当前的温湿度,测量结束后,再次将data总线拉为低电平;主机检测到data总线被拉低后,得知测量已经结束,主机在次触发sck时钟前,必须等待这个“数字备妥“信号来读出数据;从机在第8个下降沿,先输出高字节数据;在第9个时钟下降沿,主机拉低data总线作为ack信号,接着将data总线

17、释放;在随后8个sck时钟下降沿,从机先输出低字节数据;下一个sck下降沿,主机再次拉低data总线作为ack信号用来接收数据,最后8个时钟下降沿从机输出crc校验数据,主机不回应,则表示结束测量。检测数据可以先被存储,这样主机可以继续执行其它任务,在需要时在读出数据。DATASCKSTARTAddress000Command00101A2A1A0C4C3C2C1C0ack图3-4 SHT11时序图2)湿度的线性和温度补偿Sht11的data数据总线可以直接输出测量到的湿度值。该数字量值称为“相对湿度”,需要进行补偿,即湿度和温度补偿后才能得到精度相对较高的湿度值。因为输出的相对湿度值呈一定的

18、非线性,所以为了补偿湿度传感器的这一特性,湿度值可按下式进行修正:RH1=C1+C2*SOrh+C3*S0rh*SOrh式中:RH为经过线性修正后的湿度值,Sorh为测量到的相对湿度,C1,C2,C3,为线性修正系数,其值如表3-3所列:表3-3 湿度修正系数SOrhC1C2C312 位-40.0405-2.8X10-68 位-40.648-7.2X10-4由于实际温度和参考测试温度25有所不同,而温度对湿度的影响又十分明显,所以有必要对线性修正后的湿度值进行温度补偿,公式如下:RH2=(T-25)*(t1+t2*SOrh)+RH1式中:RH2为经过线性和温度修正后的湿度值,T为湿度被感测时的

19、温度,t1和t2为温度修正系数,取值如下表3-4:表3-4 温度修正系数SORHt1t212 位0.010.000088 8 位0.010.001283)温度值输出由于sht11温度敏感元件的是采用ptat能隙材料制成的,因而线性输出特性很好。温度的实际值由下式算出:T=d1+d2*s0t式中:d1和d2为特定的系数,d1的取值决定于sht11工作电压,d2的取值决定于sht11内部数模转换器采用的分辨率有关,其具体对应关系分别如下表3-5,3-6所示:表3-5 d1与工作电压的对应关系V/vd1/d1/5-40.00-40.004-39.75-39.503.5-39.66-39.353-39

20、.60-39.282.5-39.55-39.23表3-6 d2与分辨率的对应关系SOd2/d2/14位0.010.01812位0.040.072 4)露点计算露点是一个临界的温度值,是空气保持一定程度湿度务必达到的最低值。当空气的温度低于临界值,空气因吸收不了过多的水分,这些水分会变成露水。其值可通过当前相对湿度值和温度值计算得到,具体公式如下:(式中:T为当前温度值,SORH为相对湿度值,Dp为露点)logEW=0.66077+7.5*T/(237.3+T)+Log10(SORH)-2 Dp=(0.66077-logEW)*237.3)/(logEW-8.16077)3.2.3温度传感器DS

21、18B20(1)DS18B20的特点DS18B20是DALLAS公司生产的单总线数字温度传感器芯片,具有3引脚TO-92小体积封装形式;温度测量范围-55+125.可编程912位A/D转换精度,测量分辨率可达0.0625;被测量温度用16位补码方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生。多个DS18B20可以并联到三根或两根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少。主要特性如下:1)适应电压范围宽:3.0V5.5V,在寄生电源方式下可由数据线供电。2)在使用中不需要任何外围元件。3)独特的单线接口方式:与处理器连接时仅需要一根信号线即

22、可实现双向通信。4)测温范围宽:-55+125,在-10+85时精度为0.5。5)可以通过编程实现912位的分辨率,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。6)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多750ms内把温度转化为数字。7)可以采用多点组网功能。8)用户可自行设定非易失性的上下限报警值。9)负压特性:当电源极性相反连接时,传感器不会因过热烧毁,但失去正常测量功能。(2)DS18B20的引脚功能 1 2 3(a)TO-92封装 NC NCNC NCVDD NCDQ GND(b)SOIC封装图3-5 DS18B2

23、0外形及引脚图主要引脚功能如下:DQ:信号传输端。GND:电源地。VDD:电源输入端,当采用寄生电源工作方式时,此引脚接地。(3)DS18B20内部结构DS18B20内部结构主要由4部分组成:64位只读程序存储器、温度传感器,非易失性高低温报警触发器TH和TL,配置寄存器,其结构原理如下图3-6所示:6 位ROM总线接口存储器、控制电路高速缓存器温度传感器触发器TH触发器TL配置寄存器CRC生成器电源检测VDDGNDDQ图3-6 DS18B20内部结构DS18B20的存储器部件有以下几种:1)ROM存储器ROM中存放的是64位序列号,出厂前已被刻好,它可以看作是该传感器的地址序列号。每个器件地

24、址序列号不同。64位序列号的排列是开始8位(0x28)是产品类型标志,接着的48位是传感器的自身序列号,最后的8位是前面56位的循环冗余校验码。由于每一个DS18B20序列号不同,一根总线可挂接多个DS18B20。2)高速暂存存储器高速暂存存储器由9个字节组成,其分配如表2-7所示。第0,1个字节存放转换所得的温度值;第2,3个字节分别是高温度触发器TH和低温度触发器TL;第4个字节是配置存储器;第5,6,7个字节保留;第8个字节是CRC校验码。表3-7 DS18B20高速暂存存储器的分配字节序号功能0温度转换的低字节1温度转换的高字节2高温触发器TH3低温触发器TL4配置寄存器5保留6保留7

25、保留8CRC校验寄存器其中,高温度触发器和低温度触发器分别存放温度报警的上限值和下限值;就把转换后的温度值与温度报警的上限和下限值作比较,若超出设定范围,则把该器件的告警标志置位,并对CPU发出告警搜索命令。另外,配置寄存器用来设置温度值的转换分辨率,其每位的意义如表3-8所示:表3-8配置寄存器D7 D6 D5 D4 D3 D2 D1 D0TMR1R011111低五位全是1,是该命令的标志,TM是测量模式设置位,用于确定传感器是在工作/测试模式。当传感器在制造时该位被置0,不必改动。R1和R2用来确定分辨率,如表3-9所示(不设置默认为12位)表3-9 温度值的转换分辨率设置表R1R2分辨率

26、/位温度最大转换时间ms00993.750110187.51011275.001112750.00(5)DS18B20的温度转换过程1)DS18B20的通信协议根据DS18B20的通信协议,主机控制DS18B20完成温度转换必须经过3个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对传感器进行预订的操作。DS18B20的ROM指令和RAM指令如表3-10和表3-11所示:表3-10 DS18B20的ROM指令指令代码功能读ROM0x33读传感器ROM的编码匹配ROM0x55发出命令后发出64位ROM编码,访问总线上相对应的DS18B

27、20,为读写准备搜索ROM0xf0确定同一总线上传感器的个数和识别ROMD地址跳过ROM0xcc忽略64位ROM,直接发出温度转换指令告警搜索命令0xec执行后只有温度超过设定值的芯片才做出反应表3-11 DS18B20的RAM指令指令代码功能温度变化0x44启动DS18B20进行温度转换读暂存器0xbe读内部RAM中9字节的内容写暂存器0x4e在RAM的3,4字节写上上下限温度数据命令,紧跟之后,是传送两字节的数据复制暂存器0x48将RAM中3,4节内容复制到EEPROM重调EEPROM0xb8将EEPROM中的内容复制到RAM中的3,4字节读供电方式0xb4读DS18B20的供电模式,寄生

28、供电发0,外接电源供电发12)DS18B20工作时序DS18B20温度转换的每一步骤都有严格的时序要求,一切时序都是将微处理器作为主设备,传感器作为从设备。每一次通信传输的开始都是从主设备启动写时序,若想从设备输入数据,在命令字写入后,主设备要启动读指令就可完成数据接收。传输都是从数据和命令的低位开始。初始化时序与DS18B20间的任何通讯都需要以初始化序列开始,一个复位脉冲跟着一个存在脉冲表明DS18B20已经准备好发送和接收数据。在初始化序列期间,总线控制器拉低总线保持至少480us以发出一个复位脉冲,然后释放总线。当DS18B20探测到引脚上的上升沿之后,等待15-60us,然后发出一个由60-240us低电平信号构成的存在脉冲。写时序有两种写时序,分别为写1时序和写0时序。主设备通过写1时序写逻辑1到传感器,写0时序写逻辑0到传感器。所有写时序必须至少保持60us,包括两个写周期之间保持1us以上的恢复时间。当主设备把数据线的电平从高拉到低的时候,写时序开始。主设备若要产生一个写时序,务必把数据线拉低并持续15us后释放。总控制器要产生写0时序,务必把数据线拉低并保持60us以上。主设备初始化写时序后,DS18B20在15us到60us内对I/O线采样。若数据线上是高电平就是

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2