1、维修电工技师论文(国家职业资格二级)论文题目:环境监测系统目 录目 录I摘 要1前 言2第1章 系统概述31.1 系统设计主要原理31.2 系统硬件设计方案41.2.1 微控制器的选择41.2.2 湿度传感器的选择51.2.3 温度度传感器的选择61.2.4 气体传感器61.2.5显示方案的确定71.3 系统软件设计方案71.3.1微控器软件设计方案8第2章 系统硬件设计实现112.1 环境监测系统的组成结构112.2 主控制器系统设计122.2.1 ATmega16简介122.2.2 引脚图及引脚介绍132.2.3 单片机最小系统电路设计142.2.4 复位电路设计152.2.5 晶振电路设
2、计162.3湿度传感器检测模块设计172.3.1湿度传感器HS1101简介172.3.2湿度传感器电路设计192.3.3相对湿度检测系统方框图2024温度检测模块设计202.4.1 DS18B20的性能特点202.4.2 DS18B20的内部结构202.4.3 DS18B20工作时序242.4.4 ROM操作命令262.4.5 DS18B20的测温流程272.5气体检测模块设计272.5.1气体传感器MQ-2简介272.5.2 MQ-2型传感器的特性及主要技术指标282.5.3 MQ-2检测电路设设计312.5.3 MQ-2检测系统方框图312.6 LCD12864显示模块设计312.6.1
3、LCD 12864 系列中文图形液晶显示模块的主要特性312.6.3 原理图设计332.6.5 8位并行模式下时序342.6.6 字符地址表352.6.7 驱动LCD12864流程图3527 串口通讯模块设计362.7.1串口通讯简介362.7.2串口通讯硬件设计362.7.3 部分串口电平转换电路设计38第3章 系统软件设计实现393.1 LCD12864驱动程序模块393.2 湿度传感器驱动程序模块453.3 温度传感器驱动程序模块473.4 气体传感器驱动程序模块513.5 串口通讯程序模块533.6 主程序56结束语58参考文献5959 摘 要在日常生活或者工业现场,要营造一个安全舒适
4、的环境,就必须对其环境的温度,湿度,以及当前环境中可燃气体含量的精密监测,。本文论述了基于室内环境测控技术的硬件和软件的设计与实现。系统以AVR单片机ATmega16为硬件核心,通过实时采集和数据处理能够准确地监测环境,采用12864液晶辅助显示模块,显示当前环境的温度、湿度、可燃气体含量。并且用PC机作为上位机为系统,实现串口通信,文中重点讲述系统的软硬件结构和功能特点,着重阐述了信号采集处理、单片机及扩展电路的设计思路和实现方法。在目前的试用中,该系统能够可靠、稳定、具有推广应用价值。目前的试用中,该系统能够可靠、稳定、具有推广应用价值。 关键词:温度传感器;湿度传感器;气体传感器;AVR
5、单片机。前 言数据采集是工农业生产过程中进行监控所必需的环节,本课题是对嵌入式技术与数据采集技术的应用,即用流行的AVR单片机平台实现数据的采集与显示。近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。目前AVR单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处
6、理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。AVR单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,AVR单片机的应用如此广泛而又潜力,因而也不用质疑其生命力。本课题需要完成一个完整系统的设计,涉及到电子技术、传感器技术、计算机应用与控制技术等多学科知识,是一个硬软件相结合的设计性题目。本课题融知识性与趣味性于一体,提供了一个有力的了解小家电设计技术的平台,能提高检索文献资料的能力、电子系统设计的能力、
7、实际动手的能力。而且可以通过这次设计,很好的掌握系统设计的工作流程、开发步骤;熟悉单片机开发的通用编程语言。第1章 系统概述本章分为三个部分,主要介绍本次设计的系统的主要设计原理,给出硬件选择以及软件设计的最终方案。1.1 系统设计主要原理系统由湿度传感器,温度传感器,气体传感器,显示单元,单片机构成,由于每种传感器应用的范围不一样,精度有高有底,价格有高有低。各种传感器产生的得的信号是不一样的,有电压大小,有的是电流大小,有的是频率的高低,有的传感器还是需要一定的通讯协议的,所以传感器的选型会导致硬件电路的复杂,设计应使使用的电源最少,通过单片机对各种传感器获得信号进行处理、计算,最终送去显
8、示单元和串口,本地能够通过显示单元获取到当时当地的环境中的:湿度,温度,有害气体含量的数值。远程监控室能,也能通过串行通信获取到远处检测器所在的环境中是怎么样。能够让监控人员对各种情况及时的去处理。如图1-1-1是完成后的硬件图。 图1-1-1 实际硬件图 上位机程序使用网络上共享的串口调试工具进行调试,如图上位机能在串口调试工具中获取环境的各项数值,如图1-1-2. 图1-1-2 串行通信图1.2 系统硬件设计方案1.2.1 微控制器的选择目前,再电子系统研究与设计中,常用的微控器有MC51单片机、PIC单片机、AVR单片机和ARM芯片。方案一:采用ARM作为微控器ARM 微处理器已遍及工业
9、控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75以上的市场份额。但是,ARM技术往往需要第三方工具、软件的支持,且ARM系列处理器很少集成片上硬件资源,实际产品成本方面,ARM配置外设价格较高,PCB版也好设计,往往还需要考虑信号的完整性等,因此,对于初学者来说,使用起来不是很方便。方案二:采用PIC单片机作为微控器PIC单片机速度快,片内资源丰富,抗干扰能力强,价格便宜。但没有地址总线,不适宜做大系统,而且只能使用汇编指令,虽然筒单,但不适合写大程序。CPU采用RISC结构,分别仅有33,35,58条指令,采用H
10、arvard双总线结构,运行速度快,低工作电压,低功耗,较大的输入输出直接驱动能力,一次性编程,小体积,适用于用量大、档次低、价格敏感的产品。方案三:采用AVR单片机作为微控器AVR单片机采用的RISC优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。AVR单片机的程序存储器和数据存储器是分离的,并且可对具有相同地址的程序存储器和数据存储器进行独立的寻址。在AVR单片机中,CPU执行当前指令时取出将要执行的下一条指令放入寄存器中,从而可以避免传统 MCS51系列单片机中多指令周期的出现。传统的MCS51系列单片机所有的数
11、据处理都是基于一个累加器的,因此累加器与程序存储器、数据存储器之间的数据转换就成了单片机的瓶颈;在AVR单片机中,寄存器由32个通用工作寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了累加器的瓶颈效应,提高了系统的性能。综上所述,AVR单片机与51单片机、PIC单片机相比运行效率高很多、芯片内部的Flsah、EEPROM、SRAM容量较大、全部支持在线编程擦写、每个I/O口都可以以推换驱动的方式输出高、低电平,驱动能力强、内部资源丰富,一般都集成AD、DA模数转换器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。现在比较流行的型号是ATmega8/16。所以
12、,本设计选用ATmega16单片机作为主控芯片。1.2.2 湿度传感器的选择目前,市场上有许多类型的湿度传感器,其参数及适用场合等各不相同,现就几种常用的湿度传感器进行比较。方案一:采用BQ8-CHR系列湿度传感器BQ8-CHR系列湿度传感器采用功能高分子膜涂敷在带有导电电极陶瓷衬底上,形成阻抗随相对湿度变化成对数变化的敏感部件,导电机理为水分子的存在影响高分子膜内部导电离子的迁移率。其具有稳定、低漂移、高精度、快速响应特性、高可靠,耐水性好等特点,具有很好的适应性。特征阻抗范围为,但是由于其工作电压为1V AC(502KHz),而本次设计使用的均为直流电源,所以排除使用BQ8-CHR系列湿度
13、传感器。方案二:采用HS1101湿度传感器用湿度传感器HS1101做成的电压输出湿度模块,高可靠性与长时间稳定性,在5VDC供电时,0100%RH对应输出14VDC线性电压,温度依赖性非常低;宽量程:0100%RH,工作温度范围宽;5VDC恒压供电,1-4VDC放大线形电压输出;抗静电,防灰尘,有效抵抗各种腐蚀性气体物质常温使用无需温度补偿;无需校准;电容与湿度变化0.34pf/%RH;典型值180pf55%RH;长期稳定性及可靠性,年漂移量0.5%RH/年。这款湿度传感器的参数比较能适合本次设计,通常用于工业生产过程,本次设计选用HS1101为本次设计的温度传感器。1.2.3 温度度传感器的
14、选择目前,市场上有许多类型的温度,其参数及适用场合等各不相同,现就几种常用的湿度传感器进行比较。方案一:PT100热电阻PT100铂电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、复现性和稳定性好等,被广泛用于中温(-200650)范围的温度测量中,但由于外围电路复杂,价很较贵,本次设计没有选用。方案二:数字温度传感器DS18B20DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及
15、其与单片机的接口部分组成。数字温度传感器DS18B20把采集到的温度通过数据引脚传到单片机的P1.0口,单片机接受温度并存储。此次设计使用到DS18B20。1.2.4 气体传感器方案:气体传感器MQ-2MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。1.2.5显
16、示方案的确定LCD和LED是目前普遍采用的两种显示技术。方案一:采用LCD显示技术LCD是液晶显示屏的全称,主要有TFT、UFB、TFD、STN等几种类型的液晶显示屏。其主要特点是:低压应用,低驱动电压,固体化使用安全性和可靠性提高;平板化,又轻薄,节省了大量原材料和使用空间;低功耗,节省了大量的能源;品种多样,使用方便灵活、维修、更新、升级容易等许多特点。显示范围覆盖了从1英寸至40英寸范围内的所有显示器的应用范围以及投影大平面,是全尺寸显示终端;显示质量从最简单的单色字符图形到高分辨率,高彩色保真度,高亮度,高对比度,高响应速度的各种规格型号的视频显示器;显示方式有直视型,投影型,透视式,
17、也有反射式。环保特性好,无辐射、无闪烁,对使用者的健康无损害。方案二:采用LED显示技术LED是发光二极管(LightEmittingDiode)的英文缩写,是一种固态的半导体器件,它可以直接把电转化为光。LED应用可分为两大类:一是LED单管应用,包括背光源LED,红外线LED等;另外就是LED显示屏。目前,中国在LED基础材料制造方面与国际还存在着一定的差距,但就LED显示屏而言,中国的设计和生产技术水平基本与国际同步。LED显示屏是由发光二极管排列组成的一显示器件。它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点。由于本次设计需要显示中文所以
18、选择了带字库的12864点阵液晶。1.3 系统软件设计方案系统软件包括单片机应用软件和PC 机应用软件。单片机应用软件主要实现定时数据采集、数字信号处理、存储、显示、通信处理等功能;PC 机应用软件主要是对进一步处理总站多路数据转发器传输过来的数据,提供友好的监测界面,实现串口通信,数据库保存、查询等功能。系统的主程序流程图如下图图1-1所示:开始初始化对湿度进行采样送LCD示监测系统运行图1-3-1 系统主程序流程图发送至上位机对温度进行采样对气体进行采样1.3.1微控器软件设计方案常用的单片机编程语言是汇编和C语言。方案一:使用汇编语言汇编语言(Assembly Language)是面向机
19、器的程序设计语言。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言能够直接访问与硬件相关的存储器或I/O端口; 能够不受编译器的限制,对生成的二进制代码进行完全的控制;能够根据特
20、定的应用对代码做最佳的优化,提高运行速度; 能够最大限度地发挥硬件的功能。但是还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:编写的代码非常难懂,不好维护; 很容易产生Bug,难于调试;只能针对特定的体系结构和处理器进行优化;开发效率很低,时间长且单调;兼容性不好,与硬件关系非常紧密。因而不是很适合初学者的应用。方案二:使用C语言C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。指针是C语言的一大特色,可以说C语言优于其它高级语言的一个重要原因就是因为它有指针操作可以直接进行靠近硬件
21、的操作,但是C的指针操作也给它带来了很多不安全的因素。但是对于本次设计来还说,C语言具有以下优点:(1)简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。(2)运算符丰富C的运算符包含的范围很广泛,共有34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化。(3)数据结构丰富C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用
22、来实现各种复杂的数据类型的运算。(4)C是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。(5)C语法限制不太严格,程序设计自由度大虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。(6)C语言允许直接访问物理地址,可以直接对硬件进行操作因为既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,可以用来写系统软件。
23、(7)C语言程序生成代码质量高,程序执行效率高一般只比汇编程序生成的目标代码效率低1020%。综合比较之后,本次设计采用方案二,即使用C语言作为微控制器的编程语言。第2章 系统硬件设计实现硬件是系统的载体与执行结构,硬件设计是本次设计的重点,主要设计传感器信号放大、采集、处理,显示处理,执行电路设计,系统供电等多个部分。本章分为6节介绍系统的硬件设计实现。2.1 环境监测系统的组成结构系统用时下流行且功能强大的AVR单片机来控制数据采集与显示模块,利用单片机采集环境温度、湿度、可燃气体气体含量值,进行存储和显示,并且可以使用PC机为上位机提供一个可视的操作界面,并实现串口通信,数据保存、查询、
24、备份以及控制功能。系统整体结构方框图如下图图3-1所示:AVR单片机(Mega16)室内环境RS232通讯上位机图2-1 系统方框图湿度检测模块温度检测模块气体检测模块电平转换模块LCD显示模块串通口讯本电子湿度计系统模块由以下几个模块组成:湿度传感器模块,温度传感器模块,气体传感器模块,AVR单片机主控制器,LCD显示模块串,TTL转RS232电平模块。2.2 主控制器系统设计2.2.1 ATmega16简介ATmega16单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机。该单片机具有AVR高性能、低功耗RISC结构,工作在8MHz时具有8MI
25、PS的性能,同时片内16KB的在线可编程FLASH存储器,可擦除1000次以上,并且集成了512B的SRAM 和512 B在线可编程EEPROM。另一个显著的特点是自带8通道10位高精度的逐次逼近式A/D转换器,A/D引脚与PA口的引脚两者复用,可以通过程序指定来加以区别应用。另外,它还拥有很宽的工作电压范围,可以在2.76V之间正常运行,具备很强的适应性。AVR单片机具有良好的集成性能,采用低功率、非挥发的CMOS工艺制造,除具有低功耗、高密度的特点外,还支持低电压的联机Flash,EEPROM写入功能。AVR单片机还支持 Basic、C等高级语言编程。采用高级语言对单片机系统进行开发是单片
26、机应用的发展趋势。对单片机用高级语言编程可很容易地实现系统移植,并加快软件的开发过程。ATmega16的主要性能参数及特性如下: 16K 字节可重擦写Flash闪存存储器,擦写寿命为10000次; 在16MHZ频率下速度为16MIPS的8位RISC结构单片机,内含硬件乘法器; 32个可编程的I/O口,40引脚PDIP封装,32个通用寄存器; 全静态工作; 8通道10位AD转换器,支持单端和双端差分信号输入,内带增益可编程运算放大器; 2个8位定时/计数器,1个16位定时/计数器,带捕捉、比较功能; 通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程; 两个可编程的串行USAR
27、T,可工作于主机/ 从机模式的SPI 串行接口。ATmega16可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式:空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作;掉电方式保存RAM中的内容,但是振荡器停止工作并禁止其他所有部件工作到下一个硬件复位。2.2.2引脚图及引脚介绍ATmega16的PDIP封装的引脚图见图2-2。 图2-2-1 引脚图VCC 电源正 GND 电源地端口A(PA7PA0) 端口A作为A/D 转换器的模拟输入端。端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入
28、使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。端口B(PB7PB0) 端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口C(PC7PC0) 端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未
29、起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口D(PD7PD0) 端口D为8位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1 反向振荡放大器与片内时钟操作电路的输入端。XTAL2 反向振荡放大器的输出端。
30、AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。AREF A/D的模拟基准输入引脚。2.2.3单片机最小系统电路设计在单片机硬件最小系统中,没有任何信号线的连接,只有电源到主板的电源连接,在判断的过程中通过电源指示灯及工作状态指示灯来判断这一核心组成部分是否可正常工作。ATmega16单片机的最小系统如下图图2-2-2所示。图2-2-2 单片机最小系统2.2.4 复位电路设计ATmega16有5个复位源:(1)上电复位电源电压低于上电复位门限VPOT时,MCU复位。上电复位(POR)脉冲由片内检测电路产生
31、,POR电路保证器件在上电时复位。VCC达到上电门限电压后触发延迟计数器。在计数器溢出之前器件一直保持为复位状态。当VCC下降时,只要低于检测门限,RESET信号立即生效。(2)外部复位引脚RESET上的低电平持续时间大于最小脉冲宽度时MCU复位。外部复位由外加于RESET引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度时即触发复位过程,即使此时并没有时钟信号在运行。当外加信号达到复位门限电压VRST(上升沿)时,tTOUT延时周期开始。延时结束后MCU即启动。(3)看门狗复位看门狗使能并且看门狗定时器溢出时复位发生。看门狗定时器溢出时将产生持续时间为1个CK周期的复位脉冲。在脉冲的下降
32、沿,延时定时器开始对tTOUT记数。(4)掉电检测复位掉电检测复位功能使能,且电源电压低于掉电检测复位门限VBOT时MCU即复位。BOD电路的开关由熔丝位BODEN控制。当BOD使能后(BODEN被编程),一旦VCC下降到触发电平以下(VBOT-,Figure 19),BOD复位立即被激发。当VCC上升到触发电平以上时(VBOT+,Figure19),延时计数器开始计数,一旦超过溢出时间tTOUT,MCU即恢复工作。(5)JTAG AVR复位复位寄存器为1时MCU复位。JTAG通过复位寄存器mcur,复位寄存器为1时MCU复位。通过JTAG指令AVR_RESET可以使JTAG复位寄存器置位,并
33、引发MCU复位,并使 JTRF 置位。上电复位将使其清零,也可以通过写“0”来清除。本设计选用了最直接的复位形式,由于AVR单片机本身内部带有复位电路的优势,只需要接一个10K上拉电阻就可以完成复位电路的设计。为了可靠,可以加上一只0.1uF的电容以消除干扰和杂波,如下图图2-2-3所示:图2-2-3 单片机复位电路图S0RESETR010KC00.1uFD31N41482.2.5晶振电路设计单片机内部的各种功能电路绝大多数是由数字电路构成的。数字电路的工作过程,尤其是时序逻辑电路的工作过程,离不开时钟脉冲信号,即时间基准信号,每一步细微的动作都是在一个共同的时间基准信号驱动之下完成的。作为时
34、基发生器的时钟振荡电路,为整个单片机芯片内部各个部分电路的工作提供系统时钟信号,也在为单片机与其他外接芯片之间的通信以及与其他数字系统或者计算机系统之间通信,提供可靠的同步时钟信号。AVR单片机设计了4种类型的时基振荡方式可供选择:标准的晶体振荡器/陶瓷谐振器振荡方式XT;高频的晶体振荡器/陶瓷谐振器振荡方式HS(4MHz)以上;低频的晶体振荡器/陶瓷谐振器振荡方式LP(32.768kHz);外接电容元件的阻容振荡方式RC。在本设计中,由于需要考虑到通信时的波特率的设置,所以选用能产生较精确时钟的晶体振荡器(7.3728MHz)。晶振电路与单片机内部结构关系图如下图图2-2-4所示。为了由外部
35、源驱动器件,当XTAL1被驱动时,XTAL2不能连接,如下图2-2-5所示。XTAL2XTAL1GND外部时钟信号NC图2-2-4 晶振电路设计 图2-2-5 外部时钟驱动设置2.3湿度传感器检测模块设计2.3.1湿度传感器HS1101简介湿度传感器HS1101是基于独特工艺设计的电容元件,这些相对湿度传感器可以大批量生产。应用于办公室自动化,车厢内空气质量控制,家电,工业控制系统等。它有以下几个显著的特点:全互换性,在标准环境下不需校正长时间饱和下快速脱湿可以自动化焊接,包括波峰或水浸高可靠性与长时间稳定性专利的固态聚合物结构可用于线性电压或频率输出回路 图2-3-1:HS1101实物照快速
36、反应时间HS1101的简单物照图如图2-3-1。 相对湿度在0%100%RH范围内;电容量由162pF变到200pF,其误差不大于2%RH;响应时间小于5s;温度系统为0.04pF/。可见其精度是较高的。其湿度电容响应曲线如图2-2:20 40 60 80 100 相对湿度% 200 190 180 170 电容F图2-3-2:HS1101湿度电容响应曲线HS1101的一些常用参数如表2-1:表2-3-1:HS1101常用参数参数符号参数值单位工作温度Ta-40100储存温度Tstg-40125供电电压Vs10Vac湿度范围RH0100%RH焊接时间=260t10S2.3.2湿度传感器电路设计
37、HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。涉及如何将电容的变化量准确地转变为计算机易于接受的信号时,常用两种方法:一是将HS1101置于运放与阻容组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再A/D转换为数字信号;另一种是将HS1101置于555振荡电路中,将电容值的变化转为与之呈反比的电压频率信号,可直接被计算机所采集。555为必须CMOS,这里选用的是TLC555集成电路图2-3-3 HS1101典型应用电路在不同的湿度环境中,HS1101可等效为可变电容,其置于TLC555路中构成震荡电路,其震荡平率的典型值表2-3-
38、1所示,湿度与震荡平率成反比,具有较平滑的线性度。、 表2-3-1典型震荡平率与相对湿度对应值2.3.3相对湿度检测系统方框图环境湿度变化HS1101电容变化构成的555震荡电路频率变化Atmega16捕捉平率并计算24温度检测模块设计2.4.1 DS18B20的性能特点1) 独特的单线接口仅需要一个端口引脚进行通信;2) 多个DS18B20可以并联在惟一的三线上,实现多点组网功能;3) 无须外部器件;4) 可通过数据线供电,电压范围为3.05.5V;5) 零待机功耗;6) 温度以3位数字显示;7) 用户可定义报警设置;8) 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9)
39、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 2.4.2 DS18B20的内部结构DS18B20采用3脚PR35封装,如图2-4-1所示;DS18B20的内部结构,如图3所示。图2-4-1 DS18B20封装 如表2-4-2DS18B20内部结构主要由四部分组成:1) 64位光刻ROM。开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因。64位闪速ROM的结构如下.表2-4-1 ROM结构8b检验CRC48b序列号8b工厂代码(10H) MSB LSB MSB LSB M
40、SB LSB图2-4-2 DS18B20内部结构2) 非挥发的温度报警触发器TH和TL,可通过软件写入用户报警上下限值。3) 高速暂存存储,可以设置DS18B20温度转换的精度。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PRAM。高速暂存RAM的结构为8字节的存储器,结构如图2-4-2所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。它的内部存储器结构和字节定义如图2-4
41、-3所示。低5位一直为,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式。 Byte0温度测量值LSB(50H)Byte1温度测量值MSB(50H)E2PROMByte2TH高温寄存器-TH高温寄存器Byte3TL低温寄存器-TL 低温寄存器Byte4配位寄存器-配位寄存器Byte5预留(FFH)Byte6预留(0CH)Byte7预留(IOH)Byte8循环冗余码校验(CRC)表24-2 DS18B20内部存储器结构1) 非挥发的温度报警触发器TH和TL,可通过软件写入用户报警上下限值。2) 高速暂存存储,可以设置DS18B20温度转换的精度。DS18B20出厂时该位被设置为0
42、,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率,如图1.4。TM R1R0 1 1 1 1 1图24-3 DS18B20字节定义由表2-4-4可见,分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据
43、格式以0.0625LSB形式表示。当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。 表2-4-5是一部分温度值对应的二进制温度数据。R1R0分辨率/位温度最大转向时间/ms00993.750110187.510113751112750表24-4 DS18B20温度转换时间表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000
44、 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H表24-5一部分温度对应值表续表2-4-5-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H3) CRC的产生 在64 b ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数2.4.3 DS18B20工作时序根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:1. 每一次读写之前都必须要对DS18B20进行复