基于单片机的棚内温度控制系统的设计和仿真

上传人:1666****666 文档编号:37539884 上传时间:2021-11-03 格式:DOC 页数:33 大小:761.50KB
返回 下载 相关 举报
基于单片机的棚内温度控制系统的设计和仿真_第1页
第1页 / 共33页
基于单片机的棚内温度控制系统的设计和仿真_第2页
第2页 / 共33页
基于单片机的棚内温度控制系统的设计和仿真_第3页
第3页 / 共33页
点击查看更多>>
资源描述
1基基于于单单片片机机的的棚棚内内温温度度控控制制系系统统的的设设计计与与仿仿真真 独独 创创 性性 声声 明明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。 签名: 年 月 日授授 权权 声声 明明本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,即:有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设2计) 。本人论文(设计)中有原创性数据需要保密的部分为: 签名: 年 月 日 指导教师签名: 年 月 日基基于于单单片片机机的的棚棚内内温温度度控控制制系系统统的的设设计计与与仿仿真真摘摘 要要植物的生长与温度息息相关,对于棚内的植物来说,最重要的一个管理因素是温度控制。温度太高或太低,则停止生长或者生长速度减慢,所以要将温度始终控制在适合植物生长的范围内。如果仅靠人工控制既耗人力,又容易发生差错。该系统以 AT89C51单片机为基础,通过对系统的硬件部分和软件部分的设计达到检测、报警和自动控温的要求。硬件部分包括温度传感器模块、输入模块、显示模块、报警模块和控温模块的设计;软件部分主要根据系统的设计思想设计出了系统的程序流程图,并通过 C 语言实现控制。通过实践证明,系统性能优良、操作方便,实现了棚内温度的显示、调节和报警功能。关键词: AT89C51;温度传感器;显示器;控制与报警2 The Design of Temperature Control System Based on MCU Abstract The growth of plants is closely related to temperature. One of the most important management factors is the temperature control. If temperature is too high or too low, the plants will grow slowly. Even worse they will stop growing. So it will be necessary to control temperature in suitable temperature range. It would be very easy to make mistakes, if we control the temperature only via manual labour. The system combines system hardware with software design basing on AT89C51 and it can achieve to many functions, such as detecting, alarming and controlling temperature automatically. The hardware part includes the temperature sensor module, input module, display module, alarm module and temperature control module design. 2We will design the system procedure mainly based on the systems design ideaand the system will be controlled based the C language. Practice proves that the system performs excellently and is easy to operate, and it can display the temperature, adjust the temperature and give an alarm.Key words:AT89C51; Temperature sensors; Display; Control and alarm 目目 录录1 绪论.11.1 本设计的背景和意义.11.2 国内外研究状况.21.3 本设计的主要内容.22 系统设计方案.32.1 本系统的设计要求.32.2 各模块电路的方案选择及论证.32.3 本设计系统的最终方案.52.4 本设计的工作原理.53 棚内温度控制系统的硬件电路设计.73.1 AT89C51 单片机.73.2 振荡电路和复位电路.73.3 温度采集电路.823.4 键盘电路.83.5 显示电路.93.6 升温电路和降温电路.103.7 报警电路.113.8 系统总体电路.124 软件设计与仿真.134.1 设计思想.134.2 程序流程图.134.3 程序调试.164.4 温度超过设定上限的仿真.174.5 温度低于设定下限的仿真.175 总结.19参考文献.20附 录.21致 谢.28基于单片机的棚内温度控制系统的设计与仿真1 绪论1.1 本设计的背景和意义目前,在我国北方地区,农村大部分温室大棚仍就采用手动调控,这种调控既费时又费力,而且产量不高还容易出现差错。随着时代的发展,人们对温室大棚内种植作物种类要求有所增加,由单一的植物慢慢地向多种植物发展,对温室大棚内的温度控制也有了的新的要求。仅仅通过手动调控棚内的温度情况已经渐渐地无法满足人们的需求,因此需要设计一种系统,来替代手动调控,以满足人们对生产的要求。我国当今常见的智能温室控制系统大多采用的是工控机或者 PLC,费用较高,大部分的农村用户无法承受的起。因此,在设计系统的过程中,有对使用者的经济情况进行考虑,尽可能降低设计中的各个部分的成本,这对温室大棚的发展具有很高的现实意义。蔬菜的生长与温度息息相关,对于蔬菜大棚来说,最重要的一个管理因素是温度控制。温度太低,蔬菜就会被冻死或着停止生长,所以要将温度始终控制在适合蔬菜生长的范围内。如果仅靠人工控制既费时费力,又容易发生差错。2因此,本设计设计的大棚温度自动控制系统,就是利用价格便宜的一般电子器件设计的一个参数精度高 ,控制操作方便 ,性价比高的,可应用于农村温室大棚测控系统。本设计可以根据棚内植物生长的需要,人为的调节温度的范围,自动地采集大棚内的温度变化情况,并通过单片机驱动控制电路,控制升降温设备对棚内的温度进行调控,是棚内的温度保持在设定的范围内,以便适应大棚内蔬菜生长的需要。1.2 国内外研究状况1.2.1 国外棚内温度测控技术研究状况 西方国家在现代温室测控技术上起步比较早,欧美等国家在 30 年代就相继建立了人工气候室,温室测控技术至今已有几十年的发展历程。初期主要是使用仪表对温室中的光照、温度和湿度等参数进行测量,再用手动或电动执行幕帘、通风等调节机构进行简单的控制。随着传感技术、仪表及执行器件技术的进步,温湿度控制逐步发展为对温度、湿度、光照等温室内环境参数分别进行的自动控制。随着智能控制理论的发展和计算机技术的进步,温室作为设施农业的重要组成部分之一,其控制水平和管理技术得以不断的提高,在世界各地都得到了迅速的发展。二十世纪 70 年代,随着电子技术的迅猛发展、微机日新月异的进步和硬件元件价格的大幅度下降,农业对温室温湿度的测控要求进一步提高,之后,以微型计算机为核心的温室综合环境控制系统在欧美等发达地区得到了广泛的应用,并逐步迈入网络化和智能化阶段。目前,国外现代化温室的内部设施已经比较完备,并形成了一定的标准。温室内的各环境因子大多由计算机集中控制,检测传感器也较为齐全,温室内的温度和湿度由传感器的检测基本上可以实现对各个执行机构的自动控制,如以天窗通风、湿帘与风扇配套降温系统以及以热水锅炉、热风机等组成的加温系统。计算机对系统的控制已经实现基于环境模型上的监督控制,以及基于专家系统的人工智能控制,而不仅仅是简单、独立和静态的直接数字控制,一些国家在实现自动化基础上,正一步步向着完全自动化、无人化的方向发展。1.2.2 国内棚内温度测控技术研究状况 我国在温度控制技术方面的研究起步较晚,大概起于 1980 年左右。我国的研究人员在探究发达国家温度控制技术的基础上,慢慢地学会了使用微机控制温室大棚内的温度、二氧化碳等状况,但是这项技术只适用于控制温室大棚内的单个环境因素。我国在温度调控设施方面应用,正一步步地消化吸收国外的技术、从简单的应用方面向实用方面发展、并向综合性应用方面过渡和发展。从技术方面,采用单片机控制的单回路设计较多,2并且大部分还是针对单个参数进行控制,还没有真正意义上的多参数综合控制系统,与发达国家相比,还有较大差距。我国在温度调控方面的现状,正在试着向工厂化方向发展,但是有很大的困难。在生产过程中依旧有许多问题没有解决,一方面是设备的配套方面,存在着装备配套能力差,环境因素控制能力落后,软件和硬件资源兼容性差等缺点。目前,国内有些厂家仍就采用传统继电器调温电路,这种电路简单并且实用 ,但是由于继电器动作频繁,可能会因触点不良而影响正常工作。在控制领域国内大量采用传统的 PID 控制方式,但 PID 控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。1.2.3 棚内温度环境控制技术的发展趋势随着计算机技术、传感器技术和自动控制技术的不断发展,温室大棚内的环境控制系统的应用将由简单的以数据采集处理和检测为主,逐步转向以知识处理和应用为主。因此软件系统的研究和开发将不断深入完善,其中以专家系统为主的智能管理系统已取得了不少研究成果,而且应用前景非常广阔。近几年,神经网络、遗传算法、模糊控制等人工智能技术在温室栽培中得到了不同程度的发展和应用。由此可见,温室环境测控技术必将向着智能化、网络化、分布式发展。1.3 本设计的主要内容本系统用 ATMEL 公司生产的 AT89C51 单片机作为主控机,通过对棚内温度的分析,实现数据处理、数据传输、外设控制以及安全报警等功能。详细地说,由种植人员按植物生长所需温度范围进行设定,通过温度传感器 DS18B20 对温室内的温度进行测量,然后经 AT89C51 单片机对采集到的数据进行分析和处理,用 LCD1602 显示出当前环境的温度状况,并根据温度状况启动升温装置或降温装置,使温室内的温度保持在设定的范围内。32 系统设计方案本设计是一个大棚温度自动控制系统。系统温度可以在一定范围内由人工设定,并能在环境温度降低时实现自动通风降温,在环境温度升高时实现自动加温,以保持在设定的温度范围内。2.1 本系统的设计要求本设计是基于 AT89C51 单片机的棚内温度控制器,用于温度的自动控制。具体要求如下:(1)棚内的温度控制在 15-28之间,并且可以通过人工调节其上下限。(2)控制三相电阻炉作为加热设备。(3)采用单相通风机作为通风散热设备。(4)易于操作,方便人机对话。2.2 各模块电路的方案选择及论证2.2.1 控制模块的选择 控制模块的选择是根据设计的内容而定的,并不是用什么单片机都可以。一方面要考虑选用的单片机能否在不加外扩的情况下达到要实现的功能。比如:单片机的存储器空间的大小、单片机的 I/O 口数等。另一方面还要考虑单片机的性价比,是否容易买到等一些外部因素。由于实现该系统功能的程序不会超过 4K,而 AT89C51单片机内部有 4K 的 FlASH 程序存储器和 2K 的数据存储器,因而不需要外扩程序存储器和数据存储器。并且该型号单片机程序下载方便、价格便宜的优点,因而被广泛的应用。2.2.2 键盘模块的选择 选择一:采用 4*4 矩阵型按键,在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式。矩阵按键对应独立按键,可以节约数据线,但需要特定的键盘扫描程序,占用空间较大。通常在按键大于 6 个的时候是用矩阵式按键。选择二:采用独立按键,接线简单,易于理解,不需要特定的键盘扫描程序,占用空间比较少。在本设计中用到了 4 个按键,所以选用独立按键比较合适。2.2.3 温度测量模块的选择 选择一:利用热电阻传感器作为感温元件,热电阻随温度变化而变化,用仪表测量4出热电阻的阻值变化,从而得到与电阻值相应的温度值。最常用的是铂电阻传感器,铂电阻在氧化介质中,甚至在高温的条件下其物理,化学性质不变。由铂电阻阻值的变化经小信号变送器 XTR101 将铂电阻随温度变化的转换为 420mA 线性变化电路,再将电流信号转化为电压信号,送到 A/D 转换器,即将模拟信号转换为数字信号。电路结构复杂,误差较大。选择二:采用数字温度传感器 DS18B20。采用数字温度传感器 DS18B20,测温范围-55125,其内部集成了 A/D 转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器 DS18B20 只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20 芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器 DS18B20 做成探头,探入到狭小的地方,增加了实用性。DS18B20 与传统的热敏电阻相比,它可以直接测量当前环境的温度,并且可按照自己的需求采用编程实现数字读取。另外从数字温度传感器 DS18B20 读出的数据或写入的数据只要一根线就可以完成,因而使用 DS18B20 可使设计的硬件电路结构更加简单,可靠性更高。所以此设计中选用 DS18B20 温度传感器,既节省了 A/D 转换器,又节省了 I/O 输出口,同时误差小,测量准确。2.2.4 显示电路模块的选择 选择一:采用 12864 液晶模块显示测得的数据。该显示模块可以显示较多组的数据,字体较大,读数清晰,但 12864 液晶模块价格昂贵,接线复杂。选择二:采用 LM016L 液晶模块显示所测数据。LM016L 液晶接线简单方便,也能满足显示需求,而且价格远低于 12864 液晶。综上所述,显示模块选择选择二。2.2.5 升温降温模块的选择 根据题目,可以使用电热炉进行加热,控制电热炉的功率即可以控制加热的速度。当温度过高时,关掉电热炉打开通风机进行降温处理。当需要加热时开启电炉关闭通风机。由于电热炉和通风机的功率较大,考虑到简化电路的设计,我们直接采用 220V 电源。对升温降温模块有以下两种选择:选择一:采用继电器控制。使用继电器可以很容易实现地通过较高的电压和电流,在正常条件下,工作十分可靠。继电器无需外加光耦,自身即可实现电气隔离。这种电5路无法精确实现电热丝功率控制,电热丝只能工作在最大功率或零功率,对控制精度将造成影响。选择二:应用了光电耦合器,光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端。其工作时,在光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出端引出,这样就可以实现电一光一电的转换,从而把输入和输出的独立开来。由于光电耦合器把输入和输出相互隔离,使传输的电信号只能单向传导,因而可以很好实现电路的抗干扰功能和绝缘功能。另外,为了达到高强的共模抑制功能,在光电耦合器的输入端加入了电流型的低阻元件。所以,在使用到长线传输信息的系统中把它作为一种终端的隔离元件,可以有效的提高系统的信噪比。在计算机用到数字通信部分和实时控制部分时,将其作为一种信号隔离的接口部件,可以有效地提高计算机在工作时的可靠性通过比较,我们选择选择二。2.2.6 报警模块的选择 按照设计要求,当温度低于下限或高于上限时,应具有报警功能。这样就可以用一只蜂鸣器作为三极管 VT1 的集电极负载,当 VT1 导通时,蜂鸣器发出鸣叫声;VT1 截止时,蜂鸣器不发声。2.3 本设计系统的最终方案根据以上分析,结合器件和设备等因素,确定如下方案: 1. 采用 AT89C51 单片机作为控制器,分别对温度采集、LCD 显示、温度设定、升温降温等控制。2. 温度测量模块采用数字温度传感器 DS18B20。3. 电热炉和通风机控制采用光耦合器控制。4. 显示用 LCD1602 显示实时温度值。2.4 本设计的工作原理棚内温度控制系统能完成数据采集、数据处理、数据显示、参数设定和过限报警等多种功能,由数据采集部分、数据处理部分、显示部分、过限报警部分和温度调控部分等 5 个大的部分组成。该系统具有实时采集(检测温室内的温度) 、实时处理(使所检测的温度值与设定值进行比较分析,决定下一步操作) 、实时报警(根据处理的结果发出控6制指令,驱动或不驱动报警器工作)和温度调控(根据处理的结果发出控制指令,驱动或不驱动调温设备工作)的功能。主要硬件包括温度传感器、单片机、键盘、LCD 显示器和报警器、调温设备等。其原理结构图如下图 2-1 所示。AT 89C51单片机显示器模块降温模块升温模块报警模块复位和晶振模块温度采集模块上下限设定模块图 2-1 温度自动控制主要组成部分由图 2-1 所示,本系统的核心部分是 AT89C51,此芯片是该电路的枢纽。由它先控制着温度传感器对温度采集,将采集到的温度转换数字,采集到的温度由 LCD 液晶显示屏显示。再将采集到的温度与人工设置的哪个范围比较,从而控制继电器动作,继而控制加热设备和通风散热设备作出相应的动作,达到对棚内温度的自动控制。73 棚内温度控制系统的硬件电路设计本系统的硬件电路设计主要包括单片机 AT89C51、振荡和复位电路、温度采集电路、键盘电路、显示电路,升降温电路与报警电路,下面将一一介绍。3.1 AT89C51 单片机本系统采用 AT89C51 单片机,它是美国 ATMEL 公司生产的低电压、高性能CMOS8 位单片机,片内含 4KB 的 EPROM 和 128B 的 RAM,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位 CPU 和FLASH 存储单元,功能强大,可灵活应用于多种控制领域,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2 振荡电路和复位电路AT89C51 的 XTAL1 和 XTAL2 引脚分别为单片机内反相放大器的输入和输出端,其频率上限为 23MHz。这个内部反相器与外部元件组成皮尔斯振荡器,C1、C2 是 30PF 的电容,X1 没有严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡工作的稳定性、起振的难易程度,通常选择在 1030PF 之间。在任何情况下,振荡器都会始终驱动内部时钟发生器向主机提供时钟信号。时钟发生器的输入是一个二分频触发器,对外部的振荡信号脉冲没有特殊要求,但必须要保证高低电平的最小宽度。在外接晶振 11.0592MHz 时,一个机器周期为 1 微秒,一个振荡周期为 1/12 微秒。简单的复位电路包括上电复位和手动复位两种,无论哪一种复位电路都必须要保证在 RST 引脚上供应 10ms 以上稳定的高电平。复位电路包括芯片内和芯片外两部分,外部电路产生的复位信号送至斯密特触发器,再经片内复位电路在每个机器周期的 S5P2 时刻对斯密特触发器的输出进行采样,之后得到内部复位操作需要的信号。本设计中的复位电路,由 C3、R5、R6 和按键组成的电平复位,复位端经电阻与 VCC 电源接通。其连接电路如图 3-1 所示。8图 3-1 振荡电路和复位电路3.3 温度采集电路温度采集电路采用美国 DALLAS 半导体公司生产的 DS18B20 型单线智能温度传感器, 属于新一代适配微处理器的智能传感器。该传感器适应电压范围宽,可实现高精度测温,检测速度快,测量结果直接以数字温度信号输出,具有极强的抗干扰纠错能力、传输距离长、分辨率强等优点。DS18B20 在使用时,只需将其信号线与单片机的 1 位 I/O 线相连,且单片机的 1 位I/O 线可挂多个 DS18B20,可以实现单点或多点温度检测。DS18B20 的 I/O 口属于漏极开路输出,外接上拉电阻后常态下呈高电平。该器件内含寄生电源,其供电方式可以选择寄生电源供电,也可以选用外部电源供电。为方便起见,本系统采用外部电源供电。本设计 DS18B20 的 DQ 与单片机的 P2.7 端口连接,其连接电路如图 3-2 所示。图 3-2 温度检测电路3.4 键盘电路基于单片机的温度控制系统工作时应具备以下功能:一、可以切换显示实时温度和温度上下限的值。二、可以调节温度上下限。要实现这些功能,可以通过按键输入电路。9键盘结构可分为独立式键盘和行列式键盘(矩阵式)两类,由于本系统只采用 4 个按键,因此可选用独立式按键。如图 3-3 所示,电路有四个按键组成,按键采用轻触开关。图 3-3 键盘与 AT89C51 单片机的连接各个按键的功能为:S1:上限上调键(按此键则显示的报警上限增 1)S2:上限下调键(按此键则显示的报警上限减 1.)S3:下限上调键(按此键则显示的报警上限增 1.)S4:下限下调键(按此键则显示的报警上限减 1)3.5 显示电路显示电路部分采用 LCD 为液晶显示器,由于 LCD 的控制必须使用专用的驱动电路,且 LCD 面板的接线需要采用特殊技巧,再加上 LCD 面板十分脆弱,因此一般不会单独使用,而是将 LCD 面板、驱动与控制电路组合成 LCM 模块一起使用。该系统采用数字式的 LM016L 显示器,显示器通过电压对其显示区域进行控制。其接口简单,操作方便。显示器与单片机连接图如图 3-4 所示。LM016L 引脚功能如表 3-1 所示。表 3-1 LM016L 引脚功能表引脚号功能或接法1接地2接 5V 正电源3对比度调整端4寄存器选择5读写信号线,高电平时会进行读操作6使能端,低电平时液晶模块会执行命令71488 位双向数据线10图 3-4 显示器与 AT89C51 的连接图P0 口接上拉电阻时应注意的几点:P0 口作为 I/O 口输出的时候,输出低电平位 0,输出高电平为高阻态(并非 5V,相当于悬空状态) 。也就是说 P0 口不能真正的输出高电平给所接的负载提供电流。3.6 升温电路和降温电路本设计采用了光电耦合器控制三极管,再进一步控制继电器线圈,这样做的好处:信号单向传输,输入端与输出端完全实现了电气隔离,输出信号对输入端无影响,抗干扰能力强,工作稳定,无触点,使用寿命长,传输效率高。如图所示 3-5 所示。11图 3-5 升降温电路单片机的 P3.6 和 P3.7 口控制两个光电隔离的输出口,当单片机输出低电平是发光二极管发光,三极管导通,然后驱动下一个三极管使之导通,线圈导通后继电器触点接通从而接通通风机或电热炉。3.7 报警电路报警器是一种为了防止或预防某事件发生造成的后果,以声、光、气压等形式来提醒或者警示操作人员采取某种措施的电子产品。随着当今科技的发展,机械式报警器正逐渐被先进的电子报警器取代。报警器常应用于系统故障、交通运输、应急救灾、感应检测等领域,与社会生产密不可分。在微型计算机控制系统中,为了安全生产,对一些重要的参数,都会设置紧急状况报警系统,以提醒操作人员注意采取紧急措施。一般方法是通过微型计算机处理采集到的数据,并与所设定参数上下限值进行比较,如果高于上限值或低于下限值,系统将进行报警,否则会作为采样的正常值显示。本设计采用蜂鸣音报警电路。连接图如图 3-6 所示,当输出高电平“1”时,晶体三极管导通,压电蜂鸣器两端获得约+5V 电压而鸣叫;当输出低电平“0”时,三极管截止,蜂鸣器停止发声。 图 3-6 三极管驱动的蜂鸣音报警电路报警电路与单片机的 P1.7 口相连,当单片机输出一个低电平时,蜂鸣器就会发出报警信号,说明温度已经超过规定的上下限值,外部输出设备应该启动进行相应的措施。只用在人按下复位按钮或温度在允许的范围内报警电路就不会触动。3.8 系统总体电路系统的总体电路如图 3-7 所示,该电路图主要由 Proteus7 软件辅助设计,Proteus7 软12件有丰富的操作菜单和工具,内置元件库元件丰富,可以满足此论文的硬件设计要求。由 DS18B20 温度传感器对信号进行采集,温度信号传输给 AT89C51 单片机,在 LCD 显示器上显示数值,如果超过所设定温度范围,蜂鸣器报警器、马达和灯泡将随光电耦合器和继电器的动作,继而作出相应动作。 图 3-9 系统总体电路134 软件设计与仿真本设计运用单片机开发,除上述所说的必要的硬件以外,还需要运用软件。目前 Keil软件是 C51 系列单片机常用的开发软件,它提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。4.1 设计思想该棚内温度控制系统的软件采用模块化方法设计,根据实际需要,单片机软件主程序由若干模块组成,包括初始化模块、LCD 显示模块、数据发送/接受中断服务程序模块、数据采集模块、数据处理模块。其中有些模块还包含有子模块,使用时下一级模块被高一级模块调用,各部分既相互独立又相互联系。主程序进行扫描,单片机根据扫描信息对传感器、显示器、报警器、马达等进行控制。调用温度检测程序时,单片机首先对温度传感器 DS18B20 进行初始化,成功则读字节,再写入字节,读取温度数据送到 LCD 显示。4.2 程序流程图主程序主要完成子程序的调用,主程序流程图如图 4-1 所示:开始初始化温度采集程序按键扫描温度显示子程序温度控制子程序结束图 4-1 系统软件流程图144.2.1 温度采集子程序温度采集就是把温度传感器采集到的数据传输给单片机,供显示器显示和温度控制部分的判定。程序的流程图如图 4-2 所示。开始初始化DS18B20向总线发复位脉冲发读ROM指令读入数据并保存发跳过ROM指令温度转换完毕复位DS18B20发跳过ROM指令读取温度值结束NY图 4-2 温度采集子程序4.2.2 按键扫描子程序按键扫描就是通过按键调节设定温度的上下限的值和控制单片机的复位。按键扫描程序如图 4-3 所示。15开始功能键按下?S1按下S2按下S3按下S4按下S按下上限值+1上限-1下限值+1下限值-1初始化结束YN 图 4-3 按键扫描子程序4.2.3 温度控制子程序温度控制就是通过采集到的温度预设定的温度比较,当温度高于设定的温度上限时,并通过光电耦合器和继电器的动作,继而启动通风散热设备,使棚内的温度降低;当温度低于设定的温度下限时,并通过光电耦合器和继电器的动作,继而启动加热设备,是棚内的温度升高。温度控制程序如图 4-4 所示。开始温度设定上限值?启动通风散热设备温度设定下限值?启动加热设备结束YNNY16图 4-4 温度控制子程序4.3 程序调试软件部分通过 C 语言编程,在 Keil 软件开发环境下将已编好的程序进行编译和调试,之后生成.HEX 文件,与单片机连接并借助 Proteus 软件进行仿真。温度检测与报警模块通过 Keil 编译结果如图 4-2 所示,生成.HEX 文件如图 4-3 所示,系统仿真图如 4-4 和 4-5所示。图 4-2 程序模块通过 Keil 编译结果图 4-2 所示为系统温度检测、报警模块和控温模块程序通过 Keil 编译器编译结果,经过检测,温度检测、报警模块与控温模块程序没有错误和警告。图 4-3 生成.HEX 文件通过 Keil 软件,建立一个项目文件,然后新建一个 C 语言程序,把新建的 C 程序添17加至项目中,之后编译项目,把程序设计语言转化为机器语言,即.HEX 文件。4.4 温度超过设定上限的仿真如图 4-4 所示,当温度高于设定上限限,单片机驱动蜂鸣器报警并通过驱动光电耦合器进一步驱动继电器动作,启动通风散热设备(本仿真中用马达代替通风散热设备)对棚内温度降温,当温度恢复到设定的范围内,蜂鸣器停止报警,同时通风散热设备停止运行。图 4-4 温度超过设定上限,启动报警和降温装置4.5 温度低于设定下限的仿真如图 4-5 所示,当温度低于设定下限,单片机驱动蜂鸣器报警并通过驱动光电耦合器进一步驱动继电器动作,启动加热设备(本仿真中用灯泡代替加热设备)对棚内温度升温,当温度恢复到设定的范围内,蜂鸣器停止报警,同时加热设备停止运行。18图 4-5 温度低于设定下限,启动报警和加温装置195 总结本设计是一个大棚温度自动控制系统。系统温度可以在一定范围内由人工设定,并能在环境温度降低时实现自动通风降温,在环境温度升高时实现自动升温,以保持棚内的温度在设定的范围内。其优点是操作简单、结构合理、价格便宜,能满足普通的菜农对大棚内环境的要求。但是也存在一些问题:其一,设计中未涉及温室内的其它环境因素(如湿度、二氧化碳浓度等)的控制部分,主要设计温度控制部分,从而不适合对棚内有较高要求的用户。其二,本设计中只对棚内的温度进行了单点测量,对测量位置的摆放有一定的要求,测量到的温度与实际的大棚内温度有一定的偏差。对以上存在的问题,设计了如下的改进方法:采用多个温度传感器对棚内的温度进行多点测量,并加入其它的环境因素的控制,如加入湿度传感器对棚内的湿度进行测量。20参考文献参考文献1 王敏.温室大棚温湿度、二氧化碳测控系统的研究D.西安理工大学,2007.2 王明慧.数字温度传感器 DS18B20 在化学工业现场温度检测中的应用J,2007.3 李广弟,朱月秀,冷祖祁.单片机基础M.北京航空航天大学出版社,2007.4 于永学.1-Wire 总线数字温度传感器 DS18B20 及应用J.电子产品世界,2003.5 蓝和慧,宁武,闫晓金.全国大学生电子设计竞赛J.电子工业出版社,2009.6 胡汉才.单片机原理及其接口技术M.北京: 清华大学出版社, 2004.7 求是科技.单片机典型模块设计实例导航M.北京: 人民邮电出版社, 2004.8 王化详,张淑英.传感器原理M天津: 天津大学出版社, 2002.(5)9 王港元.电工电子实践指导J江西: 江西科学技术出版社, 2005.(6)10 杨素行著.模拟电子技术基础(第二版) M.北京: 高等教育出版社, 2006.11 陈静.单片机应用系统中的编程语言J.淮北职业技术学院学报.2009.8(1):43-44.12 仝庆华.基于 Proteus 单片机虚拟实验室J.山西大同大学学报(自然科学版).2009.25(2):23-25.13 包敬海,侯昭武,吴国辉.基于 AT89C52 单片机设计智能锅炉控制系统J.北京中国科技信息.2009. 14 周红丽,张天开等基于单片机的九路温度监控系统J 青岛:微计算机信息2008.15 刘华东,张亚华.单片机原理与应用(第二版)M.北京:电子工业出版社.2006:1-5.21附 录源程序#include#include#define uchar unsigned char#define uint unsigned intsbit leden=P22;sbit ledrs=P20;sbit ds=P27;sbit led0=P36;/加热端口sbit Fan=P37; /风扇端口sbit key1=P10;/按一下,温度上限加 1sbit key2=P12; /按一下,温度上限减 1sbit key3=P14; /按一下,温度下限加 1sbit key4=P16; /按一下,温度下限减 1sbit Tru=P17;uint temp;float f_temp; uchar TFLAG;uint num=280; /温度上限uint num2=150; /温度下限unsigned char disdata4;void delay(uint z) /延时uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void delayms(uint xms) /延时 uint i,j; for(i=xms;i0;i-) for(j=10;j0;j-);void write_com(uchar com) /lcd1602 写指令ledrs=0;P0=com;delay(5);leden=1;22delay(5);leden=0;void write_date(uchar date) /lcd1602 写数据ledrs=1;P0=date;delay(5);leden=1;delay(5);leden=0;void init() /lcd1602 初始化leden=0;write_com(0 x38);write_com(0 x0c);write_com(0 x06);write_com(0 x01);void dsreset(void) /ds18b20 初始化uint i;ds=0;i=103;while(i0)i-;ds=1;i=4;while(i0)i-;bit tempreadbit(void) /ds18b20 读字节uint i;bit dat;ds=0;i+;ds=1;i+;i+;dat=ds;i=8;while(i0)i-;return(dat);23uchar tempread(void) /ds18b20 读字uchar i,j,dat;dat=0;for(i=1;i=8;i+)j=tempreadbit();dat=(j1);return(dat);void tempwritebyte(uchar dat) /ds18b20 写字uint i;uchar j;bit testb;for(j=1;j1;if(testb)ds=0;i+;i+;ds=1;i=8;while(i0)i-; elseds=0;i=8;while(i0)i-;ds=1;i+;i+;void tempchange(void) dsreset();delay(1);tempwritebyte(0 xcc);tempwritebyte(0 x44); /ds18b20 温度转换指令24uint get_temp() /ds18b20 温度转换uchar a,b;dsreset();delay(1);tempwritebyte(0 xcc);tempwritebyte(0 xbe);a=tempread();b=tempread();temp=b;temp=8;temp=temp|a;if(tempnum)|(tnum)motor();elseFan=0; if(tnum2)warn();elseled0=0;void keyscan() /按键扫描if(key1=0)delayms(1);if(key1=0)num=num+10;while(!key1);if(key2=0)delayms(1);if(key2=0)num=num-10;while(!key2);if(key3=0)delayms(1);if(key3=0)num2=num2+10;while(!key3);if(key4=0)delayms(1);if(key4=0)26num2=num2-10;while(!key4);void display(uint j) /显示 uchar FLAGDAT; disdata0=j/1000+0 x30; disdata1=j%1000/100+0 x30; disdata2=j%100/10+0 x30; disdata3=j%10+0 x30; if(TFLAG=0) FLAGDAT=0 x20; else FLAGDAT=0 x2d; if(disdata0=0 x30) disdata0=0 x20; if(disdata1=0 x30) disdata1=0 x20; write_com(0 x81);write_date(0 x48); /Hwrite_com(0 x82);write_date(num/100+0 x30); /温度上限第一位write_com(0 x83);write_date(num%100/10+0 x30); /温度上限第二位write_com(0 x84);write_date(0 x20); /空格write_com(0 x85);write_date(0 x4c); /Lwrite_com(0 x86);write_date(num2/100+0 x30); /温度下限第一位write_com(0 x87);write_date(num2%100/10+0 x30);/温度下限第二位write_com(0 x40+0 x82); write_date(FLAGDAT); /温度大于零不显示,温度小于零显示负号- write_com(0 x40+0 x83); write_date(disdata0); /温度第一位 write_com(0 x40+0 x84); write_date(disdata1); /温度第二位 write_com(0 x40+0 x85);write_date(disdata2); /温度第三位27 write_com(0 x40+0 x86); write_date(0 x2E); /小数点 write_com(0 x40+0 x87); write_date(disdata3); /温度第四位void main() /主程序init();dsreset(); while(1) tempchange(); keyscan(); deal(get_temp(); display(get_temp(); 28致 谢经过半年的不懈努力,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有指导老师的督促指导,以及一起学习的同学们的支持,想要完成这个设计是难以想象的。在毕业论文完成之际,我要在此表达对他们最诚挚的感谢。在这里首先要感谢我的指导老师郭利辉老师。在本论文的写作过程中,我的导师郭利辉老师倾注了大量的心血,从选题到开题报告,从写作提纲,多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励,从设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我悉心的指导。除了敬佩郭老师的专业水平外,她一丝不苟的作风,严谨求实的态度,踏踏实实的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。然后要感谢大学四年来所有的老师,为我打下电气专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励,此次毕业设计才会顺利完成。更要感谢的是我的父母,20 多年来对我的培育之情。最后感谢我的母校许昌学院四年来对我的大力栽培。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!