温湿度报警电路论文_第1页
温湿度报警电路论文_第2页
温湿度报警电路论文_第3页
温湿度报警电路论文_第4页
温湿度报警电路论文_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 四川信息职业技术学院毕业设计说明书(论文)设计(论文)题目:_温湿度报警电路设计 专 业: 应用电子技术 班 级: 应电 12-3 学 号: 1236099 姓 名: 肖毅 指导教师: 祝建科 二一四年十二月四日四川信息职业技术学院毕业设计(论文)任务书学生姓名肖毅学号1236099班级应电12-3专业应用电子技术设计(或论文)题目温湿度报警电路设计指导教师姓名职称工作单位及所从事专业联系方式备 注祝建科讲师四川信息职业技术学计(论文)内容: 1采用LCD1602液晶显示实时温湿度值和上限报警值;2当采集到的温湿度超过设置的上限时(湿度范围20-90%,温度0-50

2、°C),蜂鸣器报警且相应的指示灯亮;3通过按键可调节上限、下限报警值。设计任务:1完成电路设计方案的选择并设计一性能灵敏、使用方便的温湿度报警电路;2整机电路原理分析并正确选择电路元件;3完成EWB对电路进行电路仿真或实物制作;4撰写较详细的设计说明书。进度安排:1第4周:消化课题,收集相关资料,选择参考方案;256周:初步确定设计方案并熟悉部分器件的用途;379周:划分功能模块,设计单元电路;41013周:分析电路原理,基本完成设计过程,撰写设计说明书初稿;修改、完善并调试设计电路,进行电路仿真或实物制作;按毕业设计的各项要求整理设计说明书并修改、完善,检查定稿;51415周:熟悉

3、设计全过程,准备答辩。主要参考文献、资料(写清楚参考文献名称、作者、出版单位):1 梁炳东. 单片机原理与应用. 人民邮电出版社,2009年2 何立民. 单片机高级教程应用于设计(第2版). 北京航空航天大学出版社,2007年3 张鑫. 单片机原理及应用(第2版). 电子工业出版社,2010年4 胡汉才. 单片机原理及其接口技术. 清华大学出版社,2003年5 崔体人. 元器件选用大全 .杭州:浙江科学出版社,1998年 6 康万新. 毕业设计指导及案例剖析.北京:清华大学出版社,2005年审批意见 教研室负责人:年 月 日备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份。四川

4、信息职业技术学院毕业设计(论文)目录目录I摘要1第1章绪论2第2章总体方案设计32.1功能要求32.2总体设计框图3第3章硬件电路设计43.1单片机模块设计43.2电源接口设计63.3时钟模块设计63.4复位模块设计73.5按键模块设计73.6传感器模块设计83.6.1传感器简介83.6.2传感器模块电路设计93.7液晶显示模块设计93.7.1液晶显示屏简介93.7.2液晶显示模块电路原理图113.8报警模块113.9整机工作原理12第4章系统软件设计134.11602液晶显示模块设计144.2传感器模块设计15第5章系统分析与调试16第6章实物制作与调试186.1PCB板的制作186.2元件

5、的装配186.3调试与性能检测19结论21参考文献22附录1整机电路图23附录2程序清单24附录3元器件清单30II摘要温湿度控制已成为当今社会研究的热门项目。是工农业生产过程中必须考虑的因素。作为最常见的被控参数。温度和湿度已经不再是相互独立的物理量,而应在系统中综合考虑。广泛应用于实验室、大棚、花圃、粮仓乃至土壤等各个领域。而传统的温湿度控制则利用湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材。通过人工进行检测。对不符合温度和湿度要求的库房进行通风、降温、去湿等操作。这种人工测试方法费时费力,效率低。切随机性较大。误差大。因此就需要一种造价低廉、使用方便且计算精确的温湿度控制仪器。

