毕业论文基于AT89C51单片机温室大棚温度控制设计16442.doc

上传人:laozhun 文档编号:3973056 上传时间:2023-03-30 格式:DOC 页数:29 大小:317KB
返回 下载 相关 举报
毕业论文基于AT89C51单片机温室大棚温度控制设计16442.doc_第1页
第1页 / 共29页
毕业论文基于AT89C51单片机温室大棚温度控制设计16442.doc_第2页
第2页 / 共29页
毕业论文基于AT89C51单片机温室大棚温度控制设计16442.doc_第3页
第3页 / 共29页
毕业论文基于AT89C51单片机温室大棚温度控制设计16442.doc_第4页
第4页 / 共29页
毕业论文基于AT89C51单片机温室大棚温度控制设计16442.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《毕业论文基于AT89C51单片机温室大棚温度控制设计16442.doc》由会员分享,可在线阅读,更多相关《毕业论文基于AT89C51单片机温室大棚温度控制设计16442.doc(29页珍藏版)》请在三一办公上搜索。

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

2、硬件设计(一)设计目标 本系统要控制的对象为这样一个规模的温室。温室结构的参数为:屋脊高5.2m,檐高3m,单跨度6.5m,长为20m,地面面积为130平方米。要实现的目标是,使薄膜温室的温度保持在2030之间,在这个区域内温度值是可设定的。(二)设计思路系统原理框图如图1所示。本系统由单片机小系统模块、温度采集模块、WP型温室加热器、降温模块、按键以及显示模块六个部分组成。通过按键设定温度值,设定的温度值和采集的温度值都可以通过LED数码管显示。当所设定的温度值比采集的温度大时,通过加热器加热,以达到设定值;反之,开启降温风扇,以快速达到降温效果。该系统对温度的控制范围在2030,温度控制的

3、误差小于等于0.5。通过使用该系统,对蔬菜大棚内的温度进行有效、可靠地检测与控制,保证大棚内作物在最佳的温度条件下生长,提高质量和产量。AT89C51控制系统温度采集键盘扫描WP型温室加热器显示降温模块图1系统原理框图 该系统分为六个模块,分别是单片机小系统模块、温度采集模块、显示模块、键盘扫描模块、加热模块和降温模块。(三)基于AT89C51的单片机小系统本系统采用Atmel公司所生产的AT89C51单片机。AT89C51单片机小系统如图2所示:图2 单片机小系统这个小系统由时钟脉冲和复位电路组成, AT89C51内部已具备振荡电路,只要在接地引脚上面的两个引脚(即19、18脚)连接简单的石

4、英晶体即可。AT89C51的时钟频率为12MHz。AT89C51的复位引脚为第9脚,当此引脚连接高电平超过2个机器周期(一个机器周期为6个时钟脉冲),即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲1s,两个机器周期为12s,因此,在第9脚上连接一个12s以上的高电平脉冲,即可产生复位的动作。对于上电复位,复位引脚上串接了一个电容,当复位引脚接 +5V电压时,电容相当于短路,经过一段时间(在这段时间内完成复位)后,电容处于充电状态,相当于断开。还有一种是手动复位,它的接法是在AT89C51复位引脚所串连的电容上并联接一个按钮开关。当按钮没按下时,电容处于充电状态;当按钮按下时,电容

5、对复位引脚放电,从而在这个引脚上产生高电平,达到复位的目的。(四)温度采集模块 本系统的温度采集和转换电路原理图如图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.

6、302伏特;3.302/10K=303.2微安培;303.2-273.2=30微安培30。温度值OPA1OPA2OPA3ADC VINADC输出值02.732V0V0V0V00H102.832V-0.1V0.5V0.5V19H202.932V-0.2V1V1V32H303.032V-0.3V1.5V1.5V4BH403.132V-0.4V2V2V64H503.232V-0.5V2.5V2.5V7DH603.332V-0.6V3V3V96H703.432V-0.7V3.5V3.5VAFH803.532V-0.8V4V4VC8H903.632V-0.9V4.5V4.5VE1H1003.732V-1

