版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE毕业论文(设计)题目基于单片机的温湿度检测与控制系统院系电子工程系专业电子科学与技术学生姓名学号指导教师职称目录HYPERLINK\l"_Toc294866256"1、引言 12、设计内容及方案 22.1设计内容 22.2方案选择 PAGEREF_Toc294866259\h32.2.1温湿度传感器的选择 32.2.2显示器的选择 33、系统的硬件选择及设计原理 43.1温湿度传感器SHT10 43.1.1接口定义 43.1.2电路特性 53.1.3传感器特点 63.1.4技术参数 63.2单片机选择与介绍 73.2.1主要性能 PAGEREF_Toc294866269\h73.2.2AT89S52介绍 83.2.3脚口介绍 93.3复位电路 10HYPERLINK\l"_Toc294866273"3.4晶振电路 113.5显示电路 123.6报警电路 133.7键盘设定模块 143.8稳压电路 144、软件设计 154.1主程序模块 164.2SHT10初始化流程 164.3LCD初始模块 175、调试 195.1软件调试 195.1.1Proteus软件 195.1.2KeilC51软件 205.2根据原理图焊接电路板 235.3硬件调试 255.3.1程序下载 255.3.2检测显示 265.3.3控制显示 265.3.4温度报警 275.3.5湿度报警 276、小结 28参考文献 28致谢 30ABSTRACT 31附录 32PAGE10PAGE1基于单片机的温湿度检测与控制系统王鹤南京信息工程大学滨江学院电子科学与技术,南京210044摘要:温湿度是生活生产中的重要的参数。本设计为基于单片机的温湿度检测与控制系统,采用模块化、层次化设计。用新型的智能温温度传感器SHT10主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机AT89S52进行数据的分析和处理,为显示和报警电路提供信号,实现对温湿度的控制报警。报警系统根据设定报警的上下限值实现报警功能,显示部分采用字符型TC1602液晶显示所测温湿度值。系统电路简单、集成度高、工作稳定、调试方便、检测精度高,具有一定的实用价值。关键词:温湿度;SHT10;单片机;AT89S52;检测;报警1、引言温度和湿度的检测和控制是许多行业的重要工作之一,不论是货品仓库、生产车间,都需要有规定的温度和湿度,然而温度和湿度却是最不易保障的指标,针对这一情况,研制可靠且实用的温度和湿度检测与控制系统就显得非常重要。温湿度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用。在生产中,温湿度的高低对产品的质量影响很大。由于温湿度的检测控制不当,可能使我们导致无法估计的经济损失。为保证日常工作的顺利进行,首要问题是加强生产车间内温度与湿度的监测工作,但传统的方法过于粗糙,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。目前,在低温条件下(通常指100℃以下),温湿度的测量已经相对成熟。利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。但人们对它的要求越来越高,要为现代人工作、科研、学习、生活提供更好的更方便的设施就需要从数字单片机技术入手,一切向着数字化,智能化控制方向发展。对于国内外对温湿度检测的研究,从复杂模拟量检测到现在的数字智能化检测越发的成熟,随着科技的进步,现在的对于温湿度研究,检测系统向着智能化、小型化、低功耗的方向发展。在发展过程中,以单片机为核心的温湿度控制系统发展为体积小、操作简单、量程宽、性能稳定、测量精度高,等诸多优点在生产生活的各个方面实现着至关重要的作用[1]。温湿度传感器除电阻式、电容式湿敏元件之外,还有电解质离子型湿敏元件、重量型湿敏元件(利用感湿膜重量的变化来改变振荡频率)、光强型湿敏元件、声表面波湿敏元件等。湿敏元件的线性度及抗污染性差,在检测环境湿度时,湿敏元件要长期暴露在待测环境中,很容易被污染而影响其测量精度及长期稳定性[2]。2002年Sensiron公司在世界上率先研制成功SHT10型智能化温度/温度传感器,体积与火柴头相近。它们不仅能准确测量相对温度,还能测量温度和露点。测量相对温度的范围是0~100%,分辨力达0.03%RH,最高精度为±2%RH。测量温度的范围是-40℃~+123.8℃,分辨力为0.01℃。测量露点的精度<±1℃。在测量湿度、温度时A/D转换器的位数分别可达12位、14位。利用降低分辨力的方法可以提高测量速率,减小芯片的功耗。SHT11/15的产品互换性好,响应速度快,抗干扰能力强,不需要外部元件,适配各种单片机,可广泛用于医疗设备及温度、湿度调节系统中。现在虽然单片机的品种繁多,各具特色,但仍以MCS-51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的WinBond系列单片机。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。本设计以此为出发点,以温湿度控制为核心思想,根据自己所学的专业知识,用新型的智能集成温温度传感器SHT10主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机AT89S52进行数据的分析和处理,为显示和报警电路提供信号,实现对温湿度的控制报警。根据工作环境要求设定系统的温湿度阈值,利用LCD实时地测量显示环境的温湿度值,实现温湿度自动控制,使其在较宽的温度范围内具有较高的测试精度,同时还可以根据预设定报警阈值报警,一旦发现环境温湿度超限,立即报警。为此我设计了操作简单、测量精度高、工作稳定的基于单片机的温湿度检测与控制系统。2、设计内容及方案2.1设计内容用新型的智能集成温温度传感器SHT10主要实现检测温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机AT89S52进行数据的分析和处理,为显示和报警电路提供信号。设定模块主要为设定温湿度报警的阈值。如图2.1所示。单片机控制模块单片机控制模块LCD显示模块电源模块报警模块温湿度度采集模块按键设定模块图2.1设计模块图要求如下:1、用单片机通过编程来实现温湿度的显示与控制2、通过LCD来显示温湿度的数值3、能够实现超阈值的报警4、检测范围与精度:温度检测范围:-30℃~+100℃测量精度:1℃湿度检测范围:0~100%RH检测精度:4.5%RH[3]2.2方案选择主要针对温湿度传感器的选择和显示控制系统的选择,并在其中做了比较。2.2.1温湿度传感器的选择方案一:湿度检测采用湿敏元件,其主要分为电阻式和电容式。湿敏电阻的种类多,灵敏度高,但是起线性度和产品的互换性差。湿敏电容灵敏度高,产品互换性搞,响应速度快,偏于实现产品小型化和集成化,是精度一般比湿敏电阻要低一些。综合湿敏元件,其线性度可抗污染性差,在湿度的检测环境中湿敏元件需要时刻在检测环境中,很容易受到环境污染从而影响其测量精度和持续的稳定性。温度检测采用最基本的热电偶和热敏电阻。热电偶应用广泛,价格便宜而且耐用。种类多,能够覆盖非常宽的温度范围,最高温度可以到达2000℃。但是其非线性、响应速度慢、精度中等、灵敏度低、稳定性低、高温下容易老化和有线性漂移,并且测量需要参考量。热敏电阻,该传感器主要随温度的变化阻值发生变化,主要用于-200到500℃温度范围内的温度测量。其温度系数要大而且需要稳定的温度源,反应速度快,工艺好价格低,测温环境稳定。方案二:温湿度检测采用集成模拟传感器,其灵敏度高、线性度好、响应速度快,而且它可以和信号处理电路及逻辑控制电路集成在一起,使用方便。湿度传感器选用HS1101,温度传感器选择AD590。这两个传感器,在接入电路中,都需要A/D转换器,把模拟信号转换成数字信号从而是单片机存储采集到的数据。方案三:采用数字式传感器,起初选择DS18B20和SHT10作为温度和湿度测量元件,但是SHT10包含相对湿度传感器、温度传感器,所以把SHT10作为温湿度检测的一个整体。SHT10作为典型的温湿度传感器,在测量过程中可对相对温湿度进行自动校准,准确的测量温湿度。产品互换性好,相应速度快,抗干扰性强,不需要外部参考源和外部器件。综上所述,SHT10与温湿敏元件的温湿度测量以及模拟测量的元器件相比,起数字温湿度传感器低成本,内部集成复杂,测量准确,而且能够提供数字输出,简化外部测量电路,精度高,适用广泛的测量范围,并且本设计的温湿度检测系统相适合。因此,选择温度湿度传感器SHT10作为此次设计中的测量元件。2.2.2显示器的选择方案一:数码管显示,数码管按段数分为七段数码管和八段数码管,起驱动方式分别为静态驱动和动态驱动,静态驱动编程简单,显示亮度高但是占用I/O端口多,在十几应用时必须增加译码器驱动进行驱动,增加了硬件电路的复杂性。动态电路是最广泛的显示方式之一,其能够节省大量的I/O端口,而且功耗低。针对数码管,其显示单调不具备数据的直观性。方案二:LCD1602液晶显示,具有字符发生器ROM可显示192种字符(160个5´7点阵字符和32个5´10点阵字符)具有64个字节的自定义字符RAM,可自定义8个5´8点阵字符或四个5´11点阵字符。具有80个字节的RAM,标准的接口特性,适配M6800系列MPU的操作时序。模块结构紧凑、轻巧、装配容易,像素尺寸小,分辨率高。综上,选择LCD1602能够把温湿度很直观的显示出来,能够在设定阈值时更能简洁明了,所以选择LCD1602为显示元件。3、系统的硬件选择及设计原理主要对所选择元件的原理及应用介绍和对本设计中各个单元的电路解析。3.1温湿度传感器SHT10温湿度传感器SHT10由Sensirion公司生产,其产品具有无可比你的优越性能。SHT10单芯片传感器内含有已校准数字信号输出的复合传感器,它应用专利的COMS过程微加工技术确保了产品具有极高的可靠性与卓越的长期稳定性。体积与火柴头相近。它们不仅能准确测量相对温度,还能测量露点参数。广泛应用在数据采集器、变送器、自动化过程控制、汽车行业、楼宇控制、暖通空调、电力机房、计量测试、医药业。实体图如图3.1所示。图3.1SHT10传感器实体与接口图3.1.1接口定义接口定义如表3.1所示。表3.1接口定义引脚名称描述1GND接地2DATA串行数据,双向3SCK串行时钟,输入口4VDD电源NCNC必须为空SHT10的供电电压范围为2.4~5.5V,建议供电电压为3.3V。在电源引脚(VDD,GND)之间须加一个100nF的电容,用以去耦滤波。SHT10的串行接口,在传感器信号的读取及电源损耗方面,都做了优化处理。传感器不能按照I2C协议编址,但是,如果I2C总线上没有挂接别的元件,传感器可以连接到I2C总线上,但单片机必须按照传感器的协议工作。SCK用于微处理器与SHT10之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCK频率。DATA引脚为三态结构,用于读取传感器数据。当向传感器发送命令时,DATA在SCK上升沿有效且在SCK高电平时必须保持稳定。DATA在SCK下降沿之后改变。为确保通讯安全,DATA的有效时间在SCK上升沿之前和下降沿之后应该分别延长至TSUandTHO当从传感器读取数据时,DATATV在SCK变低以后有效,且维持到下一个SCK的下降沿。为避免信号冲突,微处理器应驱动DATA在低电平。需要一个外部的上拉电阻(例如:10kΩ)将信号提拉至高电平。上拉电阻通常已包含在微处理器的I/O电路中。设计中使用SHT10智能传感器作为温湿度检测的元件,参数采集模块如图3.2所示[3]。图3.2温湿度采集模块3.1.2电路特性电气特性,如能耗,高、低电平,输入、输出电压等,都取决于电源。表3.2详细解释了SHT10的电气特性,若没有标明,则表示供电电压为5V。若想与传感器获得最佳通讯效果。表3.2SHT10直流特性.RP表示上拉电阻,IOL指低电平输出电流参数条件最小典型最大单位供电电源DC102.43.35.5V供电电流测量状态0.551mA平均值11228μA休眠状态0.31.5μA低电平输出电压IOL<4mA0250mV高电平输出电压RP<25kΩ90%100%VDD低电平输入电压下降0%20%VDD高电平输入电压上升80%100%VDD焊盘上的输入电流1μA输出电流开4mA三态(关)1020μAVDD对GND的绝对最大值为+7V和-0.3V。如果传感器工作在绝对最大值条件下时间过长,会影响传感器的稳定性(如:热载流效应,氧化)。加重的DATA线由传感器控制,普通的DATA线由单片机控制.。有效时间依据SCK的时序。数据读取的有效时间为前一个切换的下降沿。如图3.3所示。图3.3SHT10时序图3.1.3传感器特点相对湿度和温度一体测量精确露点测量全量程标定,无需重新标定即可互换使用两线制数字接口(最简单的系统集成,较低的价格)高可靠性(工业CMOS工艺)优化的长期稳定性基于请求式检测,因此低能耗具有湿度传感器元件的自检测能力传感器元件加热应用,亦可获得极高的精度和稳定性全量程标定3.1.4技术参数湿度测量范围:0~100%RH湿度测量精度:±4.5%RH(20到80%RH)湿度测量复现性:±0.1%RH湿度测量分辨率:0.03%RH温度测量范围:-40~+123.8℃;温度测量精度:±0.5℃在25℃时;±0.9℃(0到40℃)温度响应时间:≤20秒温度测量重复性:±0.1℃温度测量分辨率:0.01℃其温湿度特性曲线如图3.4所示。图3.4温湿度特性曲线3.2单片机选择与介绍本系统控制电路的核心器件采用的是美国ATMEL生产的AT89S52单片机属于MCS-51系列。AT89S52实物如图3.5所示。图3.5单片机AT89S52实物图3.2.1主要性能与MCS-51单片机产品兼容8K字节在系统可编程Flash存储器1000次擦写周期全静态操作:0Hz~33Hz三级加密程序存储器32个可编程I/O口线三个16位定时器/计数器八个中断源全双工UART串行通道低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符[4]3.2.2AT89S52介绍AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[4]。本设计电路中AT89S52单片机的电路图如图3.6所示。图3.6AT89S52框图3.2.3脚口介绍8位微控制器8K字节在系统可编程FlashAT89S52。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能:P1.0T2(定时器/计数器T2的外部计数输入),时钟输出。P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)。P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,即P3口输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表3.3所示。在flash编程和校验时,P3口也接收一些控制信号。表3.3P3口引脚与第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是器件是使用12V编程电压Vpp[5]。3.3复位电路RST引脚是单片机复位端,高电频有效。在引脚端输入至少连续两个单片机周期的高电频,单片机复位。使用时,在引脚与VSS引脚之间接一个10KΩ的下拉电阻,与VCC引脚之间接一个约10μF的电解电容,即可保证上电自动复位。本设计中复位电路如图3.7所示[6]。图3.7复位电路3.4晶振电路在单片机电路中晶振的作用非常大,结合单片机内部的电路,产生单片机所必需的时钟频率,单片机的一切指令的执行都是建立在晶振的基础上。晶振利用一种特殊的晶体,在电能和机械能之间相互转化产生共振,提供稳定精确的单频震荡,为系统提供基本的时钟信号。晶振元器件实物图如图3.8所示。图3.8晶振实物图C6、C7为负载电容,Y1为晶振,12MHz。设计中晶振电路如图3.9所示[7]。图3.9晶振电路3.5显示电路本设计显示部分采用字符型TC1602液晶显示所测温湿度值并且显示控制界面。TC1602实物图如图3.10所示。LCD1602显示器主要特点:液晶显示屏是以若干个5´8或5´11点阵块组成的显示字符群。每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。主控制驱动电路为HD44780(HITACHI)及其他公司全兼容电路,如SED1278(SEIKOEPSON)、KS0066(SAMSUNG)、NJU6408(NERJAPANRADIO)。具有字符发生器ROM可显示192种字符(160个5´7点阵字符和32个5´10点阵字符)具有64个字节的自定义字符RAM,可自定义8个5´8点阵字符或四个5´11点阵字符。具有80个字节的RAM,标准的接口特性,适配M6800系列MPU的操作时序。模块结构紧凑、轻巧、装配容易,像素尺寸小,分辨率高。颜色分单色(黑白)、彩色两种。为便于夜间观察,可采用由LED或ELD器件构成的背景光源。液晶显示器属于被动发光型显示器件,它本身不发光,只能反射或透射外界光线,因此环境亮度越高,显示越清晰。其亮暗对比度可达100:1。单+5V电源供电,采用交流驱动方式。图3.10TC1602实物图使用时,可将P0与LCD的数据线相连,P2口与LCD的控制线相连,其中,TC1602第4脚RS为寄存器选择,第5脚RW为读写信号线,第6脚E为使能端。第7~14脚:D0~D7为8位双向数据线。这里要注意的是,为了布线方便,单片机端的D0~D7是接到LCD/602的D1~D0,正好相反,因此在编写软件时需要做处理,使读取正确。LCD显示电路如图3.11所示[8]。图3.11显示电路3.6报警电路本设计采用的是声光报警,设定报警的上下限值实现报警功能,使用单片机的中断系统。根据单片机接收到的数据经过处理后与该参数设定的上下限进行比较,高于上限值(或低于下限值)则进行报警,同时能进行正常的显示。报警电路中,以红色LED和蜂鸣器构成,在输入温湿度的上下限后,系统会进行实时采样,并判断测试温湿度与输入温湿度之间的差异,当检测出的温湿度在设定的温湿度上下限外就会报警,即红色LED亮,同时蜂鸣器响。报警电路如图3.12所示[8]。图3.12报警电路3.7键盘设定模块本设计可以直接设定温湿度参数的上下限值,从而达到对温湿度控制报警的功能[9]。按设置键出现设置界面,按确定键选择需要设置的数字,上下键设置需要限定的温湿度如图3.13所示。图3.13键盘设定模块3.8稳压电路三端稳压集成电路LM7805来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。LM7805如图3.14所示。图3.14LM7805实物图LM7805参数如表3.4所示。表3.4LM7805参数本系统所有芯片都需要+5V的工作电压,而干电池只能提供的电压为1.5V的倍数的电压,并且随着使用时间的延长,其电压会逐渐下。本电路是一个输出正5V直流电压的稳压电源电路。IC采用集成稳压器7805,电容分别为输入端和输出端滤波电容,R3为负载电阻,D1为工作指示灯,POWER为供电电源,电压范围6-15V直流。当输出电较大时,7805应配上散热板。稳压电路如图3.15所示[10]。图3.15稳压电路图4、软件设计整个系统的功能是由硬件电路配合软件程序来实现的,当硬件基本定型的时候软件也基本定下拉了,从软件的功能不同,可以分为两的类:一是主程序,它是整个软件的核心,专门用来协调各个执行模块和操作者的联系。二是子程序,它是用来完成各种实质性的工作的,如测量、计算、显示、通讯等。每一个执行软件就是一个小的执行模块,这里将每一个模块一一列出来,并为每个执行模块进行功能定义和接口定义。各执行模块规划好以后,就可以规划监控软件了。首先要根据系统的总体功能选择一种最合适的主程序结构,然后根据实时性的条件,合理安排监控软件和执行软件之间的调度关系。4.1主程序模块主程序主要完成硬件初始化,子程序调用等功能[11]。在主程序中,对温湿度传感器,LCD1602液晶显示器的初始化,同时调用传感器数据,进行显示,之后进行阈值判断并启动报警装置。开始开始1602与SHT10初始化温湿度采集子程序温湿度处理子程序读取成功温湿度数据是否超限声光报警显示温湿度是图4.1主程序模块4.2SHT10初始化流程该流程主要对传感器的初始化进行设计,流程图如图4.2所示[12]。SHT10初始化SHT10初始化DQ置1DQ置1D0清零,发复位脉冲 D0清零,发复位脉冲延时600us延时600usDQ置1DQ置1等待50us等待50us读入DQ的状态读入DQ的状态等待200us等待200usDQ置1DQ置1初始化结束初始化结束图4.2SHT10初始化流程图4.3LCD初始模块LCD上电时,都必须按照一定的时序对LCD进行初始化操作,主要任务是设置LCD的工作方式,显示状态,清屏,输入方式,光标位置等。LCD初始化如图4.3所示[13]。功能设置命令功能设置命令调用写入指令到LCD子程序开始子程序返回调用写入指令到LCD子程调用写入指令到LCD子程设置显示状态清屏设定工作方式调用写入指令到LCD子程设置输入方式图4.3LCD1602初始化流程图5、调试在此部分介绍了对设计系统的软件调试和硬件调试。5.1软件调试软件调试主要使用Proteus软件和KeilC51软件。在软件调试中,首先在Proteusz中绘制电路图,并设置各元器件的参数。然后在KeilC51软件编写程序,并编译后输入PROTEUS中进行仿真。5.1.1Proteus软件Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。Proteus软件除了其具有和其它EDA工具软件的一样的原理布图,还可以电路仿真。不止是对单片机的仿真还对其外围器件进行仿真。其特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。如68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在改软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision3等软件。支持大量的外围芯片和存储器,具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。运行Proteus软件出现以下窗口。如图5.1所示图5.1Proteus原理图编辑窗口点击P(元件选择按键),填写元件名称,选择所需要的元件,对于本电路我先添加主电路元件,然后在添加子电路元件,完成后连线,对于不便连接的元件节点,可以采用总线和网络标号的形式。完成后保存,电路图如图5.2所示[15]。图5.2仿真电路图5.1.2KeilC51软件KeilC51软件是KeilSoftware公司推出的uVision3,是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。其提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。编辑的C或汇编文件,分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的HEX文件,以供调试器使用进行源代码调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。注意晶振的频率,默认的是11.0592MHz,可以根据需要修改。调试时注意PC机与仿真器之间始终保持通信联络,导致独立Keil仿真器上一个指示数据接收的LED不断闪亮。使用KeilC51时,打开界面,并非即刻能够编辑程序的窗口,需要新建文件和设置,其步骤如下:打开Keil的操作界面,在“Project”中选择“NewuVisionProject…”新建一个文件,并命名(注意此时命名时不需要加后缀),如“温湿度”即可,确定后会弹出选择单片机的窗口。在相应的产品里选择所需要的单片机型号,本设计所用的单片机是AtmelAT89S52,则在相应的栏目里选中。然后接下来的窗口选择“是”,然后新建,在页面里面编辑程序,命名,要注意的是这次命名需要加后缀,如“温湿度.c”。在主窗口侧边栏找到“Target1”,右击其子标题栏“SourceGroup1”选择“AddFilestoGroup‘SourceGroup1’”。选择保存的“温湿度.c”文件添加,并在下拉单点击打开,此时,编译开始,指示灯亮。顺序编译,若出现错误,编译窗口下会出现错误提示,双击错误提示,则插入符号将出现在有错的地方,根据提示对程序进行修改,保存,再编译至无错,否则无法生成“HEX”格式。在主菜单栏里选择“Project”按出下拉单,选择“OptionsforTarget‘Target1’”,在该窗口下,将晶振的频率(Xtel(MHz))设置为12MHz,然后选择“Output”在“CreateHEXFile”前面打钩,OK。在继续编译后出现“createhexfilefrom…”,编译完成,此时文件就可以被单片机识别应用,导入即可。图5.3KeilC51软件打开界面5.1.3仿真打开用Proteus软件编辑好的电路图,双击单片机导入程序,如图5.4所示。图5.4程序导入界面导入程序仿真后,如图5.5所示,其结果显示编辑的程序,以及电路图符合设计要求。检测精度也在范围之内。图5.5仿真结果图5.2根据原理图焊接电路板按照设计的电路图焊接电路板,原理图如图5.6a和图5.6b。焊接时要牢记注意点,短路、虚焊都不要出现,在焊接每一次完成后都要认真检查有没有出现错误,避免在总体的焊接完毕后,出现不知所以的问题。所以在焊接时严格按照电路图焊接。图5.6a原理图图5.6b原理图焊接完成后检查电路板焊接情况,用万用表检查电路是否存在短路、虚焊。检查完毕确认没有问题的情况下加电测试。实物电路板如图5.7所示。图5.7电路板实物图5.3硬件调试5.3.1程序下载在程序下载过程中使用的是progisp下载器,该下载器支持所有AVR芯片的编程,主要用于下载AVR程序和ATM程序。下载器装载单片机后与计算机连接,整理在Keil软件里编译好的程序,准备完毕后就可以下载程序。打开下载软件Progisp,点击菜单选择“调入Flash(F)”,选择需要下载的“HEX文件”,打开文件,点击软件“自动”按键,软件就可以自动把程序烧录到单片机内。提示下载成功,烧录完毕。如图5.8所示为单片机程序烧录硬件。图5.8程序下载器硬件5.3.2检测显示在此检查无误后,下载程序进行调试。加电后,在一切正常的情况下,电源指示灯绿色亮,系统2秒的初始化后,LCD正确显示温湿度。如图5.9所示,显示的是温度24.7℃,湿度是43.4%RH。图5.9温湿度显示5.3.3控制显示设置界面如图5.10所示。T1、T2分别问温度的上下限,H1、H2分别为湿度的上下限。图5.10系统设置显示5.3.4温度报警在温湿度上下限的报警中,当设置温度上限在20℃时,如图5.11所示。图5.11温度设定上线实际温度为25.2℃,高于设定的上限温度,此时系统声光报警,如图5.12所示。图5.12温度报警5.3.5湿度报警在相对湿度阈值报警的设置中,当把相对湿度上限设定为40%时,如图5.13所示。图5.13初设定湿度上限实际相对湿度为44.2%,高于设定的上限湿度值,根据程序设定系统声光报警如图5.14所示。图5.14关于湿度报警显示图6、小结在设计中,主要是以AT89S52单片机为核心的,对温度和湿度的检测与控制智能化进行了简单的设计与阐述。对MCS-51单片机系统的温湿度检测控制原理与结构进行了论述。本次设计可以说是软硬结合,又以硬件为主,软件程序为辅。给出了检测系统与控制系统的各部分电路以及相对应的程序。采用模块化、层次化设计。用新型的智能集成温温度传感器SHT10主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机AT89S52进行数据的分析和处理,为显示和报警电路提供信号,实现对温湿度的控制报警。报警系统根据设定报警的上下限值实现报警功能,显示部分采用字符型TC1602液晶显示所测温湿度值。实验证明该设计系统实现了对环境温湿度精确控制,达到了相应的效果,系统电路简单、集成度高、工作稳定、调试方便、检测精度高,具有一定的实用价值。参考文献:沙占友.《智能化集成温度传感器原理与应用》.机械工业出版社.2002.2-5.沙占友葛家怡马洪涛等.《集成化智能传感器原理与应用》.电子工业出版社.2004.74-81.徐爱钧.《智能化测量控制仪表原理与设计》.北京航空航天大学出版社.2007.114-126.ATMEL公司.《AT89S52的技术手册》.周航慈.《单片机应用程序设计技术》.北京航空航天大学出版社.2000.189-214.白静.《数字电路与逻辑设计》.西安电子科技大学出版社.2009.37-56.何希才.《常用传感器应用电路的设计与实践》.科学出版社.2007.165-170.何希才.《传感器及其应用》.国防工业出版社.2001.74-78.张敏.《基于单片机的多通道温湿度检测系统设计》.机电产品开发与创新.2008-2(11):23-25.张军彭宣戈.《嵌入式系统硬件抗干扰技术》.嵌入式网络技术应用.2006-16(2):31-36.龙泽明顾立志王桂莲.《MCS-51单片机原理及工程应用》.国防工业出版社.2005.42-47.刘仲娥张维新宋文洋.《敏感元器件与应用》.青岛海洋大学出版社.1993.46-125.唐颖.《单片机原理与应用及C51程序设计》.北京大学出版社.2008.14-18.佟玲杨玉芬张本华.《智能温湿度监控系统的组成及发展》.农机化研究.2006-39(3):24-26.ChengHuaruiDuHongqi.Automaticcontrolsystemoftemperatureandhumidityinstoreroom.2001-17(3):17-19.致谢回首自己走过的大学生活,心中倍感复杂,但是当我写完这篇毕业论文时,随如释负重,却又有些失落。首先我要感谢南京信息工程大学滨江学院能够给我一个继续深造的机会。诚挚的感谢我的论文指导老师张加宏老师,他能在忙碌的教学生活中审查、修改我的论文。同时我也要感谢在这曾经教育过我的老师,在你们一丝不苟,细致严谨的作风中,我也渐渐受到你们的熏陶,他们精心的指导和严谨的思路给了我许多启发。至此,我的论文在指导老师张加宏的悉心指导下完成的。导师渊博的专业知识,严谨的逻辑思维,不仅仅教会我怎么去做,更是教会我怎么发现问题和解决问题,从选题,定题开始,一直到最后论文反反复复的修改,张老师总是以专业的标准来严格要求我,在张老师深刻细致的指导下,我的研究思维和设计理念有了很大的提高,我的毕业论文能够顺利完成还是要对张老师说声谢谢。感谢大学生活中陪伴我的同学、朋友,在他们的陪同下,我收到了很多宝贵的简易和意见,有了他们的陪伴,支持,我完成了这一设计,他们是我大学生活的一部分,不仅改善了我生活学习习惯,更让我知道了为人处事的道理。从论文选题到搜集资料,写稿到初稿,再到反复修改,器件经历了喜悦、聒噪、彷徨和挣扎,写论文的过程中心情太复杂,但是在自己不断的探索努力及老师指导下,最终完成,心中不免有些成就感。也让我对本专业的只是有了进一步的了解,查阅书籍,翻看问下,从朦朦胧胧到豁然开朗,我感觉我在成长。这次设计使我在今后的专业工作中打下了一定的基础。因为本人专业技术水平有限,有不足之处还请阅读者包含指点。最后我希望南京信息工程大学滨江学院越办越好,也祝愿我的老师同学事业有成。机会永远在有准备的人手中!MCU-basedtemperatureandhumiditytestingandcontrolsystemWangHeElectronicscienceandtechnologyBinjiangCollege,NanjingUniversityofInformationScienceandTechnology,Nanjing210044ABSTRACTTemperatureandhumidityistheimportantparameterinthelivingandproduction.ThisdesignisMCU-basedtemperatureandhumiditydetectionsystem,itadoptsmodularlayeringdesign,andusetemperatureandhumidityofnewintelligentsensorSHT10mainlyrealizationtotheexaminationoftemperatureandhumidity.Thetemperatureandhumiditysignalsarecollectedbysensorsandconvertthesignalintodigitalsignal,thenusetheAT89S52microcontrollerfordataanalysisandprocessing,providedforthedisplayandalarmsignalcircuit,toachievecontrolandalarmoftemperatureandhumidity.ReporttothepolicesystemaccordingtoenactmentthetopandbottomlimitreportingtothepolicebeworthrealizationtoreporttothepolicefunctionandshowpartadoptioncharacterlisttypetheTC1602LCDshowtemperatureandhumidity'svaluemeasured.Thesystemelectriccircuitissimple,highintegration,workstability,adjusttotryconvenience,highexaminationaccuracy,andhavedefinitelypracticalvalue.Keyword:Temperatureandhumidity;SHT10;MCU;AT89S52;Detection;Alarm附录#include<reg51.h>#include<intrins.h>#include<absacc.h>#include<math.h>#include"1602.h"#include"sht10.h"#defineucharunsignedchar#defineuintunsignedint#defineKEY_CANCEL0x08#defineKEY_UP0x04#defineKEY_DOWN0x02#defineKEY_ENTER0x01//ucharxdatakey_lcd_val_tmp[12];//临时保存用户设置的数据,当用户按ENTER键时写入相应寄存器//ucharcurrent_page=1;//记录当前正在显示的页面,初始状态显示第一页ucharis_setting_system=0;//记录系统是否处于设置系统状态==1,默认是显示页面状态==0uintkey_value=0;//键值为零ucharkey_value_valid=0;//系统可以处理新键值ucharj;sbitBeep=P3^6;sbitLED_RED=P1^5;sbitLED_GREEN=P1^4;sbitKEY01=P2^0;sbitKEY02=P2^1;sbitKEY03=P2^2;sbitKEY04=P2^3;voiddelay(uint);voidInit();voiddelay_LCM(uint); //LCD延时子程序voidinitLCM(void); //LCD初始化子程序voidlcd_wait(void);//LCD检测忙子程序voidWriteCommandLCM(ucharWCLCM,ucharBusyC);//写指令到ICM子函数voidWriteDataLCM(ucharWDLCM);//写数据到LCM子函数voidDisplayOneChar(ucharX,ucharY,ucharDData);//显示指定坐标的一个字符子函数voidDisplayListChar(ucharX,ucharY,ucharcode*DData); //显示指定坐标的一串字符子函数voidweishu1(floatm);voiddisplay(void);voidalarm(void);voidhandle_key_lcd1602(void);//处理按键与lcd1602显示,while循环中直接使用 /**********mainfuncation************/voidmain(void){/*********************************/ uinttemp,humi;// uintTemp_CHA;// floathumi_val;// floattemp_val; //定义两个共同体,一个用于湿度,一个用于温度// floatdew_point; //用于记录露点值 ucharerror; //用于检验是否出现错误 ucharchecksum;//CRC bittemp_f; unsignedcharHUMI,TEMP; HUMI=0X01; TEMP=0X02; temp_f=1;// ucharwendu[6];//用于记录温度// ucharshidu[6];//用于记录湿度/***************
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏导游证考试真题含答案
- 护士资格考点速刷卷附答案
- 空置房物业收费合同
- 蓝城物业劳动合同
- 河北导游证考试重点知识梳理含答案
- 贵州2026导游证考试卷附答案
- 钢材交易让利合同
- 非住宅物业维修合同
- 2026山东日照农发集团招聘10人备考题库及答案详解(各地真题)
- 2206内蒙古聚英人力资源服务有限责任公司定向招聘劳务派遣人员7人备考题库及1套完整答案详解
- 科研项目劳务合同范本
- 环境隐患记录报告制度
- 2025年国企内部竞聘考试试题库及解析答案
- 苏州安全生产六化培训
- 银行双控账户合同范本
- 湖北省武汉市2025-2026学年度武汉市部分学校高三年级九月调研考试数学
- 幼儿园中班数学《昆虫的家》课件
- 学堂在线知识产权法章节测试答案
- 北宋画坛巨擘郭熙:画学思想的传承、开拓与时代回响
- 北京市海淀清华附中2025届高二下化学期末考试模拟试题含解析
- 部编人教版小学语文1一年级下册全册试卷集(附答案)
评论
0/150
提交评论