6、利用单片机对温、湿度控制,具有控温、湿精度高、功能强、体积小、价格低,简单灵活等优点,很好的满足了工艺要求。本文通过使用STC89C52单片机、DHT11传感器模块、1602液晶显示屏模块以及报警模块。简单明了的实现的可提要求。DHT11数字温湿度传感器把采集到的温湿度数据传给单片机。经过单片机的处理。准确的显示到液晶屏上。并对温湿度设置上下限,越限报警。关键词单片机;传感器;液晶显示屏;报警第1章绪论温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度湿度的检测与控制。并且随着人们生活水平的提高,人们对自己

7、的生存环境越来越关注。而空气中温湿度的变化与人体的舒适度和情绪都有直接的影响,所以对温度湿度的检测及控制就非常有必要了。随着科技的飞速发展和普及,高性能设备越来越多,各行各业对温湿度的要求也越来越高。传统的温湿度检测模式是以人为基础,依靠人工轮流值班,人工巡回查看等方式来测量和记录环境状况信息。在这种模式下,不仅效率低不利于人才资源的充分利用,而且缺乏科学性,许多重大事故都是由人为因素造成的,人工维护缺乏完整的管理系统。而问世监控系统就可以解决这样人才资源浪费,管理不及时的问题,这是由于它的智能化设计所决定的。故本次设计对于类似项目还具有普遍意义。8052单片机是常用于控制的芯片,在智能仪器仪

8、表、工业检测控制、机电一体化等方面取得了令人瞩目的成果,用其作为温湿度控制系统的实力也很多。使用8052单片机能够实现温湿度全程的自动控制,而且8051单片机易于学习掌握,性价比高。使用8052型单片机设计温湿度控制系统,可以即时精确的反应温室内的温度以及适度的变化。完成诸如升温到特定的温度、降温到特定的温度。在温度上下限范围内保持恒温等多种控制方式,在湿度控制方面也是如此。将此系统应用到温室当中无疑为植被生长提供了更加适宜的环境。对于大棚种植和花圃、花卉栽培,必须在某些特定环境安装温湿度装置对其进行监控。本系统可以及时、精确的反映室内的温度以及湿度的变化,能够满足温湿度的控制要求。第2章总体

9、方案设计2.1功能要求1通过数字温湿度传感器DHT11采集温湿度数据,即时传输给单片机;2单片机将收到的信号进行分析和处理,将采集到时温湿度实时数据送给1602液晶显示屏;3通过1602LCD液晶屏完成温湿度的数据显示;4给定温度湿度上下限数值,设置不同的温湿度,接入蜂鸣器,实现越限报警。2.2总体设计框图电路总体上分为按键电路、温湿度采集部分、中央处理器、显示模块以及报警模块部分。以STC89C52单片机最小系统作为核心控制电路,控制DHT11传感器采集的温湿度的转换,控制1602液晶屏的显示,以及蜂鸣器的报警。总体设计方案围绕上述思想,确定系统的方案如图2-1所示。单片机显示电路按键电路报

10、警电路DHT11传感器电源接口复位电路晶振电路图2-1整机框图第3章硬件电路设计3.1单片机模块设计功能特性:STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,如图3-1所示。图3-1STC89C52芯片管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P

11、1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部

12、上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为STC8

13、9C52的一些特殊功能口,如下表3-1所示。 表3-1P3口的第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变

14、的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部

15、程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.2电源接口设计本设计通过接口电路直接将+5V电压作为电源。如图3

16、-2所示。图3-2电源接口电路3.3时钟模块设计单片机是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的按时序进行工作。时钟电路用于产生单片机的工作的所修要的时钟信号。时钟可以由内部方式或外部方式产生。89C52内部方式时钟电路,是在XTAL1和XTAL2引脚上外接定时元件,就能构成自激振荡电路。定时元件通常采用石英晶体和电容组成的并联谐振电路。电容器C2和C3主要起频率微调作用,电容值可选取为20pF左右或30pF左右。89C52外部方式时钟电路是XTAL1接外部振荡器,XTAL2悬空。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MH