7、V5V5VFAH表1 各温度与3个OPA及ADC0804的输入与输出关系图4 ADC0804 如图4,A/D转换器就是模拟/数字转换器,是将输入的模拟信号转换成数字信号。信号输入端的信号可以是传感器或是转换器的输出,而ADC输出的数字信号可以提供给微处理器,以便更广泛地应用。 ADC0804电压输入与数字输出关系如下表2所示:十六进制二进制码 二与满刻度的比率相对电压值VREF=2.56伏高四位字节低四位字节高四位字节电压低四位字节电压F111115/1615/2564.8000.300E111014/1614/2564.4800.280D110113/1613/2564.0600.260C1

8、10012/1612/2563.8400.240B101111/1611/2563.5200.220A101010/1610/2563.2000.200910019/169/2562.8800.180810008/168/2562.5600.160701117/167/2562.2400.140601106/166/2561.9200.120501015/165/2561.6000.100401004/164/2561.2800.080300113/163/2560.9600.060200102/162/2560.6400.040100011/161/2560.3200.0200000000表

9、2 ADC0804电压输入与数字输出关系例如:VIN=3V,由上表可知2.880+0.120=3V,为10010110B=96H。 AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V30V,检测的温度范围为-55+150,它有非常好的线性输出性能,温度每增加1,其电流增加1微安培。当摄氏温度为0时,AD590的电流为273.2微安培,经10千欧姆电阻后其电压为2.732伏特。余者依上述方法类推。 利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号后传送给AT89C51处理。 温度采集和AD590温度传感器工作的系统结构电路图为图3。(五)显示模块译码I

10、C及温度显示的电路图如图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 7447D、C、B、A:BCD码输入引脚

11、。a、b、c、g:7段数码管输出引脚。LT:本引脚为测试引脚,当接高电平时,所连接的7段LED数码管全亮。正常显示下应接低电平。RBI:本引脚为涟波淹没输入引脚,正常显示下应接低电平。BI和RBO:本引脚为淹没输入或涟波淹没输出引脚,正常显示下应接低电平。7段LED数码管是利用7个LED组合而成的显示设备,可以显示0到9共10个数字。当要显示多个数码管,可分别驱动每个数码管;当要利用人类的视觉暂留现象,则可以采用快速扫描的方式,只要一组驱动电路即可达到显示多个数码管的目的。一般来说,7段LED数码管可分为共阳极和共阴极两种,共阳极就是把所有LED的阳极连接到共同的接点com,而每个LED的阴极

12、分别为a、b、c、d、e、f、g及dp(小数点);同样的,共阴极就是把所有LED的阴极连接到共同的接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)。(六) 键盘扫描图7 键盘扫描电路图7是键盘扫描的电路图,其中74922是键盘扫描IC。键盘扫描电路的原理是,将键盘接在一个键盘扫描IC 74922上,当在键盘上按下键时,相关的键码将通过74922的A、B、C、D口线传递给AT89C51单片机。键盘采用电话式键盘,结构如图8所示。键盘是接在键盘扫描IC 74922(上图6所示)上面的,键盘的输入通过74922的X1X3和Y1Y4输入。 X1 X2 X312345678

13、9*0#Y1 Y2 Y3 Y4 图8 电话式键盘 鉴于键盘扫描IC为4*4形式,以下键盘编码每行后面都有0FFH,以配合硬件使用。按键123456对应编码01H02H03H04H05H06H按键789*0#对应编码07H08H09H0AH00HOBH表3 键盘编码 键盘扫描IC74922的工作过程:X1X3接键盘的行,Y1Y4接键盘的列,按键信息由这几个口输入,由A、B、C、D四个口输出到P3口的低四位,再通过P1口经过译码IC显示在LED上。键盘扫描芯片不断查询是否有按键输入,当查询到有按键时,DA置1,同时执行相应的程序,比较温度是否超出上、下限,进而决定是加热还是降温。(七) WP型温室

