资源描述
国家职业资格全国统一鉴定维修电工技师论文(国家职业资格二级)论文题目:环境监测系统姓名: 身份证号:320481199202171218准考证号:所在省市:江苏无锡所在单位:无锡技师学院 目目 录录目目 录录.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 晶振电路设计.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 LCD 12864 系列中文图形液晶显示模块的主要特性.312.6.3 原理图设计.33 I2.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参考文献参考文献.59 0摘摘 要要在日常生活或者工业现场,要营造一个安全舒适的环境,就必须对其环境的温度,湿度,以及当前环境中可燃气体含量的精密监测, 。本文论述了基于室内环境测控技术的硬件和软件的设计与实现。系统以 AVR 单片机 ATmega16 为硬件核心,通过实时采集和数据处理能够准确地监测环境,采用 12864 液晶辅助显示模块,显示当前环境的温度、湿度、可燃气体含量。并且用 PC 机作为上位机为系统,实现串口通信,文中重点讲述系统的软硬件结构和功能特点,着重阐述了信号采集处理、单片机及扩展电路的设计思路和实现方法。在目前的试用中,该系统能够可靠、稳定、具有推广应用价值。目前的试用中,该系统能够可靠、稳定、具有推广应用价值。 关键词关键词:温度传感器;湿度传感器;气体传感器;AVR 单片机。 1前前 言言数据采集是工农业生产过程中进行监控所必需的环节,本课题是对嵌入式技术与数据采集技术的应用,即用流行的 AVR 单片机平台实现数据的采集与显示。近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。目前 AVR 单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。AVR 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,AVR 单片机的应用如此广泛而又潜力,因而也不用质疑其生命力。本课题需要完成一个完整系统的设计,涉及到电子技术、传感器技术、计算机应用与控制技术等多学科知识,是一个硬软件相结合的设计性题目。本课题融知识性与趣味性于一体,提供了一个有力的了解小家电设计技术的平台,能提高检索文献资料的能力、电子系统设计的能力、实际动手的能力。而且可以通过这次设计,很好的掌握系统设计的工作流程、开发步骤;熟悉单片机开发的通用编程语言。 2第第 1 章章 系统概述系统概述本章分为三个部分,主要介绍本次设计的系统的主要设计原理,给出硬件选择以及软件设计的最终方案。1.1 系统设计主要原理系统设计主要原理系统由湿度传感器,温度传感器,气体传感器,显示单元,单片机构成,由于每种传感器应用的范围不一样,精度有高有底,价格有高有低。各种传感器产生的得的信号是不一样的,有电压大小,有的是电流大小,有的是频率的高低,有的传感器还是需要一定的通讯协议的,所以传感器的选型会导致硬件电路的复杂,设计应使使用的电源最少,通过单片机对各种传感器获得信号进行处理、计算,最终送去显示单元和串口,本地能够通过显示单元获取到当时当地的环境中的:湿度,温度,有害气体含量的数值。远程监控室能,也能通过串行通信获取到远处检测器所在的环境中是怎么样。能够让监控人员对各种情况及时的去处理。如图 1-1-1 是完成后的硬件图。 图 1-1-1 实际硬件图 3 上位机程序使用网络上共享的串口调试工具进行调试,如图上位机能在串口调试工具中获取环境的各项数值,如图 1-1-2. 图 1-1-2 串行通信图1.2 系统硬件设计方案系统硬件设计方案1.2.1 微控制器的选择微控制器的选择目前,再电子系统研究与设计中,常用的微控器有 MC51 单片机、PIC 单片机、AVR 单片机和 ARM 芯片。方案一:方案一:采用 ARM 作为微控器ARM 微处理器已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器 75以上的市场份额。但是,ARM 技术往往需要第三方工具、软件的支持,且 ARM 系列处理器很少集成片上硬件资源,实际产品成本方面,ARM 配置外设价格较高,PCB 版也好设计,往往还需要考虑信号的完整性等,因此,对于初学者来说,使用起来不是很方便。方案二:方案二:采用 PIC 单片机作为微控器PIC 单片机速度快,片内资源丰富,抗干扰能力强,价格便宜。但没有地址总线,不适宜做大系统,而且只能使用汇编指令,虽然筒单,但不适合写大程序。CPU 采用RISC 结构,分别仅有 33,35,58 条指令,采用 Harvard 双总线结构,运行速度快, 4低工作电压,低功耗,较大的输入输出直接驱动能力,一次性编程,小体积,适用于用量大、档次低、价格敏感的产品。方案三:方案三:采用 AVR 单片机作为微控器AVR 单片机采用的 RISC 优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。AVR 单片机的程序存储器和数据存储器是分离的,并且可对具有相同地址的程序存储器和数据存储器进行独立的寻址。在 AVR 单片机中,CPU 执行当前指令时取出将要执行的下一条指令放入寄存器中,从而可以避免传统 MCS51 系列单片机中多指令周期的出现。传统的 MCS51 系列单片机所有的数据处理都是基于一个累加器的,因此累加器与程序存储器、数据存储器之间的数据转换就成了单片机的瓶颈;在 AVR 单片机中,寄存器由 32 个通用工作寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了累加器的瓶颈效应,提高了系统的性能。综上所述,AVR 单片机与 51 单片机、PIC 单片机相比运行效率高很多、芯片内部的 Flsah、EEPROM、SRAM 容量较大、全部支持在线编程擦写、每个 I/O 口都可以以推换驱动的方式输出高、低电平,驱动能力强、内部资源丰富,一般都集成 AD、DA 模数转换器;PWM;SPI、USART、TWI、I2C 通信口;丰富的中断源等。现在比较流行的型号是 ATmega8/16。所以,本设计选用 ATmega16 单片机作为主控芯片。1.2.2 湿度传感器的选择湿度传感器的选择目前,市场上有许多类型的湿度传感器,其参数及适用场合等各不相同,现就几种常用的湿度传感器进行比较。方案一:方案一:采用 BQ8-CHR 系列湿度传感器BQ8-CHR 系列湿度传感器采用功能高分子膜涂敷在带有导电电极陶瓷衬底上,形成阻抗随相对湿度变化成对数变化的敏感部件,导电机理为水分子的存在影响高分子膜内部导电离子的迁移率。其具有稳定、低漂移、高精度、快速响应特性、高可靠,耐水性好等特点,具有很好的适应性。特征阻抗范围为,但是由于其工作电压为 1V AC(502KHz) ,而本次设计使用的均为直流电源,所以排除使用 BQ8-CHR 系列湿度传感器。方案二:方案二:采用 HS1101 湿度传感器 5用湿度传感器 HS1101 做成的电压输出湿度模块,高可靠性与长时间稳定性,在5VDC 供电时,0100%RH 对应输出 14VDC 线性电压,温度依赖性非常低;宽量程:0100%RH,工作温度范围宽;5VDC 恒压供电,1-4VDC 放大线形电压输出;抗静电,防灰尘,有效抵抗各种腐蚀性气体物质常温使用无需温度补偿;无需校准;电容与湿度变化 0.34pf/%RH;典型值 180pf55%RH;长期稳定性及可靠性,年漂移量 0.5%RH/年。这款湿度传感器的参数比较能适合本次设计,通常用于工业生产过程,本次设计选用HS1101 为本次设计的温度传感器。1.2.3 温度度传感器的选择温度度传感器的选择目前,市场上有许多类型的温度,其参数及适用场合等各不相同,现就几种常用的湿度传感器进行比较。方案一:方案一:PT100 热电阻PT100 铂电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、复现性和稳定性好等,被广泛用于中温(-200650)范围的温度测量中,但由于外围电路复杂,价很较贵,本次设计没有选用。方案二:方案二:数字温度传感器 DS18B20DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。这一部分主要完成对温度信号的采集和转换工作,由 DS18B20 数字温度传感器及其与单片机的接口部分组成。数字温度传感器 DS18B20 把采集到的温度通过数据引脚传到单片机的 P1.0 口,单片机接受温度并存储。此次设计使用到 DS18B20。1.2.4 气体传感器气体传感器方案:方案:气体传感器 MQ-2MQ-2 气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 6MQ-2 气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。1.2.5 显示方案的确定显示方案的确定LCD 和 LED 是目前普遍采用的两种显示技术。方案一:方案一:采用 LCD 显示技术LCD 是液晶显示屏的全称,主要有 TFT、UFB、TFD、STN 等几种类型的液晶显示屏。其主要特点是:低压应用,低驱动电压,固体化使用安全性和可靠性提高;平板化,又轻薄,节省了大量原材料和使用空间;低功耗,节省了大量的能源;品种多样,使用方便灵活、维修、更新、升级容易等许多特点。显示范围覆盖了从 1 英寸至 40 英寸范围内的所有显示器的应用范围以及投影大平面,是全尺寸显示终端;显示质量从最简单的单色字符图形到高分辨率,高彩色保真度,高亮度,高对比度,高响应速度的各种规格型号的视频显示器;显示方式有直视型,投影型,透视式,也有反射式。环保特性好,无辐射、无闪烁,对使用者的健康无损害。方案二:方案二:采用 LED 显示技术LED 是发光二极管(Light Emitting Diode)的英文缩写,是一种固态的半导体器件,它可以直接把电转化为光。LED 应用可分为两大类:一是 LED 单管应用,包括背光源 LED,红外线 LED 等;另外就是 LED 显示屏。目前,中国在 LED 基础材料制造方面与国际还存在着一定的差距,但就 LED 显示屏而言,中国的设计和生产技术水平基本与国际同步。LED 显示屏是由发光二极管排列组成的一显示器件。它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点。 由于本次设计需要显示中文所以选择了带字库的 12864 点阵液晶。 71.3 系统软件设计方案系统软件设计方案系统软件包括单片机应用软件和 PC 机应用软件。单片机应用软件主要实现定时数据采集、数字信号处理、存储、显示、通信处理等功能;PC 机应用软件主要是对进一步处理总站多路数据转发器传输过来的数据,提供友好的监测界面,实现串口通信,数据库保存、查询等功能。系统的主程序流程图如下图图 1-1 所示:开始初始化对湿度进行采样送 LCD 示监测系统运行图 1-3-1 系统主程序流程图发送至上位机对温度进行采样对气体进行采样1.3.1 微控器软件设计方案微控器软件设计方案常用的单片机编程语言是汇编和 C 语言。方案一:使用汇编语言 8汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言能够直接访问与硬件相关的存储器或 I/O 端口; 能够不受编译器的限制,对生成的二进制代码进行完全的控制;能够根据特定的应用对代码做最佳的优化,提高运行速度; 能够最大限度地发挥硬件的功能。但是还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:编写的代码非常难懂,不好维护; 很容易产生 Bug,难于调试;只能针对特定的体系结构和处理器进行优化;开发效率很低,时间长且单调;兼容性不好,与硬件关系非常紧密。因而不是很适合初学者的应用。方案二:使用 C 语言C 语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。指针是 C 语言的一大特色,可以说 C 语言优于其它高级语言的一个重要原因就是因为它有指针操作可以直接进行靠近硬件的操作,但是 C 的指针操作也给它带来了很多不安全的因素。但是对于本次设计来还说,C 语言具有以下优点:(1)简洁紧凑、灵活方便C 语言一共只有 32 个关键字,9 种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。(2)运算符丰富C 的运算符包含的范围很广泛,共有 34 个运算符。C 语言把括号、赋值、强制类型转换等都作为运算符处理。从而使 C 的运算类型极其丰富表达式类型多样化。(3)数据结构丰富 9C 的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。(4)C 是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。(5)C 语法限制不太严格,程序设计自由度大虽然 C 语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。(6)C 语言允许直接访问物理地址,可以直接对硬件进行操作因为既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,可以用来写系统软件。(7)C 语言程序生成代码质量高,程序执行效率高一般只比汇编程序生成的目标代码效率低 10 20%。综合比较之后,本次设计采用方案二,即使用 C 语言作为微控制器的编程语言。 10第第 2 章章 系统硬件设计实现系统硬件设计实现硬件是系统的载体与执行结构,硬件设计是本次设计的重点,主要设计传感器信号放大、采集、处理,显示处理,执行电路设计,系统供电等多个部分。本章分为 6节介绍系统的硬件设计实现。2.1 环境监测系统的组成结构环境监测系统的组成结构系统用时下流行且功能强大的 AVR 单片机来控制数据采集与显示模块,利用单片机采集环境温度、湿度、可燃气体气体含量值,进行存储和显示,并且可以使用 PC 机为上位机提供一个可视的操作界面,并实现串口通信,数据保存、查询、备份以及控制功能。系统整体结构方框图如下图图 3-1 所示:AVR 单片机(Mega16)室内环境RS232 通讯上位机图 2-1 系统方框图湿度检测模块温度检测模块气体检测模块电平转换模块LCD 显示模块串通口讯本电子湿度计系统模块由以下几个模块组成:湿度传感器模块,温度传感器模块, 11气体传感器模块,AVR 单片机主控制器,LCD 显示模块串,TTL 转 RS232 电平模块。2.2 主控制器系统设计主控制器系统设计2.2.1 ATmega16 简介简介ATmega16 单片机是 1997 年由 ATMEL 公司研发出的增强型内置 Flash 的 RISC 精简指令集高速 8 位单片机。该单片机具有 AVR 高性能、低功耗 RISC 结构,工作在 8MHz时具有 8MIPS 的性能,同时片内 16KB 的在线可编程 FLASH 存储器,可擦除 1000 次以上,并且集成了 512B 的 SRAM 和 512 B 在线可编程 EEPROM。另一个显著的特点是自带8 通道 10 位高精度的逐次逼近式 A/D 转换器,A/D 引脚与 PA 口的引脚两者复用,可以通过程序指定来加以区别应用。另外,它还拥有很宽的工作电压范围,可以在2.76V 之间正常运行,具备很强的适应性。AVR 单片机具有良好的集成性能,采用低功率、非挥发的 CMOS 工艺制造,除具有低功耗、高密度的特点外,还支持低电压的联机 Flash,EEPROM 写入功能。AVR 单片机还支持 Basic、C 等高级语言编程。采用高级语言对单片机系统进行开发是单片机应用的发展趋势。对单片机用高级语言编程可很容易地实现系统移植,并加快软件的开发过程。ATmega16 的主要性能参数及特性如下: 16K 字节可重擦写 Flash 闪存存储器,擦写寿命为 10000 次; 在 16MHZ 频率下速度为 16MIPS 的 8 位 RISC 结构单片机,内含硬件乘法器; 32 个可编程的 I/O 口,40 引脚 PDIP 封装,32 个通用寄存器; 全静态工作; 8 通道 10 位 AD 转换器,支持单端和双端差分信号输入,内带增益可编程运算放大器; 2 个 8 位定时/计数器,1 个 16 位定时/计数器,带捕捉、比较功能; 通过 JTAG 接口实现对 Flash、EEPROM、熔丝位和锁定位的编程; 两个可编程的串行 USART,可工作于主机/ 从机模式的 SPI 串行接口。 12ATmega16 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式:空闲方式停止 CPU 的工作,但允许 RAM、定时/计数器、串行通信口及中断系统继续工作;掉电方式保存 RAM 中的内容,但是振荡器停止工作并禁止其他所有部件工作到下一个硬件复位。2.2.2 引脚图及引脚介绍引脚图及引脚介绍ATmega16 的 PDIP 封装的引脚图见图 2-2。 图 2-2-1 引脚图VCCVCC 电源正 GNDGND 电源地端口端口 A(PA7A(PA7PA0)PA0) 端口 A 作为 A/D 转换器的模拟输入端。端口 A 为 8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口 A 处于高阻状态。端口端口 B(PB7B(PB7PB0)PB0) 端口 B 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口 B 处于高阻状态。端口端口 C(PC7C(PC7PC0)PC0) 端口 C 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还 13未起振,端口 C 处于高阻状态。如果 JTAG 接口使能,即使复位出现引脚 PC5(TDI)、PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口端口 D(PD7D(PD7PD0)PD0) 端口 D 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口 D 处于高阻状态。RESETRESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1XTAL1 反向振荡放大器与片内时钟操作电路的输入端。XTAL2XTAL2 反向振荡放大器的输出端。AVCCAVCC AVCC 是端口 A 与 A/D 转换器的电源。不使用 ADC 时,该引脚应直接与 VCC连接。使用 ADC 时应通过一个低通滤波器与 VCC 连接。AREFAREF A/D 的模拟基准输入引脚。2.2.3 单片机最小系统单片机最小系统电路设计电路设计在单片机硬件最小系统中,没有任何信号线的连接,只有电源到主板的电源连接,在判断的过程中通过电源指示灯及工作状态指示灯来判断这一核心组成部分是否可正常工作。ATmega16 单片机的最小系统如下图图 2-2-2 所示。 14AGND31X113X212RESET9PD2 (INT0)16PD3 (INT1)17PD4 (OC1B)18PD5 (OC1A )19PB0 (T0)1PB1 (T1)2PB2 (AIN0)3PB3 (AIN1)4PB4 (SS)5PB5 (M OSI)6PB6 (M ISO)7PB7 (SCK)8(ADC0) PA040(ADC1) PA139(ADC2) PA238(ADC3) PA337(ADC4) PA436(ADC5) PA535(ADC6) PA634(ADC7) PA733PC022PC123PC224PC325PC426PC527(TOSC1) PC628(TOSC2) PC729PD7 (TOSC2)21PD6 (ICP)20AVCC30AREF32PD1 (TXD)15PD0 (RXD)14GND11VCC10U0ATM E GA16_DIP40R610KVCCC622pFC722pFY27.3728M hzPA 0PA 1PA 2PA 3PA 4PA 5PA 6PA 7PC0PC1PC2PC3PC4PC5PC6PC7A REFG N DA V CCX 2X 1RES ETPD 7PD 6PD 5PB0PB1PB2PB3PB4PB5PB6PB7PD 0PD 1PD 2PD 3PD 4VCC图 2-2-2 单片机最小系统2.2.4 复位电路设计复位电路设计ATmega16 有 5 个复位源:(1)上电复位电源电压低于上电复位门限 VPOT 时,MCU 复位。上电复位(POR)脉冲由片内检测电路产生,POR 电路保证器件在上电时复位。VCC 达到上电门限电压后触发延迟计数器。在计数器溢出之前器件一直保持为复位状态。当 VCC 下降时,只要低于检测门限,RESET 信号立即生效。(2)外部复位引脚 RESET 上的低电平持续时间大于最小脉冲宽度时 MCU 复位。外部复位由外加于 RESET 引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度时即触发复位过程,即使此时并没有时钟信号在运行。当外加信号达到复位门限电压 VRST(上升沿)时,tTOUT 延时周期开始。延时结束后 MCU 即启动。(3)看门狗复位看门狗使能并且看门狗定时器溢出时复位发生。看门狗定时器溢出时将产生持续时间为 1 个 CK 周期的复位脉冲。在脉冲的下降沿,延时定时器开始对 tTOUT 记数。 15(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 复位寄存器置位,并引发 MCU 复位,并使 JTRF 置位。上电复位将使其清零,也可以通过写“0”来清除。本设计选用了最直接的复位形式,由于 AVR 单片机本身内部带有复位电路的优势,只需要接一个 10K 上拉电阻就可以完成复位电路的设计。为了可靠,可以加上一只0.1uF 的电容以消除干扰和杂波,如下图图 2-2-3 所示:RESET图图 2-2-32-2-3 单片机复位电路图单片机复位电路图S0RESETR010KC00.1uFD31N41482.2.5 晶振电路设计晶振电路设计单片机内部的各种功能电路绝大多数是由数字电路构成的。数字电路的工作过程,尤其是时序逻辑电路的工作过程,离不开时钟脉冲信号,即时间基准信号,每一步细微的动作都是在一个共同的时间基准信号驱动之下完成的。作为时基发生器的时钟振 16荡电路,为整个单片机芯片内部各个部分电路的工作提供系统时钟信号,也在为单片机与其他外接芯片之间的通信以及与其他数字系统或者计算机系统之间通信,提供可靠的同步时钟信号。AVR 单片机设计了 4 种类型的时基振荡方式可供选择:标准的晶体振荡器/陶瓷谐振器振荡方式 XT;高频的晶体振荡器/陶瓷谐振器振荡方式 HS(4MHz)以上;低频的晶体振荡器/陶瓷谐振器振荡方式 LP(32.768kHz) ;外接电容元件的阻容振荡方式RC。在本设计中,由于需要考虑到通信时的波特率的设置,所以选用能产生较精确时钟的晶体振荡器(7.3728MHz) 。晶振电路与单片机内部结构关系图如下图图 2-2-4 所示。为了由外部源驱动器件,当 XTAL1 被驱动时,XTAL2 不能连接,如下图 2-2-5 所示。XTAL2XTAL1GND外部时钟信号NC图 2-2-4 晶振电路设计 图 2-2-5 外部时钟驱动设置2.3 湿度传感器检测模块设计湿度传感器检测模块设计2.3.1 湿度传感器湿度传感器 HS1101 简介简介湿度传感器 HS1101 是基于独特工艺设计的电容元件,这些相对湿度传感器可以大批量生产。应用于办公室自动化,车厢内空气质量控制,家电,工业控制系统等。它有以下几个显著的特点:全互换性,在标准环境下不需校正长时间饱和下快速脱湿 17可以自动化焊接,包括波峰或水浸高可靠性与长时间稳定性专利的固态聚合物结构可用于线性电压或频率输出回路 图图 2-3-12-3-1:HS1101HS1101 实物照实物照快速反应时间HS1101 的简单物照图如图 2-3-1。 相对湿度在 0%100%RH 范围内;电容量由 162pF 变到 200pF,其误差不大于2%RH;响应时间小于 5s;温度系统为 0.04pF/。可见其精度是较高的。其湿度电容响应曲线如图 2-2: 200 190 180 170 电容电容 F图图 2-3-2:HS1101 湿度电容响应曲线湿度电容响应曲线HS1101 的一些常用参数如表 2-1:20 40 60 80 100 相对湿度相对湿度% 18表表 2-3-1:HS1101 常用参数常用参数参数符号参数值单位工作温度Ta-40100储存温度Tstg-40125供电电压Vs10Vac湿度范围RH0100%RH焊接时间=260t10S2.3.2 湿度传感器电路设计湿度传感器电路设计HS1101 电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。涉及如何将电容的变化量准确地转变为计算机易于接受的信号时,常用两种方法:一是将 HS1101 置于运放与阻容组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再 A/D 转换为数字信号;另一种是将 HS1101 置于 555振荡电路中,将电容值的变化转为与之呈反比的电压频率信号,可直接被计算机所采集。555 为必须 CMOS,这里选用的是 TLC555 集成电路 19在不同的湿度环境中,HS1101 可等效为可变电容,其置于 TLC555 路中构成震荡电路,其震荡平率的典型值表 2-3-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 位数字显示;图 2-3-3 HS1101 典型应用电路 207) 用户可定义报警设置;8) 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9) 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 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 MSB LSB 21内部电源探测位和单线端口位产生器暂存器下限触发上限触发温度传感器存储器和控制逻辑图 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-3 所示。低 5 位一直为,TM 是工作模式位,用于设置DS18B20 在工作模式还是在测试模式。 Byte0温度测量值 LSB(50H)Byte1温度测量值 MSB(50H)E2PROMByte2TH 高温寄存器- TH 高温寄存器Byte3TL 低温寄存器- TL 低温寄存器Byte4配位寄存器- 配位寄存器Byte5预留(FFH)Byte6预留(0CH)Byte7预留(IOH)Byte8循环冗余码校验(CRC) 22表 24-2 DS18B20 内部存储器结构1) 非挥发的温度报警触发器 TH 和 TL,可通过软件写入用户报警上下限值。2) 高速暂存存储,可以设置 DS18B20 温度转换的精度。DS18B20 出厂时该位被设置为 0,用户要去改动,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 字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以 0.0625LSB形式表示。当符号位 S0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位 S1 时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。 表 2-4-5 是一部分温度值对应的二进制温度数据。表 24-4 DS18B20 温度转换时间表R1R0分辨率/位温度最大转向时间/ms00993.750110187.510113751112750温度/二进制表示十六进制表示 23表 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 进行复位;2. 复位成功后发送一条 ROM 指令;3. 最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。复位要求主 CPU 将数据线下拉 500 微秒,然后释放,DS18B20 收到信号后等待1560 微秒左右后发出 60240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。其工作时序包括初始化时序、写时序和读时序,具体工作方法如图 2-4-4,2-4-5,2-4-6 所示。(1) 初始化时序+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H 24 图 2-4-4 初始化时序总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。应答脉冲使主机知道,总线上有从机设备,且准备就绪。主机输出低电平,保持低电平时间至少480us,以产生复位脉冲。接着主机释放总线,4.7K 上拉电阻将总线拉高,延时1560us,并进入接受模式,以产生低电平应答脉冲,若为低电平,再延时 480us12。(2) 写时序图 2-4-5 写时序 写时序包括写 0 时序和写 1 时序。所有写时序至少需要 60us,且在 2 次独立的写时序之间至少需要 1us 的恢复时间,都是以总线拉低开始。写 1 时序,主机输出低电平,延时 2us,然后释放总线,延时 60us。写 0 时序,主机输出低电平,延时60us,然后释放总线,延时 2us。(3) 读时序 25 图 2-4-6 读时序总线器件仅在主机发出读时序是,才向主机传输数据,所以,在主机发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。所有读时序至少需要 60us,且在 2 次独立的读时序之间至少需要 1us 的恢复时间。每个读时序都由主机发起,至少拉低总线 1us。主机在读时序期间必须释放总线,并且在时序起始后的 15us 之内采样总线状态。主机输出低电平延时 2us,然后主机转入输入模式延时 12us,然后读取总线当前电平,然后延时 50us.2.4.4 ROM 操作命令操作命令当主机收到DSl8B20 的响应信号后,便可以发出ROM 操作命令之一,这些命令如表2-4-6:ROM操作命令。指令约定代码功 能读 ROM33H读 DS18B20 ROM 中的编码符合 ROM55H发出此命令之后,接着发出 64 位 ROM 编码,访问单线总线上与该编码相对应的 DS18B20 使之作出响应,为下一步对该 DS18B20 的读写作准备搜索 ROM0F0H用于确定挂接在同一总线上 DS18B20 的个数和识别 64位 ROM 地址,为操作各器件作好准备跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS18B20 发温度变换命令, 26表 2-4-6 ROM 操作命令续表 2-4-6告警搜索命 令0ECH执行后,只有温度超过设定值上限或者下限的片子才做出响应温度变换44H启动 DS18B20 进行温度转换,转换时间最长为 500MS,结果存入内部 9 字节 RAM 中读暂存器0BEH读内部 RAM 中 9 字节的内容写暂存器4EH发出向内部 RAM 的第 3,4 字节写上、下限温度数据命令,紧跟读命令之后,是传送两字节的数据复制暂存器48H将 E2PRAM 中第 3,4 字节内容复制到 E2PRAM 中重调 E2PRAM0BBH将 E2PRAM 中内容恢复到 RAM 中的第 3,4 字节读 供 电方 式0B4H读 DS18B20 的供电模式,寄生供电时 DS18B20 发送“0” ,外接电源供电 DS18B20 发送“1”2.4.5 DS18B20 的测温流程的测温流程初始化DS18B20跳过 ROM匹配温度变换延时 1S跳过 ROM匹配Atmega16读暂存器图 2-4-7 DS18B20 测温流程适用于单片工作。 272.5 气体检测模块设计气体检测模块设计2.5.1 气体传感器气体传感器 MQ-2 简介简介本设计中采用的 MQ-2 型烟雾传感器属于二氧化锡半导体气敏材料,属于表面离子式 N 型半导体。当处于 200300C 温度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少, 从而使其电阻值增加。当与烟雾接触时,如果晶粒间界处的势垒受 到该烟雾的调制而变化,就会引起表而电导率的变化。利用这一点就可以 获得这种烟雾存在的信息。遇到可燃烟雾(如 CH4 等)时,原来吸附的氧脱附,而由可燃烟雾以正离子状态吸附在二氧化锡半导体表面;氧脱附放出电子,烟雾以正离子状态吸附也要放出电子,从而使二氧化锡半导体导带电子密度增加,电阻值下降。而当空气中没有烟雾时,二氧化锡半导体又会自 动恢复氧的负离子吸附,使电阻值升高到初始状态。这就是 MQ-2 型燃性烟雾传感器检测可燃烟雾的基本原理。MQ-2 型传感器的结构图如 图 2-5-1 所示,图 2-5-1MQ-2 型传感器的结构图其外观如图 2-5-2 28图 2-5-2 MQ-2 型传感器的外观2.5.2 MQ-2 型传感器的特性及主要技术指标型传感器的特性及主要技术指标(1) MQ-2 型传感器的一般特点 (a)MQ-2 型传感器对天然气、液化石油气等烟雾有很高的灵敏度,尤其对烷类烟雾更为敏感。 (b)MQ-2 型传感器具有良好的重复性和长期的稳定性。初始稳定, 响应时间短,长时间工作性能好。 (c)MQ-2 型传感器具有良好的抗干扰性,可准确排除有刺激性非可燃性烟雾的干扰信息,例如酒精和烟雾等。 (d)电路设计电压范围宽,24V 以下均可;加热电压 50.2V。 (2)MQ-2 型传感器的基本特性 (a)灵敏度特性 烟雾传感器在最佳工作条件下,接触同一种烟雾,其电阻值 RS 随气 体浓度变化的特性称之为灵敏度特性,用 K 表示。 K=RS / R0 (2-1) 式中,R0 为烟雾传感器洁净空气条件下的电阻值,RS 为烟雾传感器在一定浓度的检测烟雾中的电阻值。 虽然对于不同的烟雾,器件灵敏度特性 K 的值也会各有差异,但是它们都遵循同一规律,log RS = m logC + n (2-2)式中,m 为器件相对烟雾浓度变化的敏感性,又称烟雾分离能,对于 烟雾,m 值为 1/21/3;C 为检测烟雾的浓度。n 为与检测烟雾,器件材料有关,并随测试温度和材料中有无增感剂而有所不同。 (b)初期稳定特性 半导体烟雾传感器在不通电状态存放一段时间后,再通电时,器件并不能立即投入正常工作。这是因为烟雾传感器中的二氧化锡在不通电的状态下会吸附空气中的水蒸气,当再次通电时需要预热几分钟使水蒸气蒸发后,气敏电阻才能正常工作。再通电工作时气敏电阻值达到稳定时所需要的时间,定义为初期稳定时间。一般情况下, 29不通电时间越长,初期稳定时间也越长,当不通电存放时间达到 15 天左右时,初期稳定时间一 般需要 5 分钟左右。 (c)加热特性 半导体烟雾传感器一般要在较高的温度(200450C)下工作,所以需要对其加热。由于传感器一般工作在易燃易爆环境下,若加热丝直接与电源相接,当加热丝局部短路造成器件过热或放电时,可能引发事故。所以必须使用传感器生产厂家推荐的加热电压,使其工作在较安全的范围内。MQ-2 型烟雾传感器加热电压为 50.2V,加热电阻为 313?。当加热丝断路时,由于热惰性缘故,烟雾传感器的气敏特性并不立即消失,此时检测必出现较大的误差。为避免出现这种情况,并及时发现气敏元件的故障, 需要设计加热丝故障诊断报警电路。 (3)MQ-2 型传感器的特性参数 如图 2-5-3 所示 ,图 2-5-3 MQ-2 特性指标图图 2-5-4 为 MQ-2 灵敏度特性图 30 图 2-5-4 灵敏度特性图2.5.3 MQ-2 检测电路设设计检测电路设设计2.5.3 MQ-2 检测系统方框图检测系统方框图环境可燃气体含量变化MQ-2 内部敏感体电阻变化RL 两端电压变化Atmega16内部 AD采集电压并计算 312.6 12864 显示模块设计显示模块设计2.6.1 LCD12864 系列中文图形液晶显示模块的主要特性系列中文图形液晶显示模块的主要特性12864-15 系列中文图形液晶模块的特性主要由其控制器 ST7920 决定。ST7920 同时作为控制器和驱动器12864 系列产品硬件特性如下:提供 8 位,4 位并行接口及串行接口可选。并行接口适配 M6800 时序 自动电源启动复位功能。内部自建振荡源。6416 位字符显示 RAM(DDRAM 最多 16 字符4 行,LCD 显示范围 162 行) 。2M 位中文字型 ROM(CGROM) ,总共提供 8192 个中文字型(1616 点阵) 。16K 位半宽字型 ROM(HCGROM),总共提供 126 个西文字型(168 点阵) 。6416 位字符产生 RAM(CGRAM) 。图 2-6-1 为 12864 液晶的实物:图2-6-1 12864液晶实物2.6.2 12864液晶各引脚功能 32图2-6-2 12864引脚功能图2.6.3 原理图设计原理图设计图2-6-3 12864部分原理图2.6.4 12864基本指令说明 33表 2-6-1 指令表 1表 2-6-2 指令表 22.6.5 8 位并行模式下时序位并行模式下时序 34 写时序如图图 2-6-4 写数据时序读时序图 2-6-5 写数据时序2.6.6 字符地址表字符地址表 35 表 2-6-3 字符地址表2.6.7 驱动驱动 LCD12864 流程图流程图LCD12864 点阵液晶初始化过程如图 2-6-6 所示图 2-6-6 初始化流程 3627 串口通讯模块设计串口通讯模块设计2.7.1 串口通讯简介串口通讯简介RS-232(ANSI/EIA-232 标准)是 IBM-PC 及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者 Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中 RS-232 的传输长度或者速度常常超过标准的值。RS-232只限于 PC 串口和设备间点对点的通信。RS-232 串口通信最远距离是 50 英尺。2.7.2 串口通讯硬件设计串口通讯硬件设计由于电脑的逻辑电平与 Atmega16 的逻辑电平不一样,电脑的正逻辑电平为-12V负逻辑电平为+12V。与 TTL 电平是不兼容的,必需加电平转换芯片。本设计使用的是 MAX232MAX232 芯片是美信公司专门为电脑的 RS-232 标准串口设计的接口电路,使用+5v单电源供电。其主要作用是用来将普通 5V 的 TTL 电平转为 10V 串口通信电平。内部结构基本可分三个部分:第一部分是电荷泵电路。由 1、2、3、4、5、6 脚和 4 只电容构成。功能是产生+12v 和-12v 两个电源,提供给 RS-232 串口电平的需要。第二部分是数据转换通道。由 7、8、9、10、11、12、13、14 脚构成两个数据通道。其中 13 脚(R 1IN)、12 脚(R1OUT)、11 脚(T1IN)、14 脚(T1OUT)为第一数据通道。8 脚(R2IN)、9 脚(R2OUT)、10 脚(T2IN)、7 脚(T2OUT)为第二数据通道。 TTL/CMOS 数据从 T1IN、T2IN 输入转换成 RS-232 数据从 T1OUT、T2OUT 送到电脑DP9 插头;DP9 插头的 RS-232 数据从 R1IN、R2IN 输入转换成 TTL/CMOS 数据后从R1OUT、R
展开阅读全文