17、z的方波信号。而此设计采用石英晶体内部时钟电路。如图3-3所示。图3-3时钟电路3.4复位模块设计复位是使单片机或系统中的其他部件处于某种确定的初始状态。单片机的工作就是从复位开始的,当在单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。实际应用中,复位操作有两种基本的形式:一种是上电复位,另一种是按键复位。由于本次设计采用的是按键复位,所以这里只介绍按键复位,如图3-4所示。图3-4复位电路3.5按键模块设计本设计采用的是独立按键电路,在图中,按键在没有被按下时,P3.5、P3.6、P3.7口为高电平,而当S2、S3

18、之一被按下时,对应端口与地相连,为低电平,实现了温度上限值与下限值的调节,S4按下时可以调节温湿度对应地方,如图3-5所示。图3-5按键电路3.6传感器模块设计3.6.1传感器简介DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为

19、 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供,DHT11传感器实物图如下3-6所示。图3-6DHT11传感器实物图1)引脚介绍:Pin1:(VDD),电源引脚,供电电压为35.5V。Pin2:(DATA),串行数据,单总线。Pin3:(NC),空脚,请悬浮。Pin4:(VDD),接地端,电源负极。2)接口说明 建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。3.6.2传感器模块电路设计DHT11传感器连接STC89C52系列单片机相对比较简单。单片机的P1.5口用来发收串行数据,即数据口。当DTH11检测到温湿度值时通过传感器内部AD转

20、换得到的数字信号送的单片机。连接传感器的Pin2(单总线,串行数据)。由于测量范围电路大于20米,建议加一个10K的上拉电阻,因此在传感器的Pin2口与电源之间连接一个10K电阻。而传感器的电源端口Pin1和Pin4分别接单片机的VDD和GND端。传感器的第三脚悬浮放置。DHT11传感器原件的电路原理图如下3-7所示。图3-7DHT11电路原理图3.7液晶显示模块设计3.7.1液晶显示屏简介LCD1602 是一种工业字符型液晶,能够同时显示16x02 即32个字符。(16列2行)。在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多

21、家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LCD数码管比较常用,软硬件都比较简单,一般1602字符型液晶显示器实物如图3-8和3-9所示。图3-8液晶屏正面图3-9液晶屏背面第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高

22、电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。3.7.2液晶显示模块电路原理图液晶显示的原理是利用液晶的物理特性, 通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、P

23、DA移动通信工具等众多领域。本电路采用LCD1602作为显示电路,只需将P0口数据分别送到D0D7这8位双向数据线,显示当前温度和湿度,具体电路如图3-10所示。图3-101602显示模块3.8报警模块蜂鸣器是一种一体化结构的电子讯响器。采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。在图中,P1.4接晶体管基极输入端。当P1.4输出低电平“0”时,晶体管导通,压电蜂鸣器两端获得约+5V

24、电压而鸣叫;当P1.4输出高电平“1”时,三极管截止,蜂鸣器停止发声。如图3-11所示。图3-11蜂鸣器工作原理图3.9整机工作原理电路总体上分为按键电路、温湿度采集部分、中央处理器、显示模块以及报警模块部分。以STC89C52单片机最小系统作为核心控制电路,首先通过DHT11传感器采集当前的温湿度值、再经单片机,将处理后的数据传送到液晶屏上显示出来,按键电路可以设置温度上限、下限值,当DHT11集的温度高于或者低于按键所设定的数值时,通过蜂鸣器报警指示灯闪烁发光。第4章系统软件设计在对我们所要设计的课题有了整体的了解之后,需要先建立程序框架的流程图,对整个设计划分模块,逐个模块实现其功能,最

25、终把各个子模块合理的连接起来,构成总的程序。主程序首先要对整个系统进行初始化,然后将采集到的温湿度指令传给系统的主流程图如图4-1所示。 开始初始化延时1602显示数据温湿度测量判断温湿度结束低于设定温湿度蜂鸣器报警指示灯闪烁指示灯闪烁高于设定温湿度蜂鸣器报警图4-1主程序流程图4.11602液晶显示模块设计液晶显示模块是一个慢显示器件,在执行每条指令之前要确认模块的忙标志为低电平,表示不忙,则此指令失效,要显示字符时要先输入显示字符地址,告诉模块在哪里现实了字符。1602液晶显示模块可与STC89C52直接接口的。软件流程图如图4-2所示。开始LCD初始化延时设第一行显示位置显示第一行内容设