14、加热器 如图7所示,在AT89C51的P2.1口上接一个继电器,将加热器接在此继电器上。需要提高温度时,单片机控制P2.1口,使之置1,进而控制加热器加热。(八) 降温模块 如图7所示,在AT89C51的P2.2口上接一个继电器,将降温风扇接在此继电器上。需要降温时,单片机控制P2.2口,使之置1,进而控制降温风扇降温。二、 软件设计本系统的工作流程是,操作人员可以从键盘上输入要设定的温度值。当此温度值与当前温度不同时,单片机控制系统采取调节的动作。当设定温度大于测定温度时,则使加热器工作;当设定温度小于测定温度时,则开启降温风扇。此程序流程包括4个部分。第一部分是主程序,它描述的是程序的总体

15、结构;第二部分是定时器T0的描述,它的功能是将实际温度和设定的温度比较,再作出相应的动作;第三部分是键盘扫描部分;第四部分是显示部分,用于显示温度值。(一) 主程序YN按键程序显示A/D转换完成否?判断有无按键?A/D转换系统初始化开始NY图9 主程序本温度控制系统的总体设计思路见图9的主程序流程图,系统采用温度传感器AD590采集温度数据,再由ADC0804模数转换器将温度转化为单片机可以处理的数据。本系统将温度总体控制在20到30之间,并且可以通过键盘输入要设定的温度值,并通过7段数码管显示出来。在整个系统的运行期间,有一个定时器T0中断每隔20ms扫描一次,用于当前温度与设定温度的比较,

16、然后发出加温或降温的命令。程序代码如下:ORG 00H JMP START ORG 0BH JMP TIM0START: MOV TMOD,#01H MOV TH0,#60 MOV TL0,#76 SETB TR0 MOV IE,#82H MOV R4,#09H MOV R0,#30HCLEAR: 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,#0FFHSTART0:

17、 MOVX R0,AWAIT: JB P3.4,KEYIN JB P2.0,ADC JMP WAITADC: MOVX A,R0 MOV 37H,A CLR C SUBB A,36H JC TDOWNTUP: MOV A,37H CLR C SUBB A,34H JNC POFF JMP LOOPPON: CLR P2.1 JMP START0POFF: SETB P2.1 JMP LOOPTDOWN: MOV A,37H CLR C SUBB A,35H JC PON JMP LOOPLOOP: MOV 36H,37H CLR A MOV R4,#0FFH DJNZ R4,$ CALL L1

18、 MOV 21H,#10H NOV R1,#30HDISP1: CALL DISP DJNZ 21H,DISP1 JMP START0(二) 定时器T0中断定位装入初值比较的十位相同?比较的个位相同?开启降温风扇返回加热器工作设定温度测定温度?加热器停止工作待添加的隐藏文字内容2YNYNNY图10 定时器T0中断子程序 定时器T0中断的工作流程如图10所示。当定时器T0发生中断时,就将按键输入的设定的温度值与当前的温度值比较。当输入的温度值大于当前测定的温度值,单片机就控制加热器加热;当设定的温度值小于当前测定的温度值,就开启降温风扇。程序代码如下:TIM0: PUSH ACC PUSH PS

19、W 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.1RETURN: POP PSW POP ACC RETIOFF: SETB P2.1 JMP RETURNDELAY: MOV R7,#06D1: MOV R6,#248 DJNZ R6,$ DJNZ R7,D1 RET(三) 显示模块显示子程序流程图如图11所示:(说明:30H用于暂时存放要显示温度的高四位,31H用于暂时存放要显示温度的低四位,38H用于存放最终要显示在7段数码管上的温度值;D1、

