




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学电子信息工程学院毕业设计(论文)第1章 绪论1.1 引言随着现代社会的高速发展,对环境参数的测量监控涉及到工农业生产、国防建设、科学实验、人们生活等各个方面。所以对标准测量室内环境要求越来越高,尤其在人们的日常家庭生活中。人们会需要一个适宜的温度,不是太冷也不是太热。同时,人们对室内空气质量的要求更显重要。抽烟会使室内烟雾弥漫,使用液化气也难免会有泄露,这些气体都是对人体有害的。因此,把握室内的温度、湿度、空气质量的度,来进行妥善调节,从而避免由于这些环境因素的超标对人体造成的伤害就显得尤为重要。为了更好的对这些环境参数进行有效快速的测量,传统的人工控制已经不能满足要求。随着传感器技术的不断发展,单片机的应用不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。现代家庭环境监测中,对家庭环境的温湿度和有害气体浓度会有一定的要求,房主要随时能观看到房间里的温湿度。当温湿度超过或者低于一定的范围的时候,人会感觉到不舒服,有害气体浓度超过一定的值的时候,会对人们的身体健康造成危害。这就需要对家庭环境进行监测,使家庭环境达到人们要求的范围,从享受到到健康舒适的生活。采用51单片机来对这些参数进行控制,具有控制方便、组态简单和灵活性大等优点,从而能大大提高人们的生活质量。本课题要求根据家庭要求的环境参数,设计一个家用环境监测系统,该系统应以单片机为核心,实现对家庭环境的实时监测。1.1.1 家庭环境监测系统国内外发展趋势在过去,室内的温湿度主要靠我们的身体感知来感受,对温度的高低没有确切的数值,室内的气体主要靠我们的嗅觉来感受。但随着社会的发展,我们对这些参数的精度要求也在不断提高,我们要知道温湿度的确切值,要知道有害气体是否超标。先是温度计、湿度计和气体检测仪的发明,给我们的生活带来了很大的方便,但是温度计和湿度计在显示上不够明了,精度不够,一些气体检测仪只是仅仅能够检测气体浓度,却不能对有害气体浓度的超标进行报警。所以现在市面上有很多以数码管显示,蜂鸣器报警的环境监测器材问世。目前,国内外开发出了一些基于单片机计算机的环境监测设备,但是价格比较高,其操作系统均为英文,普及性不强。环境监测的核心部分是传感器,所以环境监测的发展主要体现在传感器的发展上,根据传感器在信号输出方式上的不同,可以分为模拟传感器和数字传感器。下面就模拟输出温湿度传感器和数字输出温湿度传感器进行简单介绍。1、模拟输出温湿度传感器模拟输出温湿度传感器信号采用模拟电压输出方式,具有精度高,可靠性高,一致性好,且已带温度补偿,稳定性好,使用方便及价格低廉等特点,适合对质量,成本要求比较苛刻的企业使用。该传感器亮点在于功耗低、体积小、单片机校准线性输出、信号传输距离长,试用于暖通空调,加湿器,除湿机,大气环境监控,测量仪表等应用领域。2、数字输出温湿度传感器对于更紧密控制能力、更高精度和更大分辨率的需求带动了数字温度传感器的发展。被测温度信号从敏感元件接收的非电量到转换为微处理器可处理的数字信号,环节较多,而且模拟信号在长距离传输的过程中,受到的干扰较多,误差较大。因此,从非电量转换到数字信号,一般将其处理过程集成在单片IC器件体内部,这样就形成了功能强大,精确的数字传感器。数字传感器与模拟传感器相比,由于采取高集成度设计和数字化处理,在可靠性、抗干扰能力以及器件微小化方面都有明显的优点,但受半导体器件本身限制,数字传感器还存在以下不够理想的地方:(1)数字传感器测量的是其自身管芯的温度,并且管芯温度接近于引线温度,所以每个传感器必须安置在与被监视环境有良好热耦合的位置。实际应用时会出现传感器所测温度值要小于环境温度,需要加修正值。(2)数字传感器对温度转换为数字量的时间都较长。(3)测温范围不宽(均在-40至+120)。(4)数字传感器的传递函数存在有一定的非线性,可由软件校正。不过,数字传感器最好在常温下应用,超过常温范围它的误差较大。所以数字传感器目前还不适用于对温度变化敏感、环境恶劣的行业。(5)眼下,数字传感器的价格比模拟传感器的高,作大范围推广应用时有一定的难度。由于它们各自有其优缺点,又各有自己的应用范围和市场,数字传感器和模拟传感器会并存很长一段时间,但随着材料科学和半导体技术的深入发展与合作,数字传感器测温精度进一步提高,测温范围拓宽,生产成本和销售价格不断降低,其发展趋势必将取代模拟传感器。1.1.2 设计的目的和意义现代家庭环境监测中,对家庭环境的温湿度和有害气体浓度会有一定的要求,房主要随时能观看到房间里的温湿度。当温湿度超过或者低于一定的范围的时候,人会感觉到不舒服,有害气体浓度超过一定的值的时候,会对人们的身体健康造成危害。这就需要对家庭环境进行监测,使家庭环境达到人们要求的范围,从享受到健康舒适的生活。由于家庭里空间较大,并且每个房间内要求的温度不同,所以就得实现多点采集。由于环境参数对于人们生活的重要性,这就要求能有一种有效的、低成本的仪表来实现监测控制功能,使得房主能方便有效地进行房间的监控操作(温湿度设定,实时显示,超标报警)。利用单片机技术对家庭环境进行监控,用户可以方便地构造自己所需要的数据采集系统,在任何时候观察家庭环境的实时信息,提高了用户的生活质量和舒适度,获得了家庭环境的实时管理,实现自动化,智能化。微机测量是微机设计的第一步,是微机测量技术的现场部分,即测量家庭环境中的环境参数,并使用单片机对测量的数据进行处理。第2章 方案设计在对课题进行了深入了解的基础上,形成了最终的设计方案,本章的内容为了对本设计方案进行较为详细的说明。本次设计的家用环境监测系统主要由以下几部分组成:温湿度传感器、单片机核心控制电路、键盘、温湿度显示电路和报警电路、有害气体浓度报警电路。2.1 方案概述本次设计的目的是设计一种基于单片机控制的家用环境监测系统。本系统属于多功能系统,可以设定温湿度和有害气体浓度的报警上下限,当温度不在设置范围内时,则报警提示;当有害气体浓度超过设定值时,则报警提示。该设计控制器使用单片机。本监测系统由温湿度传感器电路、单片机系统、温湿度显示电路、有害气体浓度监测的A/D转换电路、键盘、报警电路构成。其基本工作原理:温湿度传感器内部的温度敏感元件和湿度敏感元件分别将温度和湿度转换成电信号,该信号首先进入内部的微弱的信号放大器进行放大,然后进入一个14位的内部A/D转换器,最后经过二线串行数字接口输出数字信号传给单片机系统,单片机系统根据显示需要对数字信号进行处理,再送入液晶显示系统,温湿度值便在液晶屏上显示出来了。同理,有害气体浓度检测电路接收到电信号,经过A/D转换器将其转换成数字信号传给单片机系统,由单片机系统判断是否超过设定值,超过则报警。总体设计方案框图如图2.1所示:温湿度传感器AT89C51单片机气体传感器键盘显示电路报警电路A/D转换复位电路图2.1 总体设计方框图2.2 设计的总体思路本次设计要实现对家庭环境的监测,首先选择温湿度采集部分、有害气体浓度采集部分、单片机控制部分和显示部分,同时还要设计按键部分和报警部分,根据设计要求与设计思路,确定该系统的具体设计方案。2.2.1 单片机的选择现今社会单片机发展很迅猛,出现很多种类单片机如:STC单片机、PIC单片机、PHLIPIS 51PLC系列单片机(51单片机)等;STC单片机:STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快812倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强。适合用于精密仪器和加密仪器但相对家用其性价比太低成本高,很多功能都用不到。 PIC单片机:是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片。适合用于抗干扰领域,相对于家用其成本也是很高,也没法突出其特性如果用有点暴敛天物。PHLIPIS 51PLC系列单片机(51单片机):ATMEL公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机。相对AT90来说AT89功能简单但完全能达到家用的功能要求,而AT90的性价比就有点低。所以选择了AT89系列。AT89C51 有40个引脚,4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。AT895C51有PDIP、TQFP及PLCC等三种封装形式,以适应不同产品的需求。其外形及引脚排列如图2.2所示。图2.2 at89c51芯片模型主要功能特性: 1、兼容MCS51指令系统。2、32个双向I/O口。3、2个16位可编程定时刚计数器中断。4、 2个串行中断。 5、 2个外部中断源。6、 2个读写中断口线。7、低功耗空闲和掉电模式。2.2.2 温湿度传感器的选择现在的传感器很多,考虑了两种传感器:一种是使用铂电阻温度传感器采集温度,湿敏电阻采集湿度,再经由A/D转换器转换成单片机能够处理的数字信号,然后送到单片机中进行处理变换后,最后将温湿度值显示在显示器上并判断是否超限。其中铂电阻可测200到850,但其中需要A/D转换,而且连线时占用的I/O口过多。另一种是采用SHT11温湿度传感器,它是瑞士Sensirion公司推出的数字温湿度传感器,该传感器高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高,可以提供温度补偿的湿度测量值和高质量的露点计算功能,并且可根据实际要求通过简单的编程实现8-12位的数字值读数方式。其外形及引脚排列如图2.3所示。图2.3 SHT11芯片模型SHT11的性能特点如下: 1、全量程标定,两线数字输出。2、测量范围广;湿度测量范围:0100%RH;温度测量范围:-40+120。3、测量精度高;湿度测量精度:3%RH:温度测量精度:0.4。4、响应时间短;响应时间:4s。5、低功耗,尺寸小,可完全浸没。6、提供温度补偿的湿度测量值和高质量的露点计算功能。通过比较,可以看出使用SHT11温室传感器比用铂电阻温度传感器和湿敏电阻方便很多,故选择SHT11作为此次设计的温湿度传感器。2.2.3 A/D转换器的选择在工业控制和智能化仪表中,常用单片机进行实时控制及实时数据处理。单片机加工的信息都是数字量,而被控制或测量对象的有关参量往往是连续变化的模拟量,如温度、压力、流量等,通过传感器将这些信号转成模拟信号。单片机要处理这种信号,首先必须将模拟量转换成数字量,这一转换过程就是模/数转换,现实的模/数转换的设备称为A/D转换器或ADC。A/D转换电路种类很多,目前在实用、教学方面使用较多的两种A/D转换器是ADC0809和TLC1543。在选择A/D转换器时,主要考虑以下的一些技术指标:转换时间和转换频率、量化误差与分辨率、转换精度、接口形式等。目前,较为流行的A/D转换器很多都采用了串行接口,这使得这类芯片与单片机的硬件连接非常简单。出于成本考虑,本次的设计采用串行接口的TLC1543而非并行接口的ADC0809。下面将简单介绍一下TLC1543。图2.4是TLC1543的引脚示意图。图2.4 TLC1543芯片模型TLC1543是由TI公司开发的开关电容式A/D转换器,该芯片具有如下特点:10位精度、11通道、三种内建的自测模式、提供EOC(转换完成)信号等。该芯片与单片机的接口采用串行接口方式,引线很少,与单片机连接简单。其中AIN0AIN10是11路输入,REF+和REF-分别是参考电源的正负引脚,使用时一般将REF-接到系统的地,达到一点接地的要求,以减少干扰。其余引脚是TLC1543与CPU的接口,其中CS为片选端,如不需片选,可直接接地。CLK是芯片的时钟端,ADDR是地址选择端,SDO是数据输出端,这三根引脚分别接到CPU的三个I/O端即可。EOC用于指示一次A/D转换已完成,CPU可以读取数据,该引脚是低电平有效,根据需要,该引脚可接入CPU的中断引脚,一旦数据转换完成,向CPU提出中断请求。此外,也可以将该引脚接入一个普通的I/O引脚,CPU通过查询该引脚的状态来了解当前的状态,甚至该引脚也可以不接,在CPU向TLC1543发出转换命令后,过一段固定的时间去读取数据即可。2.2.4 显示方式的选择LED是发光二极管Light Emitting Diode的英文缩写。LED应用可分为两大类:一是LED单管应用,包括背光源LED,红外线LED等;另外就是LED显示屏,目前,中国在LED基础材料制造方面与国际还存在着一定的差距,但就LED显示屏而言,我国的设计和生产技术水平基本与国际同步。LED显示屏是由发光二极管排列组成的一种显示器件。发光二极管是由半导体发光材料做成的PN结,只要在发光二极管两端通过正向电流5-20mA就能达到正常发光,发光颜色通常有红、绿、黄、白等颜色。单个发光二极管通常是通过亮、灭来指示系统运行状态和用快速闪烁来报警。它采用低电压扫描驱动,具有:耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点。通常所说的LED数码管显示器由7个发光二极管组成,因此也称之为七段LED显示器,显示器中还有一个圈点型发光二极管,用于显示小数点。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LCD显示器的原文是Liquid Crystal Display,取每字的第一个字母组成。其工作原理就是利用液晶的物理特性:通电时排列变得有序,使光线容易通过;不通电时排列混乱,阻止光线通过。 LCD的优点主要包括零辐射、低功耗、散热小、体积小、图像还原精确、字符显示锐利等。 通过比较,LED与LCD有着根本的区别,首先是发光光源的不同,其次是显示效果的区别,LCD可显示精致画面,LED却不能。由于本设计应用于家庭环境,所以最好不要有辐射,不改变周围温度并且还要直观的多显示信息等。因此选择LCD。图2.5是LCD的引脚示意图。图2.5 LCD芯片模型其中D0D7为8位双向数据线,与单片机的I/O接口相连;VSS为电源地,VDD接5V正电源;VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”;RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器;RW为读写信号线,高电平时进行读操作,低电平时进行写操作,当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读信号,当RS为高电平RW为低电平时可以写入数据;E为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。2.2.5 按键的选择本次设计中设置有参数设置部分,此部分由按键输入。常用的按键有独立式按键和行列式按键。独立式按键就是各键相互独立,每个按键各接一根输入线,通过检测输入线的电平状态可以很容易地判断哪个按键被按下。在按键数目较多时,独立式按键电路需要较多的输入口线且电路结构繁杂,故此种按键适用于按键较少或操作速度较高的场合。独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。即一个按键对应着一个端口输入,每一个按键都有一个按键电路来判断其是否按下。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。行列式按键,也称矩阵式按键,用于按键数目较多的场合,它由行线和列线组成,按键位于行,列的交叉点上。在按键数目较多的场合,行列式按键与独立式按键相比,要节省很多的I/O口线。由于此次设计需要设置参数上下限,需要输入对应的数字,需要一个类似手机键盘的输入系统,因此选择行列式4x3按键。对于一组键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解是否有按键输入并检查是哪一个键按下,通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。2.2.6 设计语言的选择软件设计的主要任务就是对单片机的控制程序,实现课题所要求的各项功能。汇编语言作为单片机课程学习时所强化的一门语言,由于时序上很严谨,便于计算运行时间等优点,曾经广泛使用。但是随着单片机开发技术的不断发展,目前越来越多的人从使用汇编语言转向使用高级语言进行开发工作,尤以C语言为主,目前市场上常见的几种单片机均有C语言开发环境。下面简单介绍一下汇编语言和C语言。汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用表示符号表示指令操作数。利用汇编语言编写程序的主要优点是可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序。汇编语言有以下特点:直接和简捷,可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等,目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。C语言适用范围大。适合于多种操作系统,也适用于多种机型。C语言对编写需要硬件进行操作的场合也明显优于其它语言。 综合考虑,C语言对我们以后的学习和工作有很大的帮助,所以,最终决定用C语言完成本次设计的软件工作。第3章 硬件设计根据单片机对家庭环境监测要实现的功能,设计了基于ATMEL公司的AT89C51芯片的室内监测系统。这是一种低成本的利用单片机I/O口实现的温湿度、有害气体浓度检测电路。整个系统硬件部分包括温湿度检测系统、A/D转换、单片机、I/O设备、按键系统、报警系统等。温湿度控制部分用SHT11温湿度传感器、AT89C51单片机及LCD显示的硬件电路完成对家庭环境的实时监测及显示。3.1 系统的硬件简介硬件大致构成:核心控制器件AT89C51,温湿度传感器SHT11,A/D转换器TLC1543,显示器LCD1602,键盘,显示及报警电路。3.1.1 硬件设计思想本设计是以AT89C51为单片机作为控制核心,提出了一种基于温湿度传感器SHT11、A/D转换器TLC1543的家庭环境测控系统。单片机通过实时监控温湿度和有害气体浓度的变化,通过LCD1602字符型液晶显示温湿度的数值,当温湿度或者有害气体浓度值超出所设定的值时,报警器开始报警,从而实现对环境参数的管理和控制。这种测量系统具有成本低廉、传感精度高、系统稳定、易于管理等优点。3.2 核心控制器件AT89C51AT89C51 有40个引脚,4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。AT895C51有PDIP、TQFP及PLCC等三种封装形式,以适应不同产品的需求。主要功能特性: 1、兼容MCS51指令系统。2、32个双向I/O口。3、2个16位可编程定时刚计数器中断。4、 2个串行中断。 5、 2个外部中断源。6、 2个读写中断口线。7、低功耗空闲和掉电模式。AT89C51引脚如图3.1所示。图3.1 AT89C51引脚图概述:AT89C52为40 脚双列直插封装的8 位通用微处理器,主要管脚有:XTAL1(19 脚)为接外部晶体的一个引脚,该引脚内部是一个反相放大器的输入端,如果采用外接晶体振荡器,该引脚应该接地。XTAL2(18 脚)接外部晶体的另一端,该引脚内部接至内部反相放大器的输出端,若采用外部时钟振荡器时,该引脚接收时钟震荡的信号,即把此信号直接接到内部时钟发生器的输入端。RESET(9 脚)为复位输入端口,高电平有效,外接电阻电容组成的复位电路,当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE(30脚)为地址锁存信号,当单片机上电正常工作后,ALE引脚不断输出正脉冲信号。当单片机访问外部存储器时,ALE输出信号的负跳沿作用单片机发出的低8位地址的锁存控制信号。PSEN(29脚)为程序存储器允许输出控制端,在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿作为读外部程序存储器的选通信号。EA(31脚)为程序存储器选择控制端,当EA为高电平时,单片机访问片内程序存储器,当EA为低电平时,单片机则只访问外部程序存储器。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义。P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口,P1的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能。具体请参见表3.1。表3.1 P3端口引脚兼用功能表P3引脚兼用功能P3.0串行通讯输入(RXD)P3.1串行通讯输出(TXD)P3.2外部中断0(INT0)P3.3外部中断1(INT1)P3.4定时器0输入(T0)P3.5定时器1输入(T1)P3.6外部数据存储器写选通输出(WR)P3.7外部数据存储器读选通输出(RD)3.2.1 AT89C51单片机最小系统设计单片机最小系统是指能维持单片机运行的最简单的配置系统。本次设计单片机最小系统以AT89C51为核心,配以一定的外围电路和软件,实现单片机的最小系统功能。AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器,引脚X1和X2分别是该放大器的输入端和输出端,这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体及电容接在放大器反馈回路中构成并联振荡电路。对外接电容虽然没有严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。CPU振荡器采用了12MHz的石英晶体,33pF的电容。AT89C51单片机最小系统电路图如图3.2所示。图3.2 AT89C51组成的最小系统电路图复位电路采用自动上电复位和按键手动复位相结合的复位电路接法,即在Vcc和RST端接一个容量为10F的电解电容,其两端并接一个轻触按钮,利用RESET内部复位下拉电阻便构成复位电路。这种接法不仅可以在上电时自动复位,也可以在程序运行时手动进行复位,只需按下复位电路中的复位键即可。上电自动复位是通过外部复位电路的电容充电来实现的,当电源VCC接通时只要电压上升时间不超过1ms,就可以实现自动上电复位。而手动的好处在于能避免死机时关机复位。其复位过程为:接通电源瞬间,电容C1上的电压很小,RST端上的电压接近电源电压,在电容C1充电过程中,RST端电位逐渐下降,当RST端电位小于某一数值后,CPU脱离复位状态;当按钮按下时,电容通过R1放电,当电容放完电后,RST端的电位由VCC电压决定。因此RST为高电平,CPU进入复位状态,松手后,电容C1开始充电,RST端电位下降,CPU脱离复位状态。3.2.2 SHT11工作原理SHT11是瑞士Sensirion公司推出的一款数字温湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。其主要特点如下:高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上;提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;测量精度可编程调节,内置A/D转换器(分辨率为812位,可以通过对芯片内部寄存器编程米选择);测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能;封装尺寸超小(7.62 mm5.08mm2.5 mm),测量和通信结束后,自动转入低功耗模式;高可靠性,测量时可将感测头完全浸于水中。SHT11引脚图如图3.3所示。图3.3 SHT11引脚图SHT11引脚功能表如表3.2所示。表3.2 SHT11引脚功能表序号名称引脚功能描述1GND地信号2DATA串行数据双向接口3SCK串行时钟输入接口4VDD可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地微处理器是通过二线串行数字接口与SHT11进行通信的。通信协议与通用的I2C总线协议是不兼容的,因此需要用通用微处理器I/O口模拟该通信时序。微处理器对SHT11的控制是通过5个5位命令代码来实现的,命令代码的含义如表3.3所列。 表3.3 SHT11控制命令代码命令代码含义00011测量温度00101测量湿度00111读内部状态寄存器00110写内部状态寄存器11110复位命令,使内部状态寄存器恢复默认值,下一次命令前至少等待11ms其他保留下面介绍一下SHT11的命令顺序及命令时序。 (1)传输开始初始化传输时,应发出“传输开始”命令,具体为SCK是高电平,DATA由高电平变为低电平,并在下一个SCK为高时将DATA升高。接着传输开始下一个命令包含三个地址位(目前只支持“000”)和5个命令位,通过DATA脚的ACK(确认字符)位处于低电位表示SHT11正确接收到命令。(2)连接复位顺序如果与SHT11传感器的通讯中断,下列信号顺序会使串口复位:当使DATA线处于高电平时,出发SCK9次以上(含9次),并发一个前述的“传输开始”命令。(3)温湿度测量时序当发出了温(湿)度测量命令后,控制器就要等到测量完成后才开始动作。使用8/12/14位的分辨率测量分别需要大约11/55/210ms。为表明测量完成,SHT11会使DATA为低电平,此时控制器必须重新启动SCK,然后SHT11传送两字节测量数据与1字节CRC校验和到控制器,控制器必须通过使DATA为低来确认每一字节,通讯在确认CRC数据位后停止。如果没有用CRC-8校验和,则控制器就会在测量数据LSB后,保持SCK为高时停止通讯。SHT11在测量和通讯完成之后会自动返回睡眠模式。需要注意的是,为使SHT11温升高低于0.1,则此时工作频率不能大于15%(如:12位精度时,每秒最多进行3次测量)。(4)加热控制将传感器芯片中的加热开关接通,传感器温度大约增加5,加热用途如下:其一,通过对启动加热器前后的温、湿度进行比较,可以正确地区别传感器的功能;其二,在相对湿度较高的环境下,传感器可以通过加热来避免冷凝。3.2.3 TLC1543工作原理TLC1543是由TI公司开发的开关电容式A/D转换器,该芯片具有如下特点:10位精度、11通道、三种内建的自测模式、提供EOC(转换完成)信号等。该芯片与单片机的接口采用串行接口方式,引线很少,与单片机连接简单。其中AIN0AIN10是11路输入,REF+和REF-分别是参考电源的正负引脚,使用时一般将REF-接到系统的地,达到一点接地的要求,以减少干扰。其余引脚是TLC1543与CPU的接口,其中CS为片选端,如不需片选,可直接接地。CLK是芯片的时钟端,ADDR是地址选择端,SDO是数据输出端,这三根引脚分别接到CPU的三个I/O端即可。EOC用于指示一次A/D转换已完成,CPU可以读取数据,该引脚是低电平有效,根据需要,该引脚可接入CPU的中断引脚,一旦数据转换完成,向CPU提出中断请求。此外,也可以将该引脚接入一个普通的I/O引脚,CPU通过查询该引脚的状态来了解当前的状态,甚至该引脚也可以不接,在CPU向TLC1543发出转换命令后,过一段固定的时间去读取数据即可。TLC1543的引脚图如图3.4所示。图3.4 TLC1543引脚图TLC1543的工作时序:其工作过程分为两个周期:访问周期和采样周期。工作状态由CS使能或禁止,工作时CS必须置低电平。CS为高电平时,I/O CLOCK、ADDRESS被禁止,同时DATA OUT为高阻状态。当CPU使CS变低时,TLC1543开始数据转换,I/O CLOCK、ADDRESS使能,DATA OUT脱离高阻状态。随后,CPU向ADDRESS端提供4位通道地址,控制14个模拟通道选择器从11个外部模拟输入和3个内部自测电压中选通1路送到采样保持电路。同时,CLK端输入时钟时序,CPU从DATA OUT端接收前一次A/D转换结果。I/O CLOCK从CPU接受10个时钟长度的时钟序列。前4个时钟用4位地址从ADDRESS端装在地址寄存器,选择所需的模拟通道,后6个时钟对模拟输入的采样提供控制时序。模拟输入的采样起始于第4个I/O CLOCK的下降沿,而采样一直持续6个I/O CLOCK周期,并一直保持到第10个I/O CLOCK的下降沿。转换过程中,CS的下降沿使DATA OUT引脚脱离高阻状态并且启动一次I/O CLOCK的工作过程。CS的上升沿终止这个过程并在规定的延迟时间内使DATA OUT引脚返回高阻状态,经过两个系统时钟周期后禁止I/O CLOCK和ADDRESS端。3.3 温湿度测量电路本系统要求实现对室内温湿度的测量,在温湿度测量系统中,二线数字传感器SHT11因体积小、精度高、构成的系统结构简单等优点,应用越来越广泛。温湿度传感器SHT11将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上。该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的A/D转换器;最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在恒湿或恒温环境中进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。SHT11通过二线数字串行接口来访问,所以硬件接口电路非常简单。需要注意的地方是:DATA数据线需要外接上拉电阻,时钟线SCK用于微处理器和SHT11之间通信同步,由于接口包含了完全静态逻辑,所以对SCK最低频率没有要求;当工作电压高于4.5V时,SCK频率最高为10 MHz,而当工作电压低于4.5 V时,SCK最高频率则为1 MHz。硬件连接如图3.5所示。图3.5 温湿度测量电路图3.4 LCD1602内部结构及工作原理 LCD内部结构:由CGRAM(自建字型产生器)、DDRAM(数据显示存储器)、CGROM(内含字型产生器)、指令寄存器、数据寄存器、地址计数器、指令译码器等组成。 LCD显示原理:利用旋光效应对光进行偏转,再利用偏振片滤去不需要透过光的相应像素,从而实现图像显示。 LCD驱动原理:分成两大步,即写指令,写数据,其中写数据之前要找到显示的位置。本实验所采用的液晶型号为LCD1602A。它位数多,可显示32位,32个数码管体积相当庞大了,显示内容丰富,可显示所有数字和大、小写字母,程序简单,如果用数码管动态显示,会占用很多时间来刷新显示,而LCD1602A自动完成此功能。1602A采用标准的16脚接口如图3.6所示。图3.6 LCD1602引脚图第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度(建议接地,弄不好有的模块会不显示)第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第1516脚:空脚(有的用来接背光)1602A液晶模块内部的字符发生存储器(CGROM)已经存储了不同的点阵字符图形,这些字符有,阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,其中数字与字母同ASCII码兼容。其内部还有自定义字符(CGRAM),可用于存储自己定义的字符。显示电路电路图如图3.7所示。图3.7 显示电路电路图3.5 按键及报警电路本次设计的温度报警上下限可以由开关和按键来设定,当按下S2开关时,LCD屏跳转显示输入温度上下限的画面,此时可以通过行列式键盘输入需要设定的上下限的数值,当设置完温度上下限之后,画面会自动跳转到设定湿度上下限的画面,同理设置完湿度上下限后,画面会跳转回到温湿度传感器上显示的测量数值。若此时显示的温湿度数值不在设定范围之内,LED灯会自动亮起提示报警。而有害气体浓度的上限设定则在程序中完成。TLC1543是一个10位精度的A/D转换器,与TLC1543连接的气体传感器用一个连接5V电源的10K滑动变阻器代替,通过编程使得当加在TLC1543上的电压超过1.25V时,LED灯点亮报警。按键及报警电路如图3.8所示。图3.8 按键及报警电路图其中S1为单片机复位开关,用于整个单片机的复位;S2为设置温湿度范围跳转开关,用于设置温湿度上下限;09为数字按键,对应显示数字09;D1(Yellow)为湿度报警灯;D2(Green)为温度报警灯;D3(Red)为有害气体浓度报警灯。单片机最小系统是使用单片机必不可少的一个重要环节,本章首先对其作了详细的介绍,并且对设计中用到的单片机作了充分介绍。在本章中,我们还对设计中的温湿度测量电路、显示电路、按键报警电路等作了说明。第4章 软件设计 为使程序结构简单,任务明确,易于编写、调试和修改,本系统软件采用模块化程序设计,这样,不仅程序可读性好,而且便于功能扩充和版本升级,对于使用频繁的子程序,可以建立子程序库,便于多个模块调用,从而加快了软件设计进度。根据课题的要求,在软件设计中,应该包括以下几个功能模块:主程序模块、温湿度测量模块、按键及报警模块。4.1 软件设计总体思路及主流程图主程序的功能是,实现对LCD的初始化,然后进行温湿度测量和显示,通过按键设置报警温湿度的上下限,当超出界限时显示报警,对有害气体浓度进行监测,超出设定上限时显示报警。主程序的作用是对各个功能模块的初始化,然后据任务的需要对各个功能模块的函数进行调用,完成数据处理的任务。本系统采用C语言编写,主程序主要由四部分构成,系统通电后首先初始化系统,依次完成温湿度采集、温湿度处理、数据显示、键盘处理等四项功能。温湿度采集部分主要完成温湿度测试点的数据采集任务;温湿度处理部分主要是将采集到的温湿度数据与用户设定的各点上下限温度值进行比较处理,并判断是否超出设定的上下限值,如果超出则led灯亮报警;数据显示部分主要实现温湿度数据的显示;键盘处理部分主要实现用户对系统参数的设置,结合显示部分,实现用户与系统之间的人机接口。系统软件总流程图如图4.1所示。NNYY开始初始化判断有害气体浓度是否超标温度采集有害气体传感器数据转换湿度采集温度、湿度的补偿温度、湿度数据处理显示判断温度、湿度是否超标报警报警图4.1 系统软件总流程图4.2 温湿度测量模块设计温湿度测量子程序主要是SHT11的采集温湿度与转换温湿度并且传给单片机。SHT11内有2个敏感元件,它们将温度和湿度转成电信号,通过信号放大器将信号放大后,经原件内的14位A/D转换器将电信号转换成数字信号,最后经过二线串口输出。温湿度测量子程序流程图如图4.2所示。YYYN写命令、传输开始等待读取数据读取高温度字节读取低温度字节判断数据传送是否正常等待读取数据读取高温度字节读取低温度字节返回写命令、传输开始判断数据传送是否正常YN启动元件SHT11测温模式测湿模式开始N图4.2 温湿度测量子程序流程图4.3 A/D转换模块设计该模块用于监测有害气体浓度。通过A/D转换,将电压信号转换成模拟信号送给单片机,然后由系统判断是否超过设定的值,超过则表示有害气体浓度超标,启动报警。A/D转换模块流程图如图4.3所示。开始打入AD转换通道地址数,填充6个时钟至AD和地址寄存器启动A/D及延时转换是否结束数据提取、处理及数据返回系统初始化返回YN图4.3 A/D转换模块流程图4.4 按键扫描模块的设计按键及报警主要是上下限的调节及上下限与当前温度的比较和当超过界限时发出相关报警信号与显示信号。让按键的一端引脚为低电平,当按下按键时,若另一端引脚同样为低电平,则表示扫描到该按键。由于这是一个4x3行列式键盘,因此可以参照4x4行列式键盘来设计。例如按键“0”,以反相先列后行来编码就是0111 1101,就是0x7d,也就是说当键盘扫描到0x7d这个按键的时候,就会在LCD显示屏上显示“0”这个数值。按键模块流程图如图4.4所示。建立有效标志返回Y找到闭合键计算键值闭合键释放建立无效标志YNN开始是否有键闭合延时去键盘抖动NY图4.4 按键模块子程序流程图4.5 判断及报警模块的设计当设置好上下限后,系统会进行判断,如果当前显示的温湿度不在设置的范围之内,则发出报警信号。若温湿度在设置的范围之内,则正常显示当前温湿度。本流程图主要是判断上下限是否设置有误,例如下限大于上限,然后判断实测值是否在上下限范围内。判断及报警流程图如图4.5所示。YYYNNYNNYNYN温度不在正常范围内,LED报警温度在正常范围内,正常显示湿度不在正常范围内,LED报警湿度在正常范围内,正常显示温度是否在正常范围内开始测温模式测湿模式温度最大值是否大于最小值显示ERROR湿度最大值是否大于最小值温度是否在正常范围内返回显示ERROR图4.5 判断及报警流程图第5章 调试与实现单片机应用系统的调试,包括硬件调试和软件调试,是一个很重要的步骤。硬件调试和软件调试并不能完全分开,许多硬件错误就是在软件调试过程中被发现和纠正的。一般方法是先排除明显的硬件故障和软件错误,然后进行软硬件联合调试。硬件调试主要是对硬件的每个部分进行调试,包括最小系统、按键部分、报警部分、温度采集部分和显示部分。软件调试主要是对所编写的程序的各个部分,包括主程序、温度子程序、显示子程序等的编译,测试其语法错误,从逻辑上测试程序的可行性。这章主要介绍了在调试中所使用的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泰安市取暖管理办法
- 包车牌使用管理办法
- 武汉安置房管理办法
- 技术性文件管理办法
- 水吧台区域管理办法
- 哈尔滨房屋管理办法
- 小伙房管理管理办法
- 水利行蓄洪管理办法
- 常见病的推拿治疗课件
- 华侨事务费管理办法
- 内部竞聘选拔的方案
- 恩施州咸丰县社区专职工作者招聘考试真题2024
- 浙江省民工工资管理办法
- 2025年法律专业基础知识考试试卷及答案
- 田野之声:现代农业发展深度调查报告
- 护理能力考试试题及答案
- 执法现场会活动方案
- 2025年人教版八年级政治下册期末考试卷(附答案)
- 甘肃浙能武威能源有限公司招聘笔试题库2025
- 地基检测室公司管理制度
- DBJ50-T-157-2022房屋建筑和市政基础设施工程施工现场从业人员配备标准
评论
0/150
提交评论