26、第二行显示位置显示第二行内容结束图4-21602液晶显示模块程序流程图4.2传感器模块设计温湿度模块DH11数字温湿传感器加湿器温湿度传感器随着科技的不断发展,汽车、空调、除湿器、烘干机等种类繁多的电器都已进入人们的日常生活,而这些电器设备很多都离不开对温度、湿度等环境因素的要求。因此,温度、湿度传感器用途越来越广泛。新一代的数字传感器不再需要外置的A D转换模块,并具有标准接口,使用方便,得到了越来越多的应用。DHT11作为一种新型的单总线温湿度数字传感器,具有更多的优点,它使系统设计更加简单,控制方便,易于实现。DHT11传感器模块的软件流程图如下图4-3所示。开始延时1S保持高电平检测记

27、录信号输出低电平延时输出低电平数据输出结束信号图4-3DHT11传感器模块程序流程图第5章系统分析与调试本设计是在Keil C环境下开发的,Keil C软件支持C语言的编程及调试,运用方便,是做C语言毕业设计者的首选。设计的首要任务是安装和学习使用这个软件,在简单的学习和了解Keil C后,我们便可在此环境下开始了对带录音功能的电子琴的设计工作。在编译完Keil C后,再运用STC_ISP_V480软件烧录到开发板上,实现实物与程序的连接。在烧录前要对STC_ISP_V480进行一些必要的设置。第一步:设置MCU Type为STC89C52RC;第二步:打开编写好并编译的程序文件,它是以.he

28、x为后缀的文件;第三步:选择对应的COM端口,(可在我的电脑的设备管理处查看COM选项);第四步:点击Download/下载,等提示请给MCU上电时,打开开发板上的开关,它就自行烧录了。Keil C程序运行如图5-1所示。图5-1keil C运行图程序烧录图如5-2所示。图5-2程序烧录运行图在完成对程序的调试及烧录之后,还需要对其进行演示,把开发板与电脑连上,设置好对应的接口,完成供电及下载。开始供电后、稍带几秒等1602液晶屏能正常显示当前温湿度了之后。观察当前温湿度的变化。并且针对与自己设定的限值相比较。若当前温度没有超标,即没有超过限值。可以用手捂住DHT11传感器,令其温度的显示超标

29、。测试能否达到报警。经过测试。完全可行。因而简单的实现了对温度的控制。湿度控制原理跟温度一样。第6章实物制作与调试制作方案是指完成给定的店子制作所采取的步骤和策略。具体做法是:根据电子制作任务书的要求和技术指标,选择印制电路(PCB)板的制作、元器件的检测和装配、整机调试和技术指标测试方法等。6.1PCB板的制作PCB板的制作一般包括印制底图图样描绘、底图掩膜层制作和蚀刻加工等三个环节。首先根据方案,采用电子设计自动化软件中的Protel 99 SE进行印制电路板底图图样的设计。在软件环境下绘制好底图后,可用喷墨式或激光打印机将PCB板的设计图样打印出来,然后进行制作。PCB板的制作一般分制作

30、印制电路板、清洗与打孔和检修四个环节。1制作印制电路板 利用所打印的PCB板图样、热转印纸和恒温电熨斗完成制作。而热转印法制板的不足之处是:由于热转印纸局部缺陷等原因,会出现墨粉在热转印纸上局部附着不均匀等现象,对附着层太薄的地方,使抗腐蚀能力下降,影响PCB板的质量。2清除防护层 对于腐蚀好的印制电路板,选用细砂纸将防护层打磨掉,并进行清洗。3打孔 对清洗好的印制电路板,需要在焊盘和固定位置钻孔后,才能进行安装。4检修 对制作好的PCB板,要进行严格检查,判断印制线间是否有短路、断裂、脱落和起层问题,及时发现问题后,可采用相应的修理或补救措施,若有严重质量问题时,需要重新制作。6.2元件的装

