




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绪论1.1研究目的和意义目前,我国农业正处于从传统农业到以优质,高效,高产为目标的现代化农业转化的新阶段。而大棚作为现代化农业实施的重要产物,在国内多数地区得到了广泛应用。现代农业生产离不开环境控制,农业大棚控制系统是实现温室生产管理自动化、科学化的基本保证。结合作物生长规律,控制环境条件,使作物在不适宜生长的反季节中,可获得比室外生长更优的环境条件,从而使作物达到优质、高产、高效的栽培目的。由于大棚中各种环境因素是可以人为控制的,因此控制技术直接决定着大棚中农作物的产量和质量。1.2阅读的主要参考文献及资料名称[1]黄遵熹.单片机原理接口与应用[M].西北工业大学出版社,2000.147—150.[2]刘文涛.单片机应用开发实例.清华大学出版社2005.[3]韩太林.单片机原理及应用.电子工业出版社.2005.[4]张毅刚.单片机原理及应用.高等教育出版社.2004.[5]何立民.单片机应用技术选编[第三版].北京航空航天大学出版社.2003.[6]付家才.单片机控制工程实践技术.北京化学工业出版社.2004.[7]严天峰.单片机应用系统设计与仿真调试.北京航空航天大学出版社,2005[8]徐爱钧.8051单片机实践教程[M].电子工业出版社.20061.3国内外现状和发展趋势与研究的主攻方向美国是将计算机应用于大棚和管理最早,最多的国家之一。美国开发的大棚计算机控制与管理系统可以根据作物的特点和生长所需要的条件,对大棚/仓库内的光照,温度,湿度等诸多因素进行自动控制。这种自动控制系统需要种植者输入温室作物生长所需的环境的目标参数,计算编机根据传感器的实际测量值与事先设定的目标进行比较,以决定大棚/仓库温湿度的控制过程,按照相应的机构进行加热,降温或者是浇水,通风等。目前,我国绝大部分自主开发的大棚温湿度控制或者进口的国外设备都属于这种系统。虽然这种自动控制系统实现了自动化,适合规模化生产,提高了劳动生产率,通过改变大棚温室度的设定目标,可以自动的对大棚内温湿度进行调节,但是这种调节对作物的生长来说还是相对滞后的,难以介入作物生长的内在规律。所以在这种自动控制系统和实践的基础上,温湿度自动控制向着适合不同作物生长的智能化控制发展。国外大棚业正致力于高科技发展,遥测技术,网络技术,控制局域网已逐渐应用于大棚的管理和控制中,近几年各国温度控制技术提出建立大棚行业标准,朝着网络化,大众化,大规模,无人化的方向发展的思路。1.4主要研究内容,关键问题的解决思路本系统的设计的硬件主要包括:主要是单片机AT89C52,检测系统,显示电路,报警电路等。利用传感器测量大棚内的温湿度经过信号处理,将传感器测得的数据送至控制系统(AT89C52),与预设的农作物最适合生长的温湿度值的上下限进行对比,并通过显示电路将测得的温湿度进行实时显示。如果不同作物的适合生长的温度不一样,可以通过键盘电路修改预设值。控制系统根据比较的结果对调节系统发出相应的指令,启动相应的调节设备如喷水机,吹风机,加热器,降温等,调节大棚内的温湿度状态。如果测得的数据超过了预设值的上下限,则报警电路会报警。这样就实现了对大棚温湿度的自动控制。
本文主要研究内容如下:
1.进行温湿度控制系统的整体研究与设计。
2.利用数字温湿度传感器测量大棚内的温湿度。
3.利用LCD对温湿度进行实时显示。4.当大棚温湿度值超出设定范围值时,系统可自动报警,并输出驱动信号控制继器对大棚温湿度进行调节。2系统方案设计2.1温湿度控制系统的设计指标要求本文要设计的大棚温湿度自动控制系统,要能够及时、准确地对温室大棚内的温度、湿度进行采集,将其显示在LCD1602液晶显示器上,然后与设定的上下限值进行比较,如果超出限制则启动温度、湿度控制设备,并通过蜂鸣器报警,直到温湿度回到规定的范围。另外,还要能够通过按键修改设定的上下限。为了能够满足农业生产的需要,此次设计要达到一下指标:(1)工作环境:温室大棚;(2)温度测量误差:±1℃;(3)测温范围:0~+55℃;(4)湿度测量误差:±5%RH;(5)测湿范围:0~100%RH;(6)通过键盘电路修改上下限:有;(6)温湿度报警:有;2.2系统设计的原则2.2.1可靠性可靠性是在设计过程中应该优先考虑的一个因素,一个控制系统必须要能稳定、可靠地工作,才能投入到生产实践中去。如果系统的可靠性不能达标,那么系统出现故障的可能就会增大,造成很大的损失。这种损失不仅包括经济上和信誉上的损失,而且可能会对人身安全产生威胁。要提高控制系统的可靠性,那么就要注意以下几个方面:选用的元器件要有很高的可靠性;由于供电电源很容易产生干扰,所以应该对其采用抗干扰措施;对输入输出通道也一样,要采用抗干扰措施;在对电路板的设计时,要合理的布线和接地;软硬件都要进行滤波;系统要有自己诊断功能等。2.2.2性价比性价比也是一个系统设计中所要考虑的重要因素。性价比高的产品更容易被消费者接收,但是设计过程中不能盲目地追求性价比,它应该建立在对产品性能要求的基础上,首先要满足性能要求,然后再设法降低产品成本。2.3方案比较2.3.1方案一采用PLC作为主控制器。使用PLC的最大优点在于PLC使用梯形图进行编程,编程语言形象直观,难度较低,因此开发周期短,便于扩展。而且PLC抗干扰能力强,工作稳定可靠,这一点已被长期的工业控制实践所证明。继电器继电器键盘输入加热器制冷器加湿器除湿器液晶显示蜂鸣器报警温湿度传感器PLC温室大棚图2.1用PLC作为主控制器的控制系统2.3.2方案二使用单片机进行控制。采用AT89C52单片机作为主控制器,可以用C语言进行编程,由于它支持ISP在线编程,因此可以通过RS232串口将程序烧录到单片机中,很方便。温湿度传感器SHT10通过I2C总线与单片机连接。温湿度传感器温湿度传感器单片机加热器制冷器加湿器除湿器键盘输入蜂鸣器报警继电器液晶显示温室大棚图2.2用单片机作为主控制器的控制系统2.4方案论证从功能上看,两种控制器都能满足要求。PLC在工业控制领域用得比较多,编程简单,而且抗干扰能力强。但是本系统是用于温室大棚,并没有其他大型工业设备的干扰。单片机用C语言编程,相对PLC的梯形图要复杂得多,但是编程更为灵活,可以实现复杂的功能。从价格方面上看,单片机就比PLC具有很大的优势。一个单片机只要几块钱,而一个很一般的PLC一般也要几百上千元。另外,中国是农业大国,随着温室大棚越来越普及,农村对温湿度控制系统的需求也会越来越旺盛,因此虽然用单片机开发的周期较长,但是一旦完成开发,后期生产环节的边际成本很小;而基于PLC的控制系统受制于PLC的高昂价格,价格难以降低。2.5方案选择PLC和单片机都能作为主控制器进行设计,但是在价格方面单片机具有巨大优势。综上所述,本次设计采用单片机作为主控制器。3单元模块设计3.1各单元模块功能介绍及电路设计3.1.1单片机最小系统图3.1单片机最小系统单片机的最小系统应包括振荡电路和复位电路等。振荡电路(时钟电路)的主要任务是为AT89C52单片机正常工作需要的时钟电路提供一个稳定的工作频率。根据AT89C52单片机时钟周期的要求,回路需要选用频率为12MHz的晶振。晶振回路由电容和陶瓷谐振器并联组成,作为单片机的时钟源。AT89C52内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2端口接上时钟电源即可构成时钟电路。本设计中采用内部时钟产生方式。在XTAL1和XTAL2两端跨接晶振,与内部的反相器构成稳定的自激振荡器。其发出的时钟脉冲直接送入单片机内定时控制部件。电容C1和C2对频率有微调作用,应尽可能的安装在单片机芯片附近,以减少寄生电容,保证振荡器稳定可靠的工作。
复位电路的功能就是对CPU进行实时监测,当CPU落入死循环之后,能及时发现并使整个系统复位。为确保微机系统中电路稳未定可靠工作,复位可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为4.75〜5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC上电时,只有当VCC超过4.75V,低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
为了确保系统中的电路温度可靠工作,复位电路是必不可少的部分
,其第一功能就是高电平复位,高电平复位是在通电瞬间通过充电来实现的。手动复位是指通过接通一按键开关,使单片机进入复位状态。系统上电运行后,如果需要复位,只需通过手动复位就可以实现。
图3.2上电+手动复位电路单片机的复位主要有上电复位和手动复位,之所以要进行复位,目的就是为了让单片机进入初始状态,比如让PC指向0000H,这样单片机才能从头运行程序。因此上电的时候就要让单片机复位一次;在运行过程中,如果程序出错,也需要进行手动复位。本设计中的复位电路就是上电+手动复位电路,复位时要让STC89C52RC的RST引脚得到2个机器周期以上的高电平。先说说上电复位的工作原理,当单片机上电时,电源+5V的Vcc通过10K的电阻对10uF的电容进行充电。刚上电时,有较大的电流从Vcc经电容、电阻流向GND,由于电容两端的电压不可突变,因此仍然为0V,于是电阻的两端分得5V的电压,即RST引脚此时的电势为5V。随着充电的继续进行,电流会逐渐减小,电阻两端的电压UR=IR也逐渐减小,即RST引脚的电势逐渐减小。过了一定时间,RST引脚两端的电压下降到不再是高电平,只要这个充电的时间大于单片机两个机器周期,就能使单片机复位。程序运行过程中如果跑飞了、程序运行出错或操作错误使系统处于死锁状态时,就需要用到手动复位。手动复位就是在上电复位电路的电容两边并联一个微动开关,需要手动复位时将其按下,使之接通,RST获得高电平,而且人按动按钮的时间肯定是超过两个机器周期的,于是单片机复位。3.1.2液晶显示模块测量到的温湿度值将显示到液晶屏LCD1602上,它可以显示2行,每行16个字符。LCD1602共有三个存储器,它们是CGROM、CGRAM和DDRAM。CGROM用来保存LCD1602内部固化的一些字符的字模,比如英文的26个字母的大小写;CGRAM用来保存用户自己取的字模,比如,如果要显示汉字,就必须自己去汉字字模,在这里我们都用英语字母,故不用CGRAM;DDRAM用来存储要显示的字符的字模,它和屏幕上的位置是对应的,第一行为00H到0FH,第二行为40H到4FH。在这里需要注意的是,在向LCD1602写入显示数据存储器地址时,根据控制指令的格式,最高位D7为1,所以写入的数据为,第一行80H到8FH,第二行C0H到CFH。它与单片机的接口电路如下图所示:图3.3LCD1602与单片机的接口电路3.1.3温湿度传感器模块温湿度传感器选用瑞士Sensirion公司生产的SHT10。SHT1X系列共有三个型号:SHT10、SHT11、SHT15,他们都是SMD贴片封装的,他们依次性能越来越好,其中SHT11属于经济型的温湿度传感器。三者的温湿度性能如下图所示。图3.4SHT1X系列各型号传感器的湿度、温度最大误差从曲线中可以看出,无论是湿度还是温度,SHT10的误差都是最大的,SHT15误差最小,但是它们的价格也相差很大,SHT10多为二三十元一个,而SHT15价格上百。因此,从满足大棚温湿度监测的要求来看,SHT11已经足够,故选用SHT11。SHT11与单片机的接口电路如下所示:图3.5SHT11与单片机的接口电路SHT11采用类似于I2C的两线制串行总线,一根是时钟线,一根是数据线。数据线要通过一个上拉电阻接到VCC,目的是避免信号冲突,使单片机的引脚只提供低电平,要得到高电平则使该引脚悬空,由上拉电阻提供高电平。3.1.4报警电路的设计当大棚内的温湿度超过上下限时,除了需要启动温湿度调节器之外,还需要进行报警,这里用到的是蜂鸣器。蜂鸣器为一种采用一体化结构的电子器件,采用了直流电压来供电,广泛的应用到了计算机、报警器、复印机、电子玩具、电话机、汽车电子设备、定时器等电子产品之中用作发声器。蜂鸣器分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器由于内部集成了振荡源,所以使用直流电压就可以驱动它鸣叫;无源蜂鸣器内部没有振荡源,因此一般使用2K~5K方波来驱动。本设计中使用的是有源蜂鸣器,在它两端加载5V的直流电压就可以使之鸣叫。报警电路设计如下图:图3.6报警电路图蜂鸣器工作电流一般为10mA,而单片机的I/O口只能承受几毫安的电流,因此需要加三极管进行驱动。如上图所示,单片机的I/O口中的P1.6接PNP型三极管的基极,当P1.6为低电平时,三极管导通,5V的电压加载到蜂鸣器两端,于是蜂鸣器鸣叫;当P1.6高电平时,三极管截至,蜂鸣器不鸣叫。3.1.5按键电路设计图3.9按键电路图键盘分为编码式和非编码式键盘。其中,非编码式键盘又包括矩阵式键盘和独立式键盘。矩阵式键盘较为复杂,一般用于按键数目较多,而单片机可用的I/O口又比较有限时。本控制系统中只需要用到4个按键,数目较少,并且可用的I/O口充足,故采用独立式键盘,一个按键对应一个单片机的I/O口管脚。本设计中总共用到4个按键式开关,他们用来改变设定的温湿度上下限数值。从S1到S4,分别控制进入温度上下限设置、进入湿度上下限设置、数值加、数值减、确认并退出。本设计中的键盘是低电平有效。未按键时,上拉电阻保证了单片机的I/O口是确定的高电平;当某个键按下时,I/O口变为低电平。3.2元件清单本次设计需要用到的元器件如下表所示:表3.1所需元件列表型号个数AT89C521LCD16021SHT111RES9RESPACK-81CRYSTAL1LED-RED1SPEAKER1BUTTON4PNP1B760011206N23.3关键器件的介绍3.3.1AT89C52AT89C52是一种低功耗、高性能CMOS
8位微控制器,存储器是采用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品的指令和引脚完全兼容。在单芯片上,拥有灵巧的8
位CPU
和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C52具有以下标准功能:8k字节Flash,256字节RAM,32
位I/O
口线,看门狗定时器,2
个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU
停止工作,允许RAM、定时器/计数器、串口、中断继续工作;掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机停止一切工作,直到下一个中断或硬件复位为止。
3.3.2AT89C52引脚图
AT89C52的引脚结构图。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。
P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平,单片机复位。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。应注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。
PSEN:程序储存允许输出(PSEN)是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(其地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。4系统软件设计系统的工作流程是,操作人员在计算机上输入需要设定的温湿度限定值,当设定的温湿度值与检测温湿度值不同时,单片机控制系统则会采取相应的调节动作。此程序流程包括五个部分,第一部分是主程序,其描述总体结构;第二部分是SHT10温度采集程序,其功能是通过SHT10传感器采集温湿度值,并进行修正;第三部分是LCD1602显示子程序,对LCD1602进行初始化,将温湿度进行显示;第四部分是输出控制子程序,对设定值和实际值进行判断以决定是否进行温湿度的调节;第五部分是按键输入电路,用来修改温湿度上下限值。4.1软件设计的总体结构本次设计的大棚温湿度自动控制系统由一个主程序调用多个子程序,它们包括SHT10温湿度采集子程序、LCD1602液晶显示子程序、输出控制子程序、键盘扫描子程序,如下图所示: 主程序主程序SHT10温湿度采集子程序LCD1602液晶屏显示子程序输出控制子程序键盘扫描子程序图4.1程序总体结构主程序主要就是调用各个子程序的C语言文件中定义的函数,实现SHT11、LCD1602初始化等操作,然后测量温湿度,调用函数对数据进行处理,最后进行显示并输出控制信号。在Keil工程中编写程序的时候,为了让整个工程看起来条理清晰,要按照各个模块分别新建C文件写子程序。某个C文件要调用其它C文件中的函数时,要在当前C语言文件中先进行声明,然后再调用,或者也可以把每个C文件中定义的函数都写到相同名字下的.h头文件中,其他C文件要调用该函数时要在前面加上#include<*.h>,将头文件包括进来。对于变量也是如此,如果某个变量也在其他C文件中使用,那么要在一个C文件总将它定义为全局变量,即在函数外面定义。其他C文件要使用该变量时,要先使用extern将全局变量的作用域扩展到本C语言文件。
4.2主要模块的设计流程框图4.2.1主程序流程图YesYes是否超限?将温湿度与设定值比较启动温湿度调节设备对温湿度数据进行修正No在液晶屏上显示温湿度测量温湿度是否有按键?初始化LCD1602Yes开始进入键盘扫描子程序SHT11复位No图4.2主程序流程图
4.2.2SHT11子程序流程图开始开始发送启动时序发送控制字接收数据测量结束?接收校验位结束NoYes图4.3SHT11子程序流程图温湿度传感器SHT11使用类似于I2C总线的时序与单片机通信,由于51单片机没有I2C接口,所以需要编写程序,用单片机的某两个I/O口管脚模拟I2C总线的时序,从而与SHT11通信。SHT11有4种时序:启动传输时序、写字节时序、读字节时序及复位时序。复位时序和启动传输时序可通过依次拉低或拉高时钟线和数据线,因而实现起来比较简单;而写时序和读时序就比较复杂。写时序用来发送控制字,即发送命令,测量结束后,发出读时序读回测量数据。向SHT11的8个数据位的写入,于第9个时钟周期之后,读取应答位,应答位为0时,表示SHT11正确接收。SHT11读写数据的规则是:在时钟线的下降沿之后数据线改变状态,并在时钟线的上升沿有效。
4.2.3LCD1602子程序流程图开始开始LCD1602初始化设置首行数据指针写入首行字符设置第二行数据指针写入第二行字符结束图4.4LCD1602子程序流程图
4.2.4输出控制子程序流程图开始开始返回主程序温度、湿度是否超出上下限?启动温湿度调节设备蜂鸣器报警温湿度是否回到限定值内?停止报警停止温湿度控制设备温湿度是否留有足够的裕量?结束NoYesYesYesNoNo图4.5输出控制子程序
YesNoYesNo4.3软件设计所用工具4.3.1KeiluVision4本次设计采用KeiluVision4来编写C语言程序,通过它的编译器进行编译、连接,最后将生成的机器码下载到单片机上。Keil编译器是目前最流行的单片机开发的软件,它是美国KeilSoftware公司开发的C语言开发系统。它提供了一个完整的开发方案,包括宏汇编、C编译器、库管理、连接器和一个功能强大的仿真调试器等,通过一个集成开发环境将这些部份组合在一起。KeilC51整合了丰富的库函数和功能强大的集成开发调试工具。此外,KeilC51生成的目标代码效率非常高,这一点从生成的汇编语言就可以看出,大多生成的汇编语句很紧凑,容易理解。4.3.2ProteusProteus用来对电路进行仿真,它的功能强大,包括单片机在内的众多元器件都可以仿真。把Keil编译、连接后生成的hex文件导入Proteus单片机中即可对单片机进行仿真。Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件,它不仅具有其它EDA软件的仿真功能,还可以对单片机及其外围器件进行仿真,是目前在这方面做得最好的EDA工具软件。Proteus在国内已受到众多单片机开发者的喜爱。Proteus实现了从概念到产品的完整设计,可以实现从原理图绘制和代码调试到1与其外围电路仿真,一键切换到印刷电路板的设计。目前世界上只有Proteus做到了将电路仿真、印刷电路板设计和虚拟模型仿真整合到一个设计平台,其处理器模型支持8051、HC11、AVR、ARM、8086和MSP430、PIC10/12/16/18/24/30/DsPIC33等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。5系统调试5.1用Proteus搭建仿真总图打开ProteusISIS,在ProteusISIS编辑窗口中单击元件列表之上的“P”按钮,添加元件及放置元件。选放好元器件后,要对元器件进行一个重新的布局,使之看起来很清晰,并且所占面积较小。若想移动某个元件或多个,单击其元件,待其颜色变红后,在按下鼠标左键不放,即可拖动元件。为了使仿真图看起来更整洁,我们部分电路连线选择连线标签模式,以单片机19引脚为例,将其用线引出,如然后再点击左侧任务栏中再单击引线得到对话框如图5.2所示,在窗口中输入X1得到此效果图5.2连线标签窗口若要对某个元件或一部分电路做出说明,则单击任务栏中的TextScriptMode得到如图5.3效果,在界面中输入文字即可。图5.3说明窗口按照正确的方法将元器件进行合理的排布及连线后,得到图5.4图5.4系统仿真电路图5.2用Keil对程序进行调试、编译先打开keiluvision4这款软件,新建工程,点击菜单栏里的newuvisionproject,然后对工程进行保存。再新建文件,点击菜单栏中File下的new新建文件,进行保存。最后把新建的文件添加到工程文件里,右键点击project视图窗口里的SourceGroup1,选择Addfilestogroup“sourcegroup1”,如图所示:图5.5添加文件到工程这样,刚才新建的文件便添加到了SourceGroup1中。现在开始在右边的主界面编写C语言程序,编写完成后为了把程序烧录到单片机上,还需要把它转换成机器码,生成hex文件:右击工程视图窗口中的Target1,选择OptionsforTarget“target1”把Output选项卡里面的CreateHEXFile前面的勾打上,这样编译后会生成机器码,如图所示。图5.6生成机器码6结论6.1系统的功能本系统能测量温室大棚内的温湿度数据,将其显示在液晶屏上。如果温湿度超出了设定的上下限,将进行报警,并启动温湿度调节设备。温度回到限定值内后,停止报警。当温度不仅回到上下限以内,而且留有一定裕量后,停止温湿度调节设备。如果需要修改温湿度上下限,可以通过按键进行修改。6.2系统的指标参数系统的指标参数完成情况如下表所示:表6.1系统指标参数表实现功能结果完成程度测量温度范围-40~40℃完成测量温度误差±0.5%完成测量湿度范围0~100%RH完成测量适度误差±4.5%完成液晶屏显示用LCD1602显示完成超限报警用蜂鸣器报警完成修改上下限通过独立式键盘修改完成6.3系统功能分析该大棚仓库温湿度自动控制系统能通过独立式键盘设置温湿度上下限,通过LCD1602显示温湿度,并在超限的情况下报警、启动调节设备。其中输出控制和通过键盘设置上下限都是通过调用子程序实现的。键盘的工作方式分两种,一种是查询方式,一种是中断方式。中断方式比较节省系统资源,只有当有按键按下时才会进入键盘中断子程序,进一步扫描是那些键被按下;而查询方式则是在主程序中调用键盘扫描子程序,不管有没有键按下,每次程序循环中都要一一判断每个键是否按下,故这种方式占用的单片机的处理时间更多。但是由于本次设计用到的按键不多,只有五个,功能比较简单,而且单片机工作比较空闲,因此使用的是查询方式来处理键盘的输入。此外,还应注意到的是,当温湿度超限后,要报警并启动温湿度调节设备。当温湿度回到规定范围内时,只是停止报警,而温湿度调节设备应该继续保持工作,直到温湿度留有一定裕量时才停止。本设计中的输出控制子程序中设置了温度5℃和湿度5%RH的裕量,这样当温度上限是30度时,如果超出上限,那么温度回到30度时停止报警,当温度降到25度以下时才停止制冷设备的运行。这样可以避免温湿度调节设备反复不停地通断,以致影响使用寿命。7总结与体会 这次毕业设计使我收获良多,以前偏重于理论知识的学习,但是做了毕业设计才发现在动手实践上的不足,无论是画电路原理图、做仿真、做实物都牵涉到很多自己以前没有接触过的内容。通过这次毕业设计,我感觉我实际应用知识的能力有了很大提高。尤其让我感受颇多的是使用万能板焊接实物。这个看似简单的事情花了我三天的时间,而且板子还有很多问题。以前焊过PCB板,于是想当然地以为焊万能板也很容易,不就是用飞线连接吗,还不用画PCB图,不用考虑怎么布线,于是就选择了使用万能板来焊接实物。用导线焊了很久,刚开始还好,到了后来线越来越多,要放置新的元器件都很困难。有些焊点焊多了锡都很难焊上去。由于飞线太多,容易产生很多虚焊,这都为后面的调试增加了难度。所以说,考虑问题要从实际出发,不能想当然。做复杂的板子最好用PCB板,用万能板的话很容易出错。而且,毕业设计是一人一个题目,这很好地锻炼了我的独立思考解决问题的能力和综合分析问题的能力。以前做课程设计都是几个人一组,有什么问题都很容易问别人,并且自己往往就做自己较为熟悉的部分,这使得自己获得的知识很不完整,做一个设计的时候不能全面地思考问题。这次毕业设计,自己一个人从方案的选择、单元模块的设计、器件的选型、软件设计、原理图绘制一直做到英文资料的翻译,自己感觉对设计的整个过程方法有了更深入的了解。总而言之,毕业设计大大地锻炼了我解决实际问题的能力,为我将来的就业打下了坚实的基础。附录1系统仿真图附录2源程序#include<reg52.h>#include<intrins.h>#include<math.h>//Keillibrary#include<stdio.h> //Keillibrary#include"show.h"sbitRS=P1^2;sbitRW=P1^1;sbitE=P1^0;sfrDBPort=0x80;//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口/********1602函数声明********///voidLCD_Initial();//voidGotoXY(unsignedcharx,unsignedchary);//voidPrint(unsignedchar*str);//voidLCD_Write(bitstyle,unsignedcharinput);voiddelay2(){ unsignedinti,j; for(i=0;i<100;i++) for(j=0;j<150;j++);}/*************************************************************************///1602程序//内部等待函数*************************************************************unsignedcharLCD_Wait(void){RS=0;RW=1;_nop_();E=1;_nop_();E=0;returnDBPort;}//向LCD写入命令或数据********************************************************voidLCD_Write(bitstyle,unsignedcharinput){E=0;RS=style;RW=0;_nop_();DBPort=input;_nop_();//注意顺序E=1;_nop_();//注意顺序E=0;_nop_();LCD_Wait();}voidLCD_SetDisplay(unsignedcharDisplayMode){LCD_Write(LCD_COMMAND,0x08|DisplayMode);}voidLCD_SetInput(unsignedcharInputMode){LCD_Write(LCD_COMMAND,0x04|InputMode);}//初始化LCD************************************************************voidLCD_Initial(){E=0;LCD_Write(LCD_COMMAND,0x38);//8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);//开启显示,无光标LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);//清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);//AC递增,画面不动}//液晶字符输入的位置************************voidGotoXY(unsignedcharx,unsignedchary){if(y==0)LCD_Write(LCD_COMMAND,0x80|x);if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0x40));}//将字符输出到液晶显示voidPrint(unsignedchar*str){while(*str!='\0'){LCD_Write(LCD_DATA,*str);str++;}}//慢速显示字符voidPrint_slow(unsignedchar*str){while(*str!='\0'){LCD_Write(LCD_DATA,*str);str++; delay2();}}#include<reg52.h>#include<intrins.h>#include<math.h>//Keillibrary#include<stdio.h> //Keillibrary#include"sht11.h"#defineucharunsignedchar/*typedefunion //定义共同类型{unsignedinti; //i表示测量得到的温湿度数据(int形式保存的数据)floatf; //f表示测量得到的温湿度数据(float形式保存的数据)}value;*/sbitDATA=P2^1;sbitSCK=P2^0;/********SHT11函数声明********///voids_connectionreset(void);//chars_measure(unsignedchar*p_value,unsignedchar*p_checksum,unsignedcharmode);//voidcalc_sth10(float*p_humidity,float*p_temperature);/*************************************************************************************///SHT11程序#definenoACK0 //继续传输数据,用于判断是否结束通讯#defineACK1//结束数据传输; //地址命令读/写#defineSTATUS_REG_W0x06//00000110#defineSTATUS_REG_R0x07//00000111#defineMEASURE_TEMP0x03//00000011#defineMEASURE_HUMI0x05//00000101#defineRESET0x1e//00011110//写字节程序chars_write_byte(unsignedcharvalue){ unsignedchari,error=0; for(i=0x80;i>0;i/=2)//shiftbitformasking高位为1,循环右移 { if(i&value)DATA=1;//和要发送的数相与,结果为发送的位 elseDATA=0; SCK=1; _nop_();_nop_();_nop_();//延时3us SCK=0; } DATA=1;//释放数据线 SCK=1; error=DATA;//检查应答信号,确认通讯正常 _nop_();_nop_();_nop_(); SCK=0; DATA=1; returnerror;//error=1通讯错误}//读字节程序chars_read_byte(unsignedcharack)//{ unsignedchari,val=0; DATA=1;//释放数据线 for(i=0x80;i>0;i>>=1)//高位为1,循环右移 { SCK=1; if(DATA)val=(val|i);//读一位数据线的值 SCK=0; } DATA=!ack;//如果是校验,读取完后结束通讯; SCK=1; _nop_();_nop_();_nop_();//延时3us SCK=0; _nop_();_nop_();_nop_(); DATA=1;//释放数据线 returnval;}//启动传输voids_transstart(void)//generatesatransmissionstart//_____________//DATA:|_______|//______//SCK:___||___||______{ DATA=1;SCK=0;//准备 _nop_(); SCK=1; _nop_(); DATA=0; _nop_(); SCK=0; _nop_();_nop_();_nop_(); SCK=1; _nop_(); DATA=1; _nop_(); SCK=0;}//连接复位voids_connectionreset(void)//communicationreset:DATA-line=1andatleast9SCKcyclesfollowedbytransstart//_____________________________________________________________//DATA:|_______|//_______________//SCK:__||__||__||__||__||__||__||__||__||______||___||______{ unsignedchari; DATA=1;SCK=0;//准备 for(i=0;i<9;i++)//DATA保持高,SCK时钟触发9次,发送启动传输,通迅即复位 { SCK=1; SCK=0; } s_transstart();//启动传输}//软复位程序/*chars_softreset(void)//resetsthesensorbyasoftreset{ unsignedcharerror=0; s_connectionreset();//启动连接复位 error+=s_write_byte(RESET);//发送复位命令 returnerror;//error=1通讯错误}*///温湿度测量chars_measure(unsignedchar*p_value,unsignedchar*p_checksum,unsignedcharmode)//进行温度或者湿度转换,由参数mode决定转换内容;{// enum{TEMP,HUMI}; //已经在头文件中定义 unsignederror=0; unsignedinti; s_transstart();//启动传输 switch(mode)//选择发送命令{ caseTEMP:error+=s_write_byte(MEASURE_TEMP);break; //测量温度 caseHUMI:error+=s_write_byte(MEASURE_HUMI);break; //测量湿度 default:break; } for(i=0;i<65535;i++)if(DATA==0)break;//等待测量结束 if(DATA)error+=1;//如果长时间数据线没有拉低,说明测量错误 *(p_value)=s_read_byte(ACK);//读第一个字节,高字节(MSB) *(p_value+1)=s_read_byte(ACK);//读第二个字节,低字节(LSB) *p_checksum=s_read_byte(noACK);//readCRC校验码 returnerror; //error=1通讯错误}//温湿度值标度变换及温度补偿voidcalc_sth10(float*p_humidity,float*p_temperature){ constfloatC1=-4.0;//12位湿度精度修正公式 constfloatC2=+0.0405;//12位湿度精度修正公式 constfloatC3=-0.0000028;//12位湿度精度修正公式 constfloatT1=+0.01;//14位温度精度5V条件修正公式 constfloatT2=+0.00008;//14位温度精度5V条件修正公式 floatrh=*p_humidity;//rh:12位湿度 floatt=*p_temperature;//t:14位温度 floatrh_lin;//rh_lin:湿度linear值 floatrh_true;//rh_true:湿度ture值 floatt_C;//t_C:温度℃ t_C=t*0.01-40;//补偿温度 rh_lin=C3*rh*rh+C2*rh+C1;//相对湿度非线性补偿 rh_true=(t_C-25)*(T1+T2*rh)+rh_lin;//相对湿度对于温度依赖性补偿 if(rh_true>100)rh_true=100;//湿度最大修正 if(rh_true<0.1)rh_true=0.1;//湿度最小修正 *p_temperature=t_C;//返回温度结果 *p_humidity=rh_true;//返回湿度结果}
请删除以下内容,O(∩_∩)O谢谢!!!conduction,transferofheatorelectricitythroughasubstance,resultingfromadifferenceintemperaturebetweendifferentpartsofthesubstance,inthecaseofheat,orfromadifferenceinelectricpotential,inthecaseofelectricity.Sinceheatisenergyassociatedwiththemotionsoftheparticlesmakingupthesubstance,itistransferredbysuchmotions,shiftingfromregionsofhighertemperature,wheretheparticlesaremoreenergetic,toregionsoflowertemperature.Therateofheatflowbetweentworegionsisproportionaltothetemperaturedifferencebetweenthemandtheheatconductivityofthesubstance.Insolids,themoleculesthemselvesareboundandcontributetoconductionofheatmainlybyvibratingagainstneighboringmolecules;amoreimportantmechanism,however,isthemigrationofenergeticfreeelectronsthroughthesolid.Metals,whichhaveahighfree-electrondensity,aregoodconductorsofheat,whilenonmetals,suchaswoodorglass,havefewfreeelectronsanddonotconductaswell.Especiallypoorconductors,suchasasbestos,havebeenusedasinsulatorstoimpedeheatflow(seeinsulation).Liquidsandgaseshavetheirmoleculesfartherapartandaregenerallypoorconductorsofheat.Conductionofelectricityconsistsoftheflowofchargesasaresultofanelectromotiveforce,orpotentialdifference.Therateofflow,i.e.,theelectriccurrent,isproportionaltothepotentialdifferenceandtotheelectricalconductivityofthesubstance,whichinturndependsonthenatureofthesubstance,itscross-sectionalarea,anditstemperature.Insolids,electriccurrentconsistsofaflowofelectrons;asinthecaseofheatconduction,metalsarebetterconductorsofelectricitybecauseoftheirgreaterfree-electrondensity,whilenonmetals,suchasrubber,arepoorconductorsandmaybeusedaselectricalinsulators,ordielectrics.Increasingthecross-sectionalareaofagivenconductorwillincreasethecurrentbecausemoreelectronswillbeavailableforconduction.Increasingthetemperaturewillinhibitconductioninametalbecausetheincreasedthermalmotionsoftheelectronswilltendtointerferewiththeirregularflowinanelectriccurrent;inanonmetal,however,anincreaseintemperatureimprovesconductionbecauseitfreesmoreelectrons.Inliquidsandgases,currentconsistsnotonlyintheflowofelectronsbutalsointhatofions.Ahighlyionizedliquidsolution,e.g.,saltwater,isagoodconductor.Gasesathightemperaturestendtobecomeionizedandthusbecomegoodconductors(seeplasma),althoughatordinarytemperaturestheytendtobepoorconductors.Seeelectrochemistry;electrolysis;superconductivity.AlmosteveryonehasexperiencedtheDopplereffect,thoughperhapswithoutknowingwhatcausesit.Forexample,ifoneisstandingonastreetcornerandanambulanceapproacheswithitssirenblaring,thesoundofthesirensteadilygainsinpitchasitcomescloser.Then,asitpasses,thepitchsuddenlylowersperceptibly.ThisisanexampleoftheDopplereffect:thechangeintheobservedfrequencyofawavewhenthesourceofthewaveismovingwithrespecttotheobserver.TheDopplereffect,whichoccursbothinsoundandelectromagneticwaves—includinglightwaves—hasanumberofapplications.Astronomersuseit,forinstance,togaugethemovementofstarsrelativetoEarth.Closertohome,principlesrelatingtotheDopplereffectfindapplicationinradartechnology.Dopplerradarprovidesinformationconcerningweatherpatterns,butsomepeopleexperienceitinalesspleasantway:whenapoliceofficerusesittomeasuretheirdrivingspeedbeforewritingaticket.Soundandlightarebothexamplesofenergy,andbotharecarriedonwaves.Wavemotionisatypeofharmonicmotionthatcarriesenergyfromoneplacetoanotherwithoutactuallymovinganymatter.Itisrelatedtooscillation,atypeofharmonicmotioninoneormoredimensions.Oscillationinvolvesnonetmovement,onlymovementinplace;yetindividualpointsinthewavemediumareoscillatingevenastheoverallwavepatternmoves.Thetermperiodicmotion,ormovementrepeatedatregularintervalscalledperiods,describesthebehaviorofperiodicwaves—wavesinwhichauniformseriesofcrestsandtroughsfolloweachotherinregularsuccession.Aperiod(representedbythesymbolT)istheamountoftimerequiredtocompleteonefullcycleofthewave,fromtroughtocrestandbacktotrough.Periodismathematicallyrelatedtoseveralotheraspectsofwavemotion,includingwavespeed,frequency,andwavelength.Frequency(abbreviatedf)isthenumberofwavespassingthroughagivenpointduringtheintervalofonesecond.ItismeasuredinHertz(Hz),namedafternineteenth-centuryGermanphysicistHeinrichRudolfHertz(1857-1894),andaHertzisequaltoonecycleofoscillationpersecond.Higherfrequenciesareexpressedintermsofkilohertz(kHz;103or1,000cyclespersecond);megahertz(MHz;106or1millioncyclespersecond);andgigahertz(GHz;109or1billioncyclespersecond.)Wavelength(representedbythesymbolλ,theGreekletterlambda)isthedistancebetweenacrestandtheadjacentcrest,oratroughandanadjacenttrough,ofawave.Thehigherthefrequency,theshorterthewavelength.Amplitude,thoughmathematicallyindependentfromtheparametersdiscussed,iscriticaltotheunderstandingofsound.Definedasthemaximumdisplacementofavibratingmaterial,amplitudeisthe"size"ofawave.Thegreatertheamplitude,thegreatertheenergythewavecontains:amplitudeindicatesintensity,which,inthecaseofsoundwaves,ismanifestedaswhatpeoplecommonlycall"volume."Similarly,theamplitudeofalightwavedeterminestheintensityofthelight.electromagneticradiation,energyradiatedintheformofawaveasaresultofthemotionofelectriccharges.Amovingchargegivesrisetoamagneticfield,andifthemotionischanging(accelerated),thenthemagneticfieldvariesandinturnproducesanelectricfield.Theseinteractingelectricandmagneticfieldsareatrightanglestooneanotherandalsotothedirectionofpropagationoftheenergy.Thus,anelectromagneticwaveisatransversewave.Ifthedirectionoftheelectricfieldisconstant,thewaveissaidtobepolarized(seepolarizationoflight).Electromagneticradiationdoesnotrequireamaterialmediumandcantravelthroughavacuum.ThetheoryofelectromagneticradiationwasdevelopedbyJamesClerkMaxwellandpublishedin1865.Heshowedthatthespeedofpropagationofelectromagneticradiationshouldbeidenticalwiththatoflight,about186,000mi(300,000km)persec.SubsequentexperimentsbyHeinrichHertzverifiedMaxwell'spredictionthroughthediscoveryofradiowaves,alsoknownashertzianwaves.Lightisatypeofelectromagneticradiation,occupyingonlyasmallportionofthepossiblespectrumofthisenergy.Thevarioustypesofelectromagneticradiationdifferonlyinwavelengthandfrequency;theyarealikeinallotherrespects.Thepossiblesourcesofelectromagneticradiationaredirectlyrelatedtowavelength:longradiowavesareproducedbylargeantennassuchasthoseusedbybroadcastingstations;muchshortervisiblelightwavesareproducedbythemotionsofchargeswithinatoms;theshortestwaves,thoseofgammaradiation,resultfromchangeswithinthenucleusoftheatom.Inorderofdecreasingwavelengthandincreasingfrequency,varioustypesofelectromagneticradiationinclude:electricwaves,radiowaves(includingAM,FM,TV,andshortwaves),microwaves,infraredradiation,visiblelight,ultravioletradiation,Xrays,andgammaradiation.Accordingtothequantumtheory,lightandotherformsofelectromagneticradiationmayattimesexhibitpropertieslikethoseofparticlesintheirinteractionwithmatter.(Conversely,particlessometimesexhibitwavelike
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CECS 10335-2023新风系统集中采购通用要求
- T/CECS 10254-2022绿色建材评价防火涂料
- T/CECS 10222-2022液动下开式堰门
- T/CECS 10169-2021埋地用聚乙烯(PE)高筋缠绕增强结构壁管材
- T/CECS 10078-2019转炉普碳钢钢渣通用技术要求
- T/CECS 10046-2019绿色建材评价树脂地坪材料
- T/CCS 050-2023煤炭绿色开发地质条件评价技术导则
- T/CCMA 0125-2022旋转多工位静压式混凝土制品成型机
- T/CATS 009-2024研学旅游(中小学)课程设计指南
- T/CAQI 94-2019家用和类似用途前置过滤装置
- 2025年青海西宁事业单位(行测)考试笔试试题(含答案)
- 2025央国企CIO选型指南-ERP产品
- 2025内蒙古工程咨询监理有限责任公司招聘监理项目储备库人员400人笔试参考题库附带答案详解
- 零星维修框架合同协议模板
- 2025年全国保密教育线上培训考试试题库及答案(真题汇编)带答案详解
- 起重机大修合同协议
- 生鲜业务采购合同协议
- 新建装配式厕所施工方案
- 易制毒考试题及答案
- 运营维护的合同范例共
- 2025年公共营养师考试的重点知识回顾试题及答案
评论
0/150
提交评论