20、D2分别表示两个7段数码管的存储地址。)取(30H)高四位为D1取(31H)低四位为D2返回将(38H)的值送P1将(30H)、(31H)合成为(38H)延时DISP图11 显示子程序系统提供温度的显示功能,将温度用两个7段数码管显示出来。程序如下:DISP: MOV A,R1 ANL A,#0F0H SWAP A MOV 38H,A INC R1 MOV A,R1 ANL A,#0FH SWAP AORL A,38H MOV P1,A CALL DELAY RET(四) 按键扫描将键盘接在一个键盘扫描IC 74922上,所按键将被此芯片处理后传送给单片机处理。工作流程如图9所示。如果要设定新

21、的温度值,操作流程为:按“*”要设定的温度值按“*”,这样就完成了温度的设定。程序代码如下: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,4FHD4: MOV R7,#0FFH D3: MOV R6,#0FFHD2: JB P3.4,KEYIN1 DJNZ R6,D2 DJNZ R7,D3 DJNZ R5,D4 JMP START0KEYIN1: JB P3.4,$ MOV A

22、,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(五) 源程序 程序要完成的功能是将总体温度控制在2030之间,在这个范围内,可以设定任一温度值,并使之达到恒温效果;如果超出这个范围,则程序自动控制继电器工作使温度稳定在这个范围之间。程序中各寄存器说明如下:30H、31H:所测得的实际温度32H、33H:键盘设定的温度34H:系统的上限温度值(30)35H:系统的下限温度值(20)3

23、6H:旧温度值的存放地址源程序如下:ORG 00H JMP START ORG 0BH JMP TIM0START: MOV TMOD,#01H MOV TH0,#60 MOV TL0,#76 SETB TR0 MOV IE,#82H MOV R4,#09H MOV R0,#30HCLEAR: 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,#0FFHSTART0: M

24、OVX R0,AWAIT: JB P3.4,KEYIN JB P2.0,ADC JMP WAITADC: MOVX A,R0 MOV 37H,A CLR C SUBB A,36H JC TDOWNTUP: MOV A,37H CLR C SUBB A,34H JNC POFF JMP LOOPPON: CLR P2.1 JMP START0POFF: SETB P2.1 JMP LOOPTDOWN: MOV A,37H CLR C SUBB A,35H JC PON JMP LOOPLOOP: MOV 36H,37H CLR A MOV R4,#0FFH DJNZ R4,$ CALL L1 M

25、OV 21H,#10H NOV R1,#30HDISP1: CALL DISP DJNZ 21H,DISP1 JMP START0L1: 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,NEXTL2: MOV A,30H ADD A,30H DA A MOV 30H,A MOV A,31H ADDC A,31H DA A MOV 31H,

26、A RETKEYIN: 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,4FHD4: MOV R7,#0FFHD3: MOV R6,#0FFHD2: JB P3.4,KEYIN1 DJNZ R6,D2 DJNZ R7,D3 DJNZ R5,D4 JMP START0KEYIN1: JB P3.4,$ MOV A,P3 ANL A,#0FH MOV DPTR,#TABLE MOVC A,A+DP

27、TR MOV 20H,A XRL A,#0AH JZ X1 MOV A,20H XRL A,#0BH JZ WAIT1 MOV A,20H XCH A,32H XCH A,33HWAIT1: MOV R1,#32H CALL DISP JB P3.4,KEYIN1 JMP WAIT1X1: JMP START0DISP: 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 RETTIM0: PUSH ACC PUSH PSW MOV TH0,#

28、60 MOV TL0,#76 MOV A,33H CJNE A,31H,T MOV A,32H CJNE A,30H,T JMP OFFT: JC OFF CLR P2.1 RETURN: POP PSW POP ACC RETIOFF: SETB P2.1 JMP RETURNDELAY: MOV R7,#06D1: MOV R6,#248 DJNZ R6,$ DJNZ R7,D1 RETTABLE: DB 01H,02H,03H,0FFH DB 04H,05H,06H,0FFH DB 07H,08H,09H,0FFH DB 0AH,00H,0BH,0FFHTABLE1 : DB 4BH D