31、配元件安装前,要做好准备各项工作,清理与检测好元件,再按电子工艺要求进行元件焊接、剪引脚、清洗和检查等。且安装元件要遵循先小后大,先轻后重,先内后外的原则采用手工烙铁锡焊。具体操作过程如下:1准备工作 元件安装前的准备工作主要包括工具、仪表和材料等。如通常用的工具、仪表和材料主要有:电烙铁、镊子、剪刀、万用表、焊料、助焊剂、导线等。2清理与检测好元件 对将要安装的全部元件,可先对引脚进行浸锡处理,在按照元件明细表中的逐一查对,简易测试其好坏。3元件焊接 对某个元件进行焊接前,先需要根据元件的大小,确定元件是卧装还是立装。并对引脚按照电子装配工艺要求进行成形处理,然后再实施焊接。4剪引脚 元件安

32、装完成后,剪除引脚过长的部分。值得注意的是:不要在垂直引脚的方向上用力,以免将印制线路扯掉。5清洗与检查 引脚剪完后,可用工业酒精,对残留有助焊剂的焊盘进行清洗。然后按照电路原理图,检查有无装错之处。也可以用万用表检测,判断是否有错。其装配的实物图如下图6-1所示。图6-1装配实物图6.3调试与性能检测元件安装完成后,要使电路处理最佳工作状态,需要对单元电路和整个电路进行调试。调试与测试方案的选择应根据现有的仪器仪表条件来确定,但最基本的调试与测试都要采用专用设备进行调试与测试。调试工作分调试前的准备和调试操作两步完成。1调试准备 调试准备指在调试前,对调试过程中所需要的仪器、设备、工具、元件

33、和材料等进行调配。2调试操作 电路调试的基本原则是:先静态,后动态,先局部,后整体。对于动态技术指标调试,要从末级开始,逐级向前级反复进行,直到调准为止。3性能检测 该项工作在电路调试完成后进行,通过测量相关技术指标来主要了解电路是否达到技术要求。其装配的实物图调试仿真如图6-2所示。图6-2调试仿真实物图结论本系统以单片机为核心部件的控制系统,利用软件编程,最终基本上实现了各项要求。虽然系统还存在一些不足,比如温湿度测量不够精确,特别是湿度,波动较大。尝试了各种改进方法。仍然不太理想。不过大体能反映出设计的目的和要求。与预期的结果相差不多。经过近两个月的奋斗,从确定题目,到后来查找资料,理论

34、学习,实验编程调试,这一切都使我的理论知识和动手能力有了很大的提高。了解了单片机的硬件结构和软件编程方法,对单片机的工作方式有了很大的认知。同时,对一些外围设备比如传感器、液晶屏、键盘、蜂鸣器等有了一定的了解!学会了对一项工程如何设计:首先,要分析需要设计的系统要实现什么功能,需要什么器件;然后,针对设计购买相应的硬件,选用硬件时不仅要选用经济的,更重要的是如何能更精确更方便的完成系统的要求;再次,对各个硬件的软件实现要弄清楚,如何更好的实现各个硬件的协调,更好的通过主控制器件实现硬件的功能。最后,通过各种测试与调试,让设计更好的完成系统要求。 但因为我们的水平有限,此设计中也存在一定的不足。

35、就比如说对湿度的控制方面,由于温度时刻都在发生着变化。而湿度的变化又大体上取决于温度。因而对于湿度的控制有点困难。同时由于湿度变化波动比较大。造成报警频繁,为湿度限值的设定也带来了不小的麻烦。温湿度控制已经成为了21世纪热门研究话题之一。无论是从生产还是生活,与我们人类都是息息相关的。而智能化的控制温湿度已经发展成为一种必然。随着世界经济的发展,人们生活水平的提高以及社会的进步。我们不可能一直墨守陈规,不能在恪守以前利用人力资源来控制温湿度的方法。不仅浪费大量的人力资源、财力资源,并且控制系统也更加单一化。而采用自动控制的办法、既节省了人力资源,更体现了与时俱进的思想、世界在进步、而这种进步就

