基于at89c51单片机的蔬菜大棚温度控制系统的设计学位论文Word格式.docx
- 文档编号:16371256
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:43
- 大小:271.29KB
基于at89c51单片机的蔬菜大棚温度控制系统的设计学位论文Word格式.docx
《基于at89c51单片机的蔬菜大棚温度控制系统的设计学位论文Word格式.docx》由会员分享,可在线阅读,更多相关《基于at89c51单片机的蔬菜大棚温度控制系统的设计学位论文Word格式.docx(43页珍藏版)》请在冰豆网上搜索。
参考文献25
附录:
程序清单27
致谢39
摘要
随着大棚技术的发展,温室大棚数量越来越多。
对于温室,最重要的因素是大棚内部温度的管理控制。
当温度低于适合蔬菜生长的温度时,蔬菜会停止生长甚至出现冻死的情况,因此要将温度控制在适合蔬菜生长的范围之内。
以前的温室大棚温度控制是通过人工来控制的,工人依据温度计上测得的温度值来调整温室内的温度。
如果仅依靠工人去人工控制,错误就会经常出现而且生产效率也会大大低下。
现在,随着农业现代化的普及,温室大棚数量质量的日益提高,以前的温度控制方法在操作中出现了很大的局限性。
由于这种局限性的存在,在现在的蔬菜温室大棚中通常都需要有能够自己调节温度高低的设备,以控制温室大棚内部的温度,满足生产所需的温度条件。
本设计是以AT89C51单片机为核心进行温度控制系统的设计,设计的主要内容包括对温度检测电路,温度显示电路,温度控制电路等方面的设计。
通过Proteus仿真结果的显示,该系统能够模拟出大棚内部的实时温度,并且根据显示温度数据的高低来调整大棚内部温度达到适合蔬菜生长的温度要求。
关键词:
AT89C51单片机;
温室大棚;
温度控制
ABSTRACT
Withthedevelopmentofgreenhousetechnology,anincreasingnumberofgreenhouse,thegreenhouse,themostimportantfactorismanagementandcontrolofthetemperatureinsidethegreenhouse.
Whenthetemperatureislowerthanthetemperatureforthegrowthofvegetables,vegetableswillstopgrowingoreventofreezetodeath,sotocontrolthetemperaturewithintherangeforthegrowthofvegetables.
Beforethegreenhousetemperaturecontroliscontrolledbymanual,theworkersaccordingtothetemperatureofthethermometermeasuredvaluetoadjustthetemperatureinthegreenhouse.
If
only
relyontheworkers
to
control
theartificialerrorwill
oftenappear,
andtheproduction
efficiencywillbegreatly
lowered.
Now,withthepopularizationofagriculturalmodernization,increasingthequantityandqualityofgreenhouse,theprevioustemperaturecontrolmethodinoperatingthegreatlimitations.
Becauseofthelimitations,innowthevegetablegreenhousesusuallyneedtoadjustthehighandlowtemperatureequipment,tocontrolgreenhouseinsidetemperatureandmeettheconditionsneededfortheproductionoftemperature.
ThedesignisbasedonAT89C51microcontrollerasthecoretemperaturecontrolsystemdesign,thedesignofthemaincontentsincludethetemperaturedetectioncircuit,temperaturedisplaycircuit,temperaturecontrolcircuitdesign.
ThroughtheProteussimulationresultsshowthatthesystemcansimulatethereal-timetemperatureinsidethegreenhouse,andaccordingtotheleveloftemperaturedatatoadjustthetemperatureinsidethegreenhousetemperatureforthegrowthofvegetablestomeettherequirements.
Keywords:
AT89C51microcontrolle;
Greenhouse;
Temperaturecontrol
第1章绪论
1.1课题的研究背景
我国北方,冬季寒冷漫长。
蔬菜大棚技术的普及能够更好地满足人民对于生活水平日益提高的需要。
冬季蔬菜大棚管理中最重要的一个因素是温度控制。
温度控制一般分四个时段进行。
上午要促进蔬菜的光合作用增加同化量,温度要控制在25到30度。
下午光合作用慢慢下降,要将温度降低5度左右。
日落后要将温度下降到15度左右,这样有利于促进蔬菜体内同化物的运转。
后半夜需要抑制呼吸消耗,增加蔬菜体内有机物的积累,需将温度下降到10至15度左右[1]。
在蔬菜大棚温度控制系统中应用单片机技术可以对温度起到很好的控制作用,可完成对温室大棚内部温度控制相应方面的需求。
1.2课题的研究现状
在现代化农业生产中,以蔬菜大棚为代表的现代农业设施在现代化农业生产中发挥着巨大的作用。
在国外,温室控制技术己经趋于完善。
而且形成了一定的水准,但是费用相对较贵。
控制系统软件也与我国的气候特点不太符合。
我国的温室大棚温度控制大都采用人工控制,这种控制方式会有许多弊端。
比如温度的测量不准、工作量大以及监控不及时等,这样容易对农业生产带来许多损失,这种温度控制方式测控精度低,人力物力耗费巨大,而且很难达到预期效果。
为了实现温度控制准确性,推动我国温室大棚技术的发展,必须大力发展我国农业现代化建设。
面对当今这种现状,设计出一种经济实用效率高的蔬菜大棚温度控制系统势在必行。
1.3本文研究的主要内容和思路
该系统通过温度传感器测量温度信号,并将该信号传至单片机进行相应的处理。
当温度传感器接受的温度信号高于设定的适合蔬菜生长的温度上限值时,单片机通过电机的运转带动排风扇排气,促进大棚内部空气的流动降低大棚内的温度;
当温度传感器接受的温度信号低于设定的适合蔬菜生长的温度下限值时,单片机通过控制电热炉加热来达到升高大棚内温度的目的。
第2章系统方案选择和论证
2.1任务
设计出一个蔬菜大棚温度控制系统。
该系统的温度上下限报警值可以通过人工设定,并能够在外界温度高于设置温度上限时实现排风扇自动运转通风降温,在外界温度低于设置温度下限时实现电热炉自动加热升温,以保持大棚内部的温度始终处于适合蔬菜生长的温度范围内。
2.2任务要求
设计基于AT89C51单片机的蔬菜大棚温度控制系统,用于自动调节大棚内部的温度。
大棚内部温度始终控制在10℃-30℃之间。
2.3系统基本方案
根据任务要求,该系统模块可以划分为以下几个部分:
键盘模块,温度测量模块,显示电路模块,报警模块。
根据各个模块不同的功能特点,分别做了几种不同的设计方案并且进行了相关方面的论证。
2.3.1各模块电路的方案选择及论证
(一)键盘模块
方案一:
采用4*4矩阵型按键
键盘中当按键的数量较多时。
I/O口将被大量占用。
为减少I/O口被大量占用,可将按键排列为矩阵样式。
矩阵式按键一般在按键数量大于六个时使用。
方案二:
采用独立式按键
独立式按键接线非常容易,而且易于去理解。
没有特定的键盘扫描程序,占用的空间也比较少。
由于本设计中只用到了4个按键,属于按键较少的类型,因此本设计中的键盘模块选用独立式按键。
(二)温度测量模块
利用热电阻传感器作为感温元件。
热电阻随温度变化而变化,用仪表测量出热电阻的阻值变化,从而得到与电阻值相应的温度值。
最常用的是铂电阻传感器,铂电阻在氧化介质中,甚至在高温的条件下其物理,化学性质不变。
由铂电阻阻值的变化经小信号变送器XTR101将铂电阻随温度变化的转换为4~20mA线形变化电路,再将电流信号转化为电压信号,送到A/D转换器,即将模拟信号转换为数字信号。
电路结构复杂,误差较大。
采用数字温度传感器DS18B20。
DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量。
可直接与单片机通信,读取测温数据,电路简单。
DS18B20的测温范围-55℃至125℃,分辨率最大可达0.0625℃。
DS18B20是Dallas半导体公司的数字化温度传感器,它是一种支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
一线总线将独特的电源和信号复合在一起,并仅使用一条线,每个芯片都有唯一的编码,支持联网寻址,简单的网络化的温度感知,零功耗等待等特点[2]。
DS18B20温度传感器与传统的热敏电阻相比较,它能够直接读取测量温度,并且可以通过简单的编程实现9至12位的数字值读数方式。
而且从DS18B20读出的信息或写入DS18B20的信息仅需要一根单线读写,因而使用DS18B20可使系统结构更加简单,可靠性更高。
DS18B20在分辨率、测温精度、传输距离、转换时间等方面有着很好的表现效果。
所以本设计中选用了DS18B20温度传感器,节省了A/D转换器,同时也节省了I/O输出口,误差小,测量准确。
(三)显示电路模块
使用静态显示,此方法不用另加外界驱动直接与单片机输出口相连,不需要单独的程序来完成显示。
但是占用I/O接口多。
使用动态显示,节省了I/O输出口,但是此方法需加外部驱动以此增加输出电流来更好的驱动数码管显示,电路简单,成本稍高,需要特定的编程来完成动态刷新。
本设计中使用的是动态显示,因为没有太多的输出口来完成静态显示,故选动态显示。
(四)报警模块
按照设计要求,当温度低于下限或高于上限时,应具有报警功能。
这样就可以用一只蜂鸣器作为三极管VT1的集电极负载,当VT1导通时,蜂鸣器发出鸣叫声;
VT1截止时,蜂鸣器不发声[3]。
2.3.2系统各模块的最终方案
根据以上分析,结合器件和设备等因素,确定如下方案:
1.采用AT89C51单片机作为控制器,分别对温度采集、数码管显示、温度设定、升温降温控制。
2.温度测量模块采用数字温度传感器DS18B20。
此器件经软件设置可以实现高分辨率测量。
3.显示用数码管显示实时温度值。
4.通过排风扇和电热炉控制升降温。
系统的基本框图如图1所示。
图1系统原理图
CPU(AT89C51)首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通过AT89C51来处理数据。
数据处理后的结果就显示到数码管上。
另外由键盘设定温度值送到单片机,单片机通过数据处理发出温度控制信息到继电器。
第3章系统硬件设计
本系统主要由4个大的模块构成,分别是主控模块、传感器模块、数码管显示模块及报警模块,其中主控模块是此次毕业设计的核心模块,主要是指AT89C51芯片,它控制整个系统的运行,利用其各个口分别控制其他模块,使其他模块能够成为一个整体,实现功能的需要;
传感器模块用于实验室实时温度的检测,由于DHT11的数字一体性,集成了模数转换等模块。
直接接单片机即可;
报警模块主要指将蜂鸣器接入单片机电路,通过对时温度的检测,并给定所需要的温度区间,即给定上下限值,实现越限报警。
3.1单片机型号选择
单片机型号的选择是根据设计的内容而定的,并不是什么单片机都可以用。
一方面要考虑选用的单片机能否在不需要外扩的情况下就可以满足要实现的功能。
比如:
单片机的存储器空间的大小、单片机的I/O口数等。
另一方面还要考虑单片机的性价比,是否容易买到等一些外部因素。
由于实现该系统功能的程序不会超过4K,而AT89C51单片机内部有4K的FlASH程序存储器和2K的数据存储器,因而不需要外扩程序存储器和数据存储器。
并且该型号单片机程序下载方便、价格便宜的优点,因而被广泛的应用。
AT89C51单片机引脚排列及功能见图2所示。
图2AT89C51单片机引脚图
由图可知该单片机共有40个引脚,按其功能类别将他们分为三类:
1.电源和时钟引脚。
如VCC、GND、XTAL1、XTAL2。
2.编程控制引脚。
如RST、PSEN、ALE、EA/VPP。
3.I/O口引脚。
如P0、P1、P2、P3,4组8位I/O口。
管脚说明:
VCC:
电源接入引脚。
GND:
接地引脚。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写入1时,将会被定义为高阻输入。
P0可以用为外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程中,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高[4]。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位信号如如引脚。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否会有内部程序存储器。
加密方式为1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程过程中,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
晶体振荡器接入的一个引脚。
XTAL2:
晶体振荡器接入的另一个引脚。
存储空间配置和功能:
AT89C51单片机的存储器组织结构可以分为三个不同的存储空间,分别是:
①64KB程序存储器(ROM),包括片内ROM和片外ROM;
②64KB外部数据存储器(外RAM);
③256KB(包括特殊功能寄存器)内部数据存储器(内RAM);
三个不同的存储空间用不同的指令和控制信号实现读写功能操作:
①ROM空间用MOVC指令实现只读功能操作,用PSEN信号选通读外ROM;
②外RAM空间用MOVX指令实现读写功能操作,用RD信号选通读外RAM,用WR信号选通写外RAM;
③内RAM(包括特殊功能寄存器)用MOV指令实现读写和其它功能操作;
程序存储器(ROM):
ROM空间共64KB,其中60KB在片外。
地址范围为1000H~FFFFH,无论片内片外,ROM地址空间是统一并且不重叠。
对于有内ROM的AT89C51,EA应接高电平,复位后先从内ROM0000H开始执行程序,当PC值超出内ROM4KB空间时,会自动转向片外ROM1000H依次执行程序;
读ROM是以程序计数器PC作为16位地址指针,依次读取相应的地址ROM中的指令和数据,每读一个字节,(PC)+1→PC,这是CPU自动形成的。
但是有些指令有修改PC的功能,例如转移类指令和MOVC指令,CPU将按修改后的PC16位地址读ROM。
读外ROM的过程:
CPU从PC中取出当前ROM的16位地址,分别由P0口(低8位)和P2口(高8位)同时输出,ALE信号有效时由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到外ROM16位地址输入端,当PSEN信号有效时,外ROM将相应地址存储单元中的内容送至数据总线(P0口),CPU读入后存入指定单元[5]。
需要指出的是,64KB中有一小段范围是单片机系统的专用单元,0003H~0023H是五个中断源中断服务程序入口地址,用户不能安排其它内容。
单片机复位后,(PC)=0000H,CPU从地址为0000H的ROM单元中读取指令和数据。
从0000H到0003H只有3个字节,根本不可能安排一个完整的系统程序,而单片机又是依次读ROM字节的,因此,这3个字节只能用来安排一条跳转指令,跳转到其它合适的地址范围执行真正的主程序。
外部数据存储器(外RAM):
外部数据存储器共64KB,读写外RAM用MOVX指令,控制信号是P3的WR和RD。
读写外RAM的过程:
外RAM16位地址分到由P0口(低8位)和P2口(高8位)同时输出,ALE信号有效时由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到外RAM16位地址输入端,当信号有效时,外RAM将相应地址单元中的内容送至数据总线(P0口),CPU读入后存入指定单元。
或当信号有效时,外RAM将数据总线(P0口分别传送)上的内容写入相应地址存储单元中[6]。
外部数据存储器主要用于存放数据和运算结果。
一般情况下,只有在内RAM不能满足应用时,才接外RAM。
其最大容量可达64K字节,外部数据存储器和内部数据存储器的功能基本相同,但前者不能用于堆栈操作。
必须注意,由于数据存储器与程序存储器全部64K地址重叠,且数据存储器的片内外的低字节地址重叠。
所以,对片内、片外数据存储器的操作使用不同的指令。
对片内RAM读写数据时,无读写信号(RD,WR)产生;
对片外RAM读写数据时,有读写信号产生。
同样对程序存储器和数据存储器的操作也是靠不同的控制信号PSEN、RD、WR来区分的。
另外,在片外数据存储器中,数据区和扩展的I/O口是统一编址的,使用的指令也完全相同。
因此,在系统设计时,必须合理的进行外部RAM和I/O口的地址分配,并保证译码的唯一性,如表1所示:
表1地址分配
端口
管脚
备选功能
P3.5
T2
定时器T2外部输入
P3.6
WR
外部数据存贮器写选通道
P3.7
RD
外部数据存储器读选通道
3.2单片机最小系统电路设计
单片机最小系统就是保证单片机能够正常工作的最基本的硬件电路。
主要包括时钟电路、复位电路[7]。
单片机工作的时间基准是有时钟电路提供的。
在单片机的XTAL1和XTAL2管脚,按图3所示接上晶振和电容就够成了单片机的时钟电路。
图3时钟电路
图中电容C1、C2对晶振频率有微调的作用,通常的取值范围为(30+10pf)。
石英晶体选择12MHz,选择不同的石英晶体,其结果只是机器周期不同。
单片机的复位方式有上电复位和手动复位两种。
本设计系统采用上电自动复位和手动复位组合电路,如图4所示复位电路。
图4复位电路
图中可以看到单片机的RST引脚连接R1(10K)、C3(10uf),按键可以选择专用的复位按键,也可以选择轻触开关。
只要VCC上升时间不超过1ms,他们都能很好的工作。
3.3温度采集部分设计
本系统采用采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,与单片机P3.7口相连,直接与单片机通讯,大大简化了电路的复杂度。
DS18B20是美国DALLAS半导体公司推出的支持“一线总线”接口的温度传感器,它具有微小化、功耗低、性能高、高抗干扰能力、容易搭配微处理器等优点,可直接将温度转化为串行数字信号供处理器处理[8]。
如图5所示。
图5温度采集
3.4按键电路设计
基于单片机的温度控制系统工作时应具备以下功能:
一、可以切换显示实时温度和温度上下限的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 at89c51 单片机 蔬菜 大棚 温度 控制系统 设计 学位 论文