29、B 32H END (六) 系统电路图 图12 系统电路图参考文献2 吴金戍,沈庆阳,郭庭吉. 8051单片机实践与应用 北京:清华大学出版社,2006,6882.3 陈明荧. 8051单片机课程设计实训教材 北京:清华大学出版社,2005,112135.4 张友德,赵志英,涂时亮. 单片微型机原理、应用与实验 上海:复旦大学出版社,2003,7891.5 沈庆阳. 单片机实践与应用. 北京:清华大学出版社,2002,4582.6 林申茂. 8051单片机彻底研究. 北京:人民邮电出版社,2004,145178.7 沙占友 孟志永 王彦朋. 单片机外围电路设计 北京:电子工业出版社,2006,

30、156214.10 戴佳,苗龙,陈斌. 51单片机应用系统开发典型实例 北京:中国电力出版社,2005,187204. 致谢 本文是在XXX老师的悉心指导下完成的。“悉心”二字,绝非可有可无。因为,从选题到今天成文,X老师给予了我很大帮助,付出了大量的心血。可以说,没有X老师的指导,就没有今天的顺利成文。在师从X老师做毕业设计的这段时间里,我感到学到很多东西。X老师治学严谨、做事认真,大到结构,小至标点,一一从严要求,决不允许敷衍;X老师为人真诚、待人热情,从选题至成文,说来惭愧,应该说是在X老师的推动下,才得以如期完成。很多时候,都是X老师给我主动打电话,帮助我规划好时间,及时传道授业、答疑

31、解惑。从选定题目、到现在定稿完成,X老师的关怀帮助始终如一,这让我在感动的同时,又深感惭愧!X老师很忙,教学、科研任务繁重。但我每次交稿,他都认真修改,及时回复。每每看到论文上细密的红色批语,深感暖意阵阵!也突然明白鲁迅对藤野先生认真修改他的笔记的那种感动。是的,在很多人将敷衍奉为圭臬的情形下,依然能够认真谨严做事,依然能够热情诚恳帮助别人的人,令人感激和钦佩!“学高为师,行为世范。”我再次明白了“老师”二字的厚重内涵!人生的各个阶段,要面临很多选择。大学三年,也概莫能外。我曾做出过不少选择,但事后令自己深感得意的,并不是很多。可是,师从周老师做毕业设计却不能不说是其中一个!在此,向X老师致以

32、最诚挚的谢意!我还要感谢在大学三年来所有曾经教过及帮助过我的老师,是他们的谆谆教诲、无私奉献,使我增加了知识、提高了能力!没有他们,也就没有我三年学业的顺利完成!另外,我还要感谢三年来朝夕相处的同学,和他们切磋知识、交流思想,也使我感到受益匪浅!最后,向所有关心和帮助过我的老师和同学们致以最诚挚的谢意! Employment tribunals sort out disagreements between employers and employees.You may need to make a claim to an employment tribunal if: you dont agr

33、ee with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly.For more information about dismissal and unfair dismissal, seeDismissal.You can make a claim to an employment tribunal, even if you haventappealedagains

34、t the disciplinary action your employer has taken against you. However, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal.Remember that in most cases you must make an application to an employment tribunal within three months of the da

35、te when the event you are complaining about happened. If your application is received after this time limit, the tribunal will not usually accept it.If you are worried about how the time limits apply to you, take advice from one of the organisations listed underFurther help.Employment tribunals are

36、less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation.Most people find making a claim to an employment tribunal challenging. If you are thinking about making a claim to an employment tribunal, you should get help straight

37、away from one of the organisations listed underFurther help.If you are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of your compensation if you win the case. This is known as adamages-based agreement. In England and Wales, your s

38、olicitor cant charge you more than 35% of your compensation if you win the case.If you are thinking about signing up for a damages-based agreement, you should make sure youre clear about the terms of the agreement. It might be best to get advice from an experienced adviser, for example, at a Citizens Advice Bureau. To find your nearest CAB, including those that give adv

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号