36、该体现在各个方面。参考文献1陈明荧,8051单片机课程设计实训教材M北京:清华大学出版社,20032徐新艳,单片机原理、应用与实践M北京:高等教育出版社,20053吴金戌,沈庆阳,郭庭吉,8051单片机实践与应用M北京:清华大学出版社,20024王千,实用电子电路大全M电子工业出版社,20015冯博琴,微型计算机原理与接口技术M北京:清华大学出版社,20046张毅刚,MCS-51单片机应用设计M哈尔滨工业大学出版社,20047张淑清,姜万录等.单片微型计算机接口技术及应用M国防工业出版社,2003.8吴金戌,沈庆阳,郭庭吉8051单片机实践与应用M北京:清华大学出版社,20019冯博琴,微型计

37、算机原理与接口技术M清华大学出版社,200410张毅刚,MCS-51单片机应用设计M哈尔滨工业大学出版社,200411赵亮,侯国锐,单片机C语言编程与实例M北京:人民邮电出版社,200312王振红,李洋,郝承祥.ISD4004语音芯片的工作原理及其在智能控制系统中的应用J电子器件2002年3月第25卷第1期第30页共30页附录1整机电路图附录2程序清单#include <reg52.h>/调用单片机头件#define uchar unsigned char/无符号字符型 宏定义变量范围0255#define uint unsigned int/无符号整型 宏定义变量范围065535

38、#include<intrins.h>#include "eeprom52.h"sbit beep = P14; /蜂鸣器IO口定义uchar a_a;bit flag_300ms / 按键的IO变量的定义uchar key_can; /按键值的变量uchar menu_shudu = 20; /用来控制连加的速度uchar menu_1;/菜单设计的变量uint t_high = 30,t_low = 10; /温度报警参数uint s_high = 30,s_low = 10; /湿度报警参数uchar flag_w_bj_en,flag_s_bj_en;b

39、it flag_lj_en; /按键连加使能bit flag_lj_3_en; /按键连3次连加后使能 加的数就越大了 uchar key_time,flag_value;/用做连加的中间变量bit key_500ms ;uchar flag_clock; /温度报警变量uchar flag_fuzi; /用做菜单内的初始化的/* 功能 : 延时1ms函数* 输入 : q* 输出 : 无*void delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<120;j+);sbit dht11=P15; /温度传感器IO口定义uchar t

40、able_dht115=1,2,3,4,5;/*把数据保存到单片机内部eeprom中*/void write_eeprom()/保存数据SectorErase(0x2000);byte_write(0x2000, t_high);byte_write(0x2001, t_low);byte_write(0x2002, s_high);byte_write(0x2003, s_low);byte_write(0x2055, a_a); /*把数据从单片机内部eeprom中读出来*/void read_eeprom() /读出保存数据t_high = byte_read(0x2000);t_low

41、 = byte_read(0x2001); s_high = byte_read(0x2002);s_low = byte_read(0x2003);a_a = byte_read(0x2055);/*机自检eeprom初始化*/void init_eeprom()/开始初始化保存的数据read_eeprom();/读出保存数据if(a_a != 2) /新的单片机初始单片机内问eepromt_high = 40,t_low = 10;s_high = 95,s_low = 10;a_a = 2;write_eeprom();/保存数据#include "lcd1602.h"

42、;/#include "menu.h"/*定时器0初始化程序*/void time_init() EA = 1; /开总中断TMOD = 0X01; /定时器0、定时器1工作方式1ET0 = 1;/开定时器0中断 TR0 = 1;/允许定时器0定时/*独立按键程序*/uchar key_can; /按键值void key()/独立按键程序static uchar key_new;key_can = 20; /按键值还原P3 |= 0xf0;if(P3 & 0xf0) != 0xf0) /按键按下delay_1ms(1); /按键消抖动if(P3 & 0xf0

