首页 基于单片机温室大棚温度监控系统的设计

基于单片机温室大棚温度监控系统的设计

举报
开通vip

基于单片机温室大棚温度监控系统的设计 基于单片机温室大棚温度监控系统的设计 摘要:本系统以AT89C51单片机为控制核心,利用温度传感器AD590对蔬菜大棚内的温度进行实时采集与控制,实现温室温度的自动控制。本系统以单片机小系统模块,温度采集模块,加热模块,降温模块,按键以及显示模块六个部分组成。可以通过按键设定温室的温度值,采集的温度和设定的温度通过LED数码管显示。当所设定的温度值比采集的温度值打时,通过加热器加热,以达到设定值;反之,开启降温风扇,以快速达到降温效果。通过该系统对蔬菜大棚内的温度进行有效可靠地检测与控制。从而保证大棚内的作物在...

基于单片机温室大棚温度监控系统的设计
基于单片机温室大棚温度监控系统的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 摘要:本系统以AT89C51单片机为控制核心,利用温度传感器AD590对蔬菜大棚内的温度进行实时采集与控制,实现温室温度的自动控制。本系统以单片机小系统模块,温度采集模块,加热模块,降温模块,按键以及显示模块六个部分组成。可以通过按键设定温室的温度值,采集的温度和设定的温度通过LED数码管显示。当所设定的温度值比采集的温度值打时,通过加热器加热,以达到设定值;反之,开启降温风扇,以快速达到降温效果。通过该系统对蔬菜大棚内的温度进行有效可靠地 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 与控制。从而保证大棚内的作物在最佳温度条下生长,提高质量和产量 。 . 关键词:单片机 温室大棚 温度控制 Abstract: the system to AT89C51 SCM as control core, real-time data acquisitionand control using the temperature sensor AD590 temperature of the greenhouse, realize the automatic control of the greenhouse temperature. The system is composed of single chip microprocessor system module, the temperature acquisition module, a heating module, temperature module,keyboard and display module six parts. You can set the key greenhousetemperature value, the collection of temperature and set temperature by LED digital tube display. When the set temperature value than the acquisition of temperature is high, through heating, in order to reach the set value; otherwise,open the cooling fan, to achieve cooling effect. Through the system, effective,reliable detection and control of the greenhouse temperature. In order to ensurethe greenhouse crop at the optimum temperature of growth, improve quality andyield. Keywords: single chip microcomputer, greenhouse, temperature control HYPERLINK "http://fanyi.baidu.com/translate###" HYPERLINK "http://fanyi.baidu.com/translate###" 目录 ABSTRACT  绪论  1.1课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 的背景和意义……………………………………... 1 1.2单片机的前景与未来…………………………………... 1 1.3温度测控技术的应用…………………………………3 第二章 温度传感器的介绍 2.1 传感器原理及前景简介……………………….….…8 2.2 温度一体化传感器的发展和应用……………..…9 2.3 温度传感器AD590.......................................10 2.3.1 AD590简介.................................................11 2.3.2 AD590 的应用.........................................12 第三章 硬件设计 3.1 设计目的.............................................13 3.2 设计思路..................................................13 3.3 基于AT89C51的单片机小系统................14 3.4 温度采集模块..............................15 3.5 显示模块.................................16 3.6 键盘扫描 .................................17 3.7 WP型温室加热器...............................18 3.8 降温模块 .......................................................................18 第四章 软件部分设计 4.1 软件设计 4.1.1 主程序........................................................................ 4.1.2 定时器TO中断........................................................ 4.1.3 现实模块........................................................................ 4.1.4 按键扫描........................................................................... 4.1.5 源程序.............................................................................. 致谢 ………………………………………….…..………35 参考文献 …………………………………………….……………36 第一章 绪论 1.1选题背景和意义 现在的精密测量和精密加工中,环境因素是影响精度的主要因素之一,其中的温度是环境的主要指标。 当前,已经开发了很多的温度测量系统,一些高精度温度传感器的精度可达到±0.01℃,然而价格非常昂贵一般只作为高分辨力的精度测量和用作测温仪器的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 。而对于生产应用中的较低精度温度测量系统,现有的系统多采用了与计算机直接结合的工作模式,增加了系统的成本。鉴于目前的情况,我们提出以价格低廉的单片机作为控制核心,以多个温度传感器作为测量元件,构成了低成本的智能温度测量系统。 在该系统中,根据测量空间或设备的实际需要,由多路温度传感器对关键温度点进行测量,由安装于仪器内的单片机对各路数据进行循环检测、存储,实现温度的智能测量。该系统具有与计算机的通讯功能,在长时间数据采集完成后,可以将数据在传送到计算机进行相关的研究分析。因此,该系统即具有现有的计算机控制的智能测量功能,又节省硬件成本。另外,我们所设计的智能温度测量系统外形尺寸小,即可用于实验室环境温度的测量,又可用于仪器、大型设备等的内部环境测量。 1.2 单片机的前景与未来 单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。 纵观单片机的发展过程,可以预示单片机的发展趋势,大致有: (1)低功耗CMOS化 随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点。 (2)微型单片化 现在常规的单片机普遍都是将CPU、RAM、ROM、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。 (3)主流与多品种共存 现在单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的系列单片机。而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。 以前没有单片机时,只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用, 元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们 只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成 本也降低了,长期使用也不会担心精度达不到了。 所以,学习单片机在我国是有着广阔前景的。 1.3温度测控技术的应用 温度自动测控系统借助于温度传感器,测量大楼内的温度数据,并对大楼实现温度控制。系统采用以可编程序控制器为核心,配置以各类温度传感器,外围接口电路,由可编程序控制器检测个传感器的信号,完成实时数据采集,开关量处理,超限报警信号检测与输出等,并根据采集的信号来控制前端设备的运转。可编程序控制器是一种工业环境下应用的智能控制器件。可用于执行逻辑运算,顺序控制,定时,计数和算术操作等指令,并通过数字或模拟的输入输出方式控制各种类型的仪器设备。可编程序控制器还具有通信,联网等功能,它的应用范围大致介于继电器控制装置与过程控制的计算机之间,它也可在一个大型的集散控制系统中,作为前端控制装置,在上位机的统一调度下工作。 测量温度时,温度传感器把温度信号转变为电量,为与可编程序控制器连接,测量的电信号应转化为工业标准信号0-5V或4-20mA。当有多个传感器时,传感器信号之间最好不要共地,否则可编程序控制器的模拟量模块可能会工作不正常。输出信号通过中间继电器控制强电信号,驱动空调运转,系统自动根据测量的温度值,确定是否开启或关闭空调。例如,当温度度大于设定值30度时,开启空调,直至温度接近设定值20度时,切断电源。为保证系统具有良好的测量精度,并能准确地对空调进行控制,必须在前端测量信号转换时具有较好的线性。 第二章 温度传感器的介绍 2.1 传感器原理及前景简介 传感器是能感受(或响应)规定的被测量并按照一定规律转换成可用信号输出的器件或装置。通常由直接响应于被测量的敏感元件和产生可用信号输出的转换元件以及相应的电子线路所组成。 传感器有很多种类,包括电阻应变式传感器,压阻式传感器,热电阻传感器,温度传感器,光敏传感器等。 传感器的前景可以从以下几方面来看:采用新原理,开发新型传感器;大力开发物性型传感器;传感器的集成化;传感器的多功能化;传感器的智能化(Smart Sensor)。 2.2 温度一体化传感器的发展和应用 温度一体化的传感器,适应于多种环境的温度测量。采用专用温度补偿电路和线性化处理电路。这种传感器性能可靠,使用寿命长,响应速度快,测量范围宽,目前已广泛应用。适用于通讯机房,办公室,厂矿,车间,仓库,医院,档案馆,博物馆,暖通空调,楼宇自控等环境的温度测量。温度一体的传感器节省资源,便于温度的测量和对湿度补偿,同时为保证结果真实可靠。2.3 温度传感器AD590 2.3.1 AD590 简介 AD590是美国模拟器件公司生产的单片集成两端感温电流源。具有线性优良、性能稳定、灵敏度高、无需补偿、热容量小、抗干扰能力强、可远距离测温且使用方便等优点。可广泛应用于各种冰箱、空调器、粮仓、冰库、工业仪器配套和各种温度的测量和控制等领域。 特点:1、流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即:mA/K式中:—流过器件(AD590)的电流,单位为mA;T—热力学温度,单位为K。 2、AD590的测温范围为-55℃~ 150℃。 3、AD590的电源电压范围为4V~30V。电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。 4、输出电阻为710MW。 5、精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~ 150℃范围内,非线性误差为±0.3℃。AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合。由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。 2.3.2 AD590 的应用 1.AD590的工作原理  在被测温度一定时,AD590相当于一个恒流源,把它和5~30V的直流电源相连,并在输出端串接一个1kΩ的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有1mV/K的电压信号。其基本电路如图3所示。   图3是利用ΔUBE特性的集成PN结传感器的感温部分核心电路。其中T1、T2起恒流作用,可用于使左右两支路的集电极电流I1和I2相等;T3、T4是感温用的晶体管,两个管的材质和工艺完全相同,但T3实质上是由n个晶体管并联而成,因而其结面积是T4的n倍。T3和T4的发射结电压UBE3和UBE4经反极性串联后加在电阻R上,所以R上端电压为ΔUBE。因此,电流I1为: I1=ΔUBE/R=(KT/q)(lnn)/R   对于AD590,n=8,这样,电路的总电流将与热力学温度T成正比,将此电流引至负载电阻RL上便可得到与T成正比的输出电压。由于利用了恒流特性,所以输出信号不受电源电压和导线电阻的影响。图3中的电阻R是在硅板上形成的薄膜电阻,该电阻已用激光修正了其电阻值,因而在基准温度下可得到1μA/K的I值。   图4所示是AD590的内部电路,图中的T1~T4相当于图3中的T1、T2,而T9, T11相当于图3中的T3、T4。R5、R6是薄膜工艺制成的低温度系数电阻,供出厂前调整之用。T7、T8,T10为对称的Wilson电路,用来提高阻抗。T5、T12和T10为启动电路,其中T5为恒定偏置二极管。   T6可用来防止电源反接时损坏电路,同时也可使左右两支路对称。R1,R2为发射极反馈电阻,可用于进一步提高阻抗。T1~T4是为热效应而设计的连接方式。而C1和R4则可用来防止寄生振荡。该电路的设计使得T9,T10,T11三者的发射极电流相等,并同为整个电路总电流I的1/3。T9和T11 的发射结面积比为8:1,T10和T11的发射结面积相等。   T9和T11的发射结电压互相反极性串联后加在电阻R5和R6上,因此可以写出: ΔUBE=(R6-2 R5)I/3   R6上只有T9的发射极电流,而R5上除了来自T10的发射极电流外,还有来自T11的发射极电流,所以R5上的压降是R5的2/3。   根据上式不难看出,要想改变ΔUBE,可以在调整R5后再调整R6,而增大R5的效果和减小R6是一样的,其结果都会使ΔUBE减小,不过,改变R5对ΔUBE的影响更为显著,因为它前面的系数较大。实际上就是利用激光修正R5以进行粗调,修正R6以实现细调,最终使其在250℃之下使总电流I达到1μA/K。 2.测温电路的设计   在设计测温电路时,首先应将电流转换成电压。由于AD590为电流输出元件,它的温度每升高1K,电流就增加1μA。当AD590的电流通过一个 10kΩ的电阻时,这个电阻上的压降为10mV,即转换成10mV/K,为了使此电阻精确(0.1%),可用一个9.6kΩ的电阻与一个1kΩ电位器串联,然后通过调节电位器来获得精确的10kΩ。图5所示是一个电流/电压和绝对/摄氏温标的转换电路,其中运算放大器A1被接成电压跟随器形式,以增加信号的输入阻抗。而运放A2的作用是把绝对温标转换成摄氏温标,给A2的同相输入端输入一个恒定的电压(如1.235V),然后将此电压放大到2.73V。这样,A1与A2输出端之间的电压即为转换成的摄氏温标。   将AD590放入0℃的冰水混合溶液中,A1同相输入端的电压应为2.73V,同样使A2的输出电压也为2.73V,因此A1与A2两输出端之间的电压:   2.73-2.73=0V即对应于0℃。 3.2 A/D转换和显示电路的设计   设计A/D转换和显示电路具有两种 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。分述如下: (1)用A/D转换器MC14433实现   首先将AD590的输出电流转换成电压,由于此信号为模拟信号,因此,要进行数码显示,还需将此信号转换成数字信号。采用MC14433的转换电路如图6所示。此电路的作用是通过A/D转换器MC14433将模拟信号转换成数字信号,以控制显示电路。其中MC14511为译码/锁存/驱动电路,它的输入为BCD码,输出为七段译码。LED数码显示由MC14433的位选信号DS1~DS4通过达林顿阵列MC1413来驱动,并由MC14433的 DS1、Q2端来控制“+”、“-”温度的显示。当DS1=1,Q2=1时,显示为正;Q2=0时,显示为负。 图6 A/D转换和数码显示电路框图 (2)用ICL7106来实现   采用ICL7106的A/D转换及LCD显示电路框图如图7所示。其中,ICL7106是3位半显示的A/D转换电路,它内含液晶显示驱动电路,可用来进行A/D转换和LCD显示驱动。 第四章 硬件设计 4.1设计目标 本系统要控制的对象为这样一个规模的温室。温室结构的参数为:屋脊高5.2m,檐高3m,单跨度6.5m,长为20m,地面面积为130平方米。要实现的目标是,使薄膜温室的温度保持在20℃——30℃之间,在这个区域内温度值是可设定的。 4.2设计思路 系统原理框图如图1所示。本系统由单片机小系统模块、温度采集模块、WP型温室加热器、降温模块、按键以及显示模块六个部分组成。通过按键设定温度值,设定的温度值和采集的温度值都可以通过LED数码管显示。当所设定的温度值比采集的温度大时,通过加热器加热,以达到设定值;反之,开启降温风扇,以快速达到降温效果。该系统对温度的控制范围在20℃——30℃,温度控制的误差小于等于0.5℃。通过使用该系统,对蔬菜大棚内的温度进行有效、可靠地检测与控制,保证大棚内作物在最佳的温度条件下生长,提高质量和产量。 图1系统原理框图 该系统分为六个模块,分别是单片机小系统模块、温度采集模块、显示模块、键盘扫描模块、加热模块和降温模块。 4.3基于AT89C51的单片机小系统 本系统采用Atmel公司所生产的AT89C51单片机。AT89C51单片机小系统如图2所示: 图2 单片机小系统 这个小系统由时钟脉冲和复位电路组成, AT89C51内部已具备振荡电路,只要在接地引脚上面的两个引脚(即19、18脚)连接简单的石英晶体即可。AT89C51的时钟频率为12MHz。AT89C51的复位引脚为第9脚,当此引脚连接高电平超过2个机器周期(一个机器周期为6个时钟脉冲),即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲1μs,两个机器周期为12μs,因此,在第9脚上连接一个12μs以上的高电平脉冲,即可产生复位的动作。对于上电复位,复位引脚上串接了一个电容,当复位引脚接 +5V电压时,电容相当于短路,经过一段时间(在这段时间内完成复位)后,电容处于充电状态,相当于断开。还有一种是手动复位,它的接法是在AT89C51复位引脚所串连的电容上并联接一个按钮开关。当按钮没按下时,电容处于充电状态;当按钮按下时,电容对复位引脚放电,从而在这个引脚上产生高电平,达到复位的目的。 4.4温度采集模块 本系统的温度采集和转换电路原理图如图3所示,它的工作过程为:系统通过AD590采集外界的温度参数,并通过三个放大器的作用将温度转化为电流模拟量;此模拟量通过ADC0804的转化变成数字量,以便单片机辨认接收。 图3 AD590温度传感器工作的系统结构电路图 根据电路图,说明各个器件的功能如下: OPA1:以0℃为标准,调节可变电阻R10使其输出电压为2.73伏特。 OPA2:减2.73伏特,并反相。 OPA3:放大5倍并反相。 例如:AD590输出电压为1.5伏特,则其温度为:1.5/5(OPA3)+2.732(OPA2)=3.302伏特; 3.302/10K=303.2微安培; 303.2-273.2=30微安培→30℃。 温度值 OPA1 OPA2 OPA3 ADC VIN ADC输出值 0℃ 2.732V 0V 0V 0V 00H 10℃ 2.832V -0.1V 0.5V 0.5V 19H 20℃ 2.932V -0.2V 1V 1V 32H 30℃ 3.032V -0.3V 1.5V 1.5V 4BH 40℃ 3.132V -0.4V 2V 2V 64H 50℃ 3.232V -0.5V 2.5V 2.5V 7DH 60℃ 3.332V -0.6V 3V 3V 96H 70℃ 3.432V -0.7V 3.5V 3.5V AFH 80℃ 3.532V -0.8V 4V 4V C8H 90℃ 3.632V -0.9V 4.5V 4.5V E1H 100℃ 3.732V -1V 5V 5V FAH 表1 各温度与3个OPA及ADC0804的输入与输出关系 图4 ADC0804 如图4,A/D转换器就是模拟/数字转换器,是将输入的模拟信号转换成数字信号。信号输入端的信号可以是传感器或是转换器的输出,而ADC输出的数字信号可以提供给微处理器,以便更广泛地应用。 ADC0804电压输入与数字输出关系如下表2所示: 十六进制 二进制码 二 与满刻度的比率 相对电压值VREF=2.56伏 高四位字节 低四位字节 高四位字节电压 低四位字节电压 F 1111 15/16 15/256 4.800 0.300 E 1110 14/16 14/256 4.480 0.280 D 1101 13/16 13/256 4.060 0.260 C 1100 12/16 12/256 3.840 0.240 B 1011 11/16 11/256 3.520 0.220 A 1010 10/16 10/256 3.200 0.200 9 1001 9/16 9/256 2.880 0.180 8 1000 8/16 8/256 2.560 0.160 7 0111 7/16 7/256 2.240 0.140 6 0110 6/16 6/256 1.920 0.120 5 0101 5/16 5/256 1.600 0.100 4 0100 4/16 4/256 1.280 0.080 3 0011 3/16 3/256 0.960 0.060 2 0010 2/16 2/256 0.640 0.040 1 0001 1/16 1/256 0.320 0.020 0 0000 0 0 表2 ADC0804电压输入与数字输出关系 例如:VIN=3V,由上表可知2.880+0.120=3V,为10010110B=96H。 AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V——30V,检测的温度范围为-55℃——+150℃,它有非常好的线性输出性能,温度每增加1℃,其电流增加1微安培。当摄氏温度为0℃时,AD590的电流为273.2微安培,经10千欧姆电阻后其电压为2.732伏特。余者依上述方法类推。 利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号后传送给AT89C51处理。 温度采集和AD590温度传感器工作的系统结构电路图为图3。 4.5显示模块 译码IC及温度显示的电路图如图5所示。显示部分的工作原理是,它将温度转换的数字量,即温度值,经由AT89C51的P1口由两个译码IC输出并分别送入两个七段数码管显示,这两个LED都是共阳极的。 图5 译码IC及温度显示 BCD码转换成7段LED数码管的译码驱动IC,如图6所示,首推7447系列,包括7446、7449、74LS49。其中的7446及7447输出低电平驱动的显示码,用以推动共阳极7段LED数码管;而7448及74LS49输出高电平驱动显示码,用以推动共阴极7段LED数码管,7446、7447与7448的引脚相同(双并排16pins)。 图6 译码IC 7447 D、C、B、A:BCD码输入引脚。 a、b、c、……g:7段数码管输出引脚。 LT:本引脚为测试引脚,当接高电平时,所连接的7段LED数码管全亮。正常显示下应接低电平。 RBI:本引脚为涟波淹没输入引脚,正常显示下应接低电平。 BI和RBO:本引脚为淹没输入或涟波淹没输出引脚,正常显示下应接低电平。 7段LED数码管是利用7个LED组合而成的显示设备,可以显示0到9共10个数字。当要显示多个数码管,可分别驱动每个数码管;当要利用人类的视觉暂留现象,则可以采用快速扫描的方式,只要一组驱动电路即可达到显示多个数码管的目的。 一般来说,7段LED数码管可分为共阳极和共阴极两种,共阳极就是把所有LED的阳极连接到共同的接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);同样的,共阴极就是把所有LED的阴极连接到共同的接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)。 4.6 键盘扫描 图7 键盘扫描电路 图7是键盘扫描的电路图,其中74922是键盘扫描IC。键盘扫描电路的原理是,将键盘接在一个键盘扫描IC 74922上,当在键盘上按下键时,相关的键码将通过74922的A、B、C、D口线传递给AT89C51单片机。 键盘采用电话式键盘,结构如图8所示。键盘是接在键盘扫描IC 74922(上图6所示)上面的,键盘的输入通过74922的X1——X3和Y1——Y4输入。 X1 X2 X3 1 2 3 4 5 6 7 8 9 * 0 # 图8 电话式键盘 鉴于键盘扫描IC为4*4形式,以下键盘编码每行后面都有0FFH,以配合硬件使用。 按键 1 2 3 4 5 6 对应编码 01H 02H 03H 04H 05H 06H 按键 7 8 9 * 0 # 对应编码 07H 08H 09H 0AH 00H OBH 表3 键盘编码 键盘扫描IC74922的工作过程:X1—X3接键盘的行,Y1——Y4接键盘的列,按键信息由这几个口输入,由A、B、C、D四个口输出到P3口的低四位,再通过P1口经过译码IC显示在LED上。键盘扫描芯片不断查询是否有按键输入,当查询到有按键时,DA置1,同时执行相应的程序,比较温度是否超出上、下限,进而决定是加热还是降温。 4.7 WP型温室加热器 如图7所示,在AT89C51的P2.1口上接一个继电器,将加热器接在此继电器上。需要提高温度时,单片机控制P2.1口,使之置1,进而控制加热器加热。 4.8 降温模块 如图7所示,在AT89C51的P2.2口上接一个继电器,将降温风扇接在此继电器上。需要降温时,单片机控制P2.2口,使之置1,进而控制降温风扇降温。 第五章 软件设计 5.1软件设计 本系统的工作流程是,操作人员可以从键盘上输入要设定的温度值。当此温度值与当前温度不同时,单片机控制系统采取调节的动作。当设定温度大于测定温度时,则使加热器工作;当设定温度小于测定温度时,则开启降温风扇。此程序流程包括4个部分。第一部分是主程序,它描述的是程序的总体结构;第二部分是定时器T0的描述,它的功能是将实际温度和设定的温度比较,再作出相应的动作;第三部分是键盘扫描部分;第四部分是显示部分,用于显示温度值。 5.1.1主程序 图9 主程序 本温度度控制系统的总体设计思路见图9的主程序流程图,系统采用温度传感器AD590采集温度数据,再由ADC0804模数转换器将温度转化为单片机可以处理的数据。本系统将温度总体控制在20℃到30℃之间,并且可以通过键盘输入要设定的温度值,并通过7段数码管显示出来。在整个系统的运行期间,有一个定时器T0中断每隔20ms扫描一次,用于当前温度与设定温度的比较,然后发出加温或降温的命令。 程序代码如下: ORG 00H JMP START ORG 0BH JMP TIM0 START: MOV TMOD,#01H MOV TH0,#60 MOV TL0,#76 SETB TR0 MOV IE,#82H MOV R4,#09H MOV R0,#30H CLEAR: MOV @R0,#00H DJNZ R4,CLEAR MOV A,#00H MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV 34H,A MOV A,#01H MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV 35H,A MOV 36H,#0FFH START0: MOVX @R0,A WAIT: JB P3.4,KEYIN JB P2.0,ADC JMP WAIT ADC: MOVX A,@R0 MOV 37H,A CLR C SUBB A,36H JC TDOWN TUP: MOV A,37H CLR C SUBB A,34H JNC POFF JMP LOOP PON: CLR P2.1 JMP START0 POFF: SETB P2.1 JMP LOOP TDOWN: MOV A,37H CLR C SUBB A,35H JC PON JMP LOOP LOOP: MOV 36H,37H CLR A MOV R4,#0FFH DJNZ R4,$ CALL L1 MOV 21H,#10H NOV R1,#30H DISP1: CALL DISP DJNZ 21H,DISP1 JMP START0 5.1.2定时器T0中断 图10 定时器T0中断子程序 定时器T0中断的工作流程如图10所示。当定时器T0发生中断时,就将按键输入的设定的温度值与当前的温度值比较。当输入的温度值大于当前测定的温度值,单片机就控制加热器加热;当设定的温度值小于当前测定的温度值,就开启降温风扇。 程序代码如下: TIM0: PUSH ACC PUSH PSW MOV TH0,#60 MOV TL0,#76 MOV A,33H CJNE A,31H,T MOV A,32H CJNE A,30H,T JMP OFF T: JC OFF CLR P2.1 RETURN: POP PSW POP ACC RETI OFF: SETB P2.1 JMP RETURN DELAY: MOV R7,#06 D1: MOV R6,#248 DJNZ R6,$ DJNZ R7,D1 RET 5.1.3显示模块 显示子程序流程图如图11所示:(说明:30H用于暂时存放要显示温度的高四位,31H用于暂时存放要显示温度的低四位,38H用于存放最终要显示在7段数码管上的温度值;D1、D2分别表示两个7段数码管的存储地址。) 图11 显示子程序 系统提供温度的显示功能,将温度用两个7段数码管显示出来。程序如下: DISP: MOV A,@R1 ANL A,#0F0H SWAP A MOV 38H,A INC R1 MOV A,@R1 ANL A,#0FH SWAP A ORL A,38H MOV P1,A CALL DELAY RET 5.1.4 按键扫描 将键盘接在一个键盘扫描IC 74922上,所按键将被此芯片处理后传送给单片机处理。工作流程如图9所示。如果要设定新的温度值,操作流程为:按“*”→要设定的温度值→按“*”,这样就完成了温度的设定。 程序代码如下: KEYIN: JB P3.4,$ MOV A,P3 ANL A,#0FH MOV DPTR,#TABLE MOVC A,@A+DPTR XRL A,#0AH JNZ START0 JB P3.4,KEYIN1 MOV R1,#32H CALL DISP MOV R5,4FH D4: MOV R7,#0FFH D3: MOV R6,#0FFH D2: JB P3.4,KEYIN1 DJNZ R6,D2 DJNZ R7,D3 DJNZ R5,D4 JMP START0 KEYIN1: JB P3.4,$ MOV A,P3 ANL A,#0FH MOV DPTR,#TABLE MOVC A,@A+DPTR MOV 20H,A XRL A,#0AH JZ X1 MOV A,20H XRL A,#0BH JZ WAIT1 MOV A,20H XCH A,32H XCH A,33H 5.1.5 源程序 程序要完成的功能是将总体温度控制在20℃——30℃之间,在这个范围内,可以设定任一温度值,并使之达到恒温效果;如果超出这个范围,则程序自动控制继电器工作使温度稳定在这个范围之间。 程序中各寄存器说明如下: 30H、31H:所测得的实际温度 32H、33H:键盘设定的温度 34H:系统的上限温度值(30℃) 35H:系统的下限温度值(20℃) 36H:旧温度值的存放地址 源程序如下: ORG 00H JMP START ORG 0BH JMP TIM0 START: MOV TMOD,#01H MOV TH0,#60 MOV TL0,#76 SETB TR0 MOV IE,#82H MOV R4,#09H MOV R0,#30H CLEAR: MOV @R0,#00H DJNZ R4,CLEAR MOV A,#00H MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV 34H,A MOV A,#01H MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV 35H,A MOV 36H,#0FFH START0: MOVX @R0,A WAIT: JB P3.4,KEYIN JB P2.0,ADC JMP WAIT ADC: MOVX A,@R0 MOV 37H,A CLR C SUBB A,36H JC TDOWN TUP: MOV A,37H CLR C SUBB A,34H JNC POFF JMP LOOP PON: CLR P2.1 JMP START0 POFF: SETB P2.1 JMP LOOP TDOWN: MOV A,37H CLR C SUBB A,35H JC PON JMP LOOP LOOP: MOV 36H,37H CLR A MOV R4,#0FFH DJNZ R4,$ CALL L1 MOV 21H,#10H NOV R1,#30H DISP1: CALL DISP DJNZ 21H,DISP1 JMP START0 L1: CLR C MOV 30H,#00H MOV 31H,#00H MOV R3,#08H NEXT: RLC A MOV R2,A MOV A,30H ADDC A,30H DA A MOV 30H,A MOV A,31H ADDC A,31H DA A MOV 31H,A MOV A,R2 DJNZ R3,NEXT L2: MOV A,30H ADD A,30H DA A MOV 30H,A MOV A,31H ADDC A,31H DA A MOV 31H,A RET KEYIN: JB P3.4,$ MOV A,P3 ANL A,#0FH MOV DPTR,#TABLE MOVC A,@A+DPTR XRL A,#0AH JNZ START0 JB P3.4,KEYIN1 MOV R1,#32H CALL DISP MOV R5,4FH D4: MOV R7,#0FFH D3: MOV R6,#0FFH D2: JB P3.4,KEYIN1 DJNZ R6,D2 DJNZ R7,D3 DJNZ R5,D4 JMP START0 KEYIN1: JB P3.4,$ MOV A,P3 ANL A,#0FH MOV DPTR,#TABLE MOVC A,@A+DPTR MOV 20H,A XRL A,#0AH JZ X1 MOV A,20H XRL A,#0BH JZ WAIT1 MOV A,20H XCH A,32H XCH A,33H WAIT1: MOV R1,#32H CALL DISP JB P3.4,KEYIN1 JMP WAIT1 X1: JMP START0 DISP: MOV A,@R1 ANL A,#0F0H SWAP A MOV 38H,A INC R1 MOV A,@R1 ANL A,#0FH SWAP A ORL A,38H MOV P1,A CALL DELAY RET TIM0: PUSH ACC PUSH PSW MOV TH0,#60 MOV TL0,#76 MOV A,33H CJNE A,31H,T MOV A,32H CJNE A,30H,T JMP OFF T: JC OFF CLR P2.1 RETURN: POP PSW POP ACC RETI OFF: SETB P2.1 JMP RETURN DELAY: MOV R7,#06 D1: MOV R6,#248 DJNZ R6,$ DJNZ R7,D1 RET TABLE: DB 01H,02H,03H,0FFH DB 04H,05H,06H,0FFH DB 07H,08H,09H,0FFH DB 0AH,00H,0BH,0FFH TABLE1 : DB 4BH DB 32H END (六) 系统电路图 本系统的工作流程是,操作人员可以从键盘上输入要设定的温度值。当此温度值与当前温度不同时,单片机控制系统采取调节的动作。当设定温度大于测定温度时,则使加热器工作;当设定温度小于测定温度时,则开启降温风扇。此程序流程包括4个部分。第一部分是主程序,它描述的是程序的总体结构;第二部分是定时器T0的描述,它的功能是将实际温度和设定的温度比较,再作出相应的动作;第三部分是键盘扫描部分;第四部分是显示部分,用于显示温度值。 致谢 本文是在XXX老师的悉心指导下完成的。“悉心”二字,绝非可有可无。因为,从选题到今天成文,X老师给予了我很大帮助,付出了大量的心血。可以说,没有X老师的指导,就没有今天的顺利成文。在师从X老师做毕业设计的这段时间里,我感到学到很多东西。X老师治学严谨、做事认真,大到结构,小至标点,一一从严要求,决不允许敷衍;X老师为人真诚、待人热情,从选题至成文,说来惭愧,应该说是在X老师的推动下,才得以如期完成。很多时候,都是X老师给我主动打电话,帮助我规划好时间,及时传道授业、答疑解惑。从选定题目、到现在定稿完成,X老师的关怀帮助始终如一,这让我在感动的同时,又深感惭愧! X老师很忙,教学、科研任务繁重。但我每次交稿,他都认真修改,及时回复。每每看到论文上细密的红色批语,深感暖意阵阵!也突然明白鲁迅对藤野先生认真修改他的笔记的那种感动。是的,在很多人将敷衍奉为圭臬的情形下,依然能够认真谨严做事,依然能够热情诚恳帮助别人的人,令人感激和钦佩!“学高为师,行为世范。”我再次明白了“老师”二字的厚重内涵! 人生的各个阶段,要面临很多选择。大学三年,也概莫能外。我曾做出过不少选择,但事后令自己深感得意的,并不是很多。可是,师从周老师做毕业设计却不能不说是其中一个! 在此,向X老师致以最诚挚的谢意! 我还要感谢在大学三年来所有曾经教过及帮助过我的老师,是他们的谆谆教诲、无私奉献,使我增加了知识、提高了能力!没有他们,也就没有我三年学业的顺利完成! 另外,我还要感谢三年来朝夕相处的同学,和他们切磋知识、交流思想,也使我感到受益匪浅! 最后,向所有关心和帮助过我的老师和同学们致以最诚挚的谢意! AT89C51控制系统 温度采集 键盘扫描 WP型温室加热器 显示 降温模块 Y1 Y2 Y3 Y4 Y N 按键程序 显示 A/D转换完成否? 判断有无按键? A/D转换 系统初始化 开始 N Y 定位 装入初值 比较的十位相同? 比较的个位相同? 开启降温风扇 返回 加热器工作 设定温度>测定温度? 加热器停止工作 Y N Y N N Y 取(30H)高四位为D1 取(31H)低四位为D2 返回 将(38H)的值送P1 将(30H)、(31H)合成为(38H) 延时 DISP
本文档为【基于单片机温室大棚温度监控系统的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥11.9 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
北溟愚鱼
暂无简介~
格式:doc
大小:491KB
软件:Word
页数:44
分类:工学
上传时间:2018-10-02
浏览量:25