43、) != 0xf0) && (key_new = 1)/确认是按键按下key_new = 0;switch(P3 & 0xf0)case 0xd0: key_can = 3;break;/得到k1键值case 0xb0: key_can = 2;break;/得到K2键值case 0x70: key_can = 1;break; /得到k3键值else key_new = 1;/*按键显示函数*/void key_with()if(key_can = 1) /设置键menu_1 +;if(menu_1 > 4)menu_1 = 0;init_1602();/lcd

44、1602初始化if(menu_1 = 1) /初始化显示write_string(1,0," WH: WL: ");write_string(2,0," SH: % SL: % ");write_zifu(1,6,0xdf);/显示度write_zifu(1,13,0xdf);/显示度write_sfm2(1,4,t_high);/显示温度write_sfm2(1,11,t_low);/显示温度write_sfm2(2,4,s_high);/显示湿度write_sfm2(2,11,s_low);/显示湿度if(menu_1 = 1)/设置高温报警if(k

45、ey_can = 2)t_high + ;/设置高温值加1 if(t_high > 99)t_high = 99;if(key_can = 3)t_high - ;/设置高温值减1 if(t_high <= t_low)t_high = t_low + 1;write_sfm2(1,4,t_high);/显示温度write_com(0x80+3); /将光标移动到秒个位write_com(0x0f); /显示光标并且闪烁write_eeprom();/保存数据if(menu_1 = 2) /设置低温报警if(key_can = 2)t_low + ;/设置低温值加1 if(t_lo

46、w >= t_high)t_low = t_high - 1;if(key_can = 3) /设置高温值减1 t_low - ;if(t_low <= 1)t_low = 1;write_sfm2(1,11,t_low); /显示湿度write_com(0x80+10);/将光标移动到秒个位write_com(0x0f); /显示光标并且闪烁write_eeprom();/保存数据if(menu_1 = 3) /设置高湿报警if(key_can = 2)s_high + ; /设置高湿值加1 if(s_high > 99)s_high = 99;if(key_can = 3

47、)s_high - ; /设置高湿值减1 if(s_high <= s_low)s_high = s_low + 1;write_sfm2(2,4,s_high); /显示湿度write_com(0x80+0x40+3);/将光标移动到秒个位write_com(0x0f);/显示光标并且闪烁write_eeprom();/保存数据if(menu_1 = 4) /设置低湿报警if(key_can = 2)s_low + ; /设置低湿值加1 if(s_low >= s_high)s_low = s_high - 1;if(key_can = 3) /设置低湿值减1 s_low - ;

48、if(s_low <= 1)s_low = 1;write_sfm2(2,11,s_low); /显示湿度write_com(0x80+0x40+10); /将光标移动到秒个位write_com(0x0f); /显示光标并且闪烁write_eeprom();/保存数据 /*读温湿度传感器程序*/void dst11()uchar i,j;/读温湿度时不能打开中断dht11 = 0;delay_1ms(18);dht11 = 1;delay_uint(4); /50usif(dht11 = 0) /判断是否响应 0 为响应while(dht11 = 1);/等待响应时间过完for(i=0;

49、i<5;i+)for(j=0;j<8;j+)table_dht11i <<= 1;while(dht11 = 0);delay_uint(4); /50us数据1的高电平时间为110us 低为27usif(dht11 = 1)table_dht11i |= 0x01;while(dht11 = 1);dht11 = 1;/*报警函数*/void clock_h_l()static uchar value,value1,value2;if(table_dht110 <= s_low) | (table_dht110 >= s_high)value1 +; /消

50、除湿度在边界时的干扰if(value1 > 2)flag_s_bj_en = 1;/湿度报警标志位else if(table_dht110 > (s_low ) | (table_dht110 < (s_high)value1 +;/消除湿度在边界时的干扰if(value1 > 2)flag_s_bj_en = 0;/湿度取消报警else value1 = 0;if(table_dht112 <= t_low) | (table_dht112 >= t_high) value2 +;/消除温度在边界时的干扰if(value2>2)flag_w_bj_en = 1;/温度 报警标志位else if(table_dht112 > (t_low )|(table_dht112>(t_high)value2 +;/消除温度在边界时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论