ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:268.45KB ,
资源ID:17506197      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17506197.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(温室温度自动控制系统设计毕业论文Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

温室温度自动控制系统设计毕业论文Word文件下载.docx

1、当所设定的温度值比采集的温度大时,通过加热器加热,以达到设定值;反之,开启降温风扇,以快速达到降温效果。该系统对温度的控制范围在2030,温度控制的误差小于等于0.5。通过使用该系统,对蔬菜大棚内的温度进行有效、可靠地检测与控制,保证大棚内作物在最佳的温度条件下生长,提高质量和产量。 图1系统原理框图第2章 温室控制系统硬件设计该系统分为六个模块,分别是单片机系统模块、温度采集模块、显示模块、键盘扫描模块、加热模块和降温模块。现分别介绍如下:2. 1 基于AT89C51的单片机系统本系统采用Atmel公司所生产的MCS51系列中的AT89C51单片机4。主芯片的功能:AT89C51单片机系统如

2、图2所示:图2 单片机系统这个系统由两部分组成,现介绍如下:AT89C51的内容:2.1.1 时钟脉冲AT89C51内部已具备振荡电路,只要在接地引脚上面的两个引脚(即19、18脚)连接简单的石英晶体即可。AT89C51的时钟频率为12MHz。2.1.2 复位电路 AT89C51的复位引脚(Reset)5为第9脚,当此引脚连接高电平超过2个机器周期(一个机器周期为6个时钟脉冲),即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲1us,两个机器周期为12us,因此,在第9脚上连接一个12us以上的高电平脉冲,即可产生复位的动作。对于上电复位,复位引脚上串接了一个电容,当复位引脚接 +

3、5伏电压时,电容相当于短路,经过一段时间(在这段时间内完成复位)后,电容处于充电状态,相当于断开。还有一种是手动复位,它的接法是在AT89C51复位引脚所串连的电容上并联接一个按钮开关。当按钮没按下时,电容处于充电状态;当按钮按下时,电容对复位引脚放电,从而在这个引脚上产生高电平,达到复位的目的。2.2温度采集模块 本系统的温度采集和转换电路原理图如图3所示,它的工作过程为:系统通过AD5906采集外界的温度参数,并通过三个放大器的作用将温度转化为电流模拟量;此模拟量通过ADC08047的转化变成数字量,以便单片机辨认接收。图3 AD590温度传感器工作的系统结构电路图根据电路图,说明各个器件

4、的功能如下:温度传感器AD590的功能:如上图3所示:OPA1:以0为标准,调节可变电阻R10使其输出电压为2.73伏特。OPA2:减2.73伏特,并反相。OPA3:放大5倍并反相。例如:AD590输出电压为1.5伏特,则其温度为:1.5/5(OPA3)+2.732(OPA2=3.032伏特;3.032/10K=303.2微安培;303.2-273.2=30微安培30。注意:ADC0804的VREF=2.56V。表1 各温度与3个OPA及ADC0804的输入与输出关系温度值OPA1OPA2OPA3ADC VINADC输出值02.732V0V00H102.832V-0.1V0.5V19H202.

5、932V-0.2V1V32H303.032V-0.3V1.5V4BH403.132V-0.4V2V64H503.232V-0.5V2.5V7DH603.332V-0.6V3V96H703.432V-0.7V3.5VAFH803.532V-0.8V4VC8H903.632V-0.9V4.5VE1H1003.732V-1V5VFAH2.2.1 AD转换器ADC0804的功能图4 ADC0804(1)如图4所示,所谓A/D转换器就是模拟/数字转换器,是将输入的模拟信号转换成数字信号。信号输入端的信号可以是传感器或是转换器的输出,而ADC输出的数字信号可以提供给微处理器,以便更广泛地应用。(2)ADC

6、0804电压输入与数字输出关系如下表2所示:表2 ADC0804电压输入与数字输出关系十六进制二进制码 二与满刻度的比率相对电压值VREF=2.56伏高四位字节低四位字节高四位字节电压低四位字节电压F111115/1615/2564.8000.300E111014/1614/2564.4800.280D110113/1613/2564.0600.260C110012/1612/2563.8400.240B101111/1611/2563.5200.220A101010/1610/2563.2000.200910019/169/2562.8800.180810008/168/2562.5600.

7、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.0200000VIN=3V,由上表可知2.880+0.120=3V,为10010110B=96H。(3)AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V30V,检测的温度范围为-55+150,它有非常好的线性输出性能,温度每增加1,其电流增加1微安培

8、。当摄氏温度为0时,AD590的电流为273.2微安培,经10千欧姆电阻后其电压为2.732伏特。余者依上述方法类推。(4)利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号后传送给AT89C51处理。(5)温度采集和AD590温度传感器工作的系统结构电路图为图3.2。2.3 显示模块译码IC及温度显示的电路图如图5所示。显示部分的工作原理是,它将温度转换的数字量,即温度值,经由AT89C51的P1口由两个译码IC输出并分别送入两个七段数码管显示8,这两个LED都是共阳极的。图5 译码IC及温度显示2.3.1 译码IC 7447BCD码转换成7段LED数码管的译码

9、驱动IC,如图6所示,首推7447系列,包括7446、7449、74LS499。其中的7446及7447输出低电平驱动的显示码,用以推动共阳极7段LED数码管;而7448及74LS49输出高电平驱动显示码,用以推动共阴极7段LED数码管,7446、7447与7448的引脚相同(双并排16pins)。7447引脚说明:1、D、C、B、A:BCD码输入引脚。2、a、b、c、g:7段数码管输出引脚。3、/LT:本引脚为测试引脚,当接高电平时,所连接的7段LED数码管全亮。正常显示下应接低电平。4、/RBI:本引脚为涟波淹没输入引脚,正常显示下应接低电平。5、/BI和/RBO:本引脚为淹没输入或涟波淹

10、没输出引脚,正常显示下应接低电平。图6 译码IC 74472.3.2 七段LED数码管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(小

11、数点)。2.4 键盘扫描图7是键盘扫描的电路图,其中7492210是键盘扫描IC。键盘扫描电路的原理是,将键盘接在一个键盘扫描IC 74922上,当在键盘上按下键时,相关的键码将通过74922的A、B、C、D口线传递给AT89C51单片机。图7键盘扫描电路2.4.1 键盘本键盘采用电话式键盘,其结构如图8所示。键盘是接在键盘扫描IC 74922(上图7所示)上面的,键盘的输入通过74922的X1X4和Y1Y4输入。 X1 X2 X3Y1*#图8 电话式键盘但鉴于键盘扫描IC为4*4形式,以下键盘编码每行后面都有0FFH,以配合硬件使用。按键及分别对应的键盘编码如表3所示:表3 键盘编码按键对应

12、编码01H02H03H04H05H06H07H08H09H0AHOBH2.4.2 键盘扫描芯片键盘扫描芯片74922的图形如图7所示。键盘扫描IC 74922的工作过程是这样的:X1X4接键盘的行,Y1Y4接键盘的列,按键信息由这几个口输入,由A、B、C、D四个口输出到P3口的低四位,再通过P1口经过译码IC显示在LED上。键盘扫描芯片不断查询是否有按键输入,当查询到有按键时,DA置1,同时执行相应的程序,比较温度是否超出上、下限,进而决定是加热还是降温。第3章 软件设计本系统的工作流程是,操作人员可以从键盘上输入要设定的温度值。当此温度值与当前温度不同时,单片机控制系统采取调节的动作。当设定

13、温度大于测定温度时,则使加热器工作;当设定温度小于测定温度时,则开启降温风扇。此程序流程包括4个部分。第一部分是主程序,它描述的是程序的总体结构;第二部分是定时器T0的描述,它的功能是将实际温度和设定的温度比较,再作出相应的动作;第三部分是键盘扫描部分;第四部分是显示部分,用于显示温度值(系统总程序见附录2)。3.1 主程序主程序流程图如图9所示:图9 主程序流程图本温度控制系统的主程序流程图,温度控制系统采用温度传感器AD590采集温度数据,再由ADC0804模数转换器将温度转化为单片机可以处理的数据。本系统将温度总体控制在20到30之间,并且可以通过键盘输入要设定的温度值,并通过7段数码管

14、显示出来。在整个系统的运行期间,有一个定时器T0中断每隔20ms扫描一次,用于当前温度与设定温度的比较,然后发出加温或降温的命令。程序代码如下:ORG 00H JMP START ORG 0BH JMP TIM0 ;定时器T0中断子程序START: MOV TMOD,#01H ;选择TIMER0,MODE1 MOV TH0,#60 MOV TL0,#76 SETB TR0 ;启动定时器T0 MOV IE,#82H MOV R4,#09H ;(30H)-(38H)寄存器 MOV R0,#30HCLEAR: MOV R0,#00H ;清除RAM(30H)-(38H) DJNZ R4,CLEAR M

15、OV A,#00H MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV 34H,A ;(34H)为上限温度-30度 MOV A,#01H MOV 35H,A ;(35H)为下限温度-20度 MOV 36H,#0FFH ;(36H)为存储的旧温度值START0: MOVX R0,A ; /WR=0,ADC0804开始转换WAIT: JB P3.4,KEYIN ; P3.4=1表示有按键,转往按键子程序 JB P2.0,ADC ;检测ADC0804转换完成否?P2.0=1,; 则完成 JMP WAITADC: MOVX A,R0 ;将转换好的数据送入累加器 MOV 37H,A ;

16、温度的比较。将现温度值存入37H CLR C SUBB A,36H ;现温度值减去旧温度寄存器的值 JC TDOWNTUP: MOV A,37H ;将现温度值存入A SUBB A,34H ;与上限温度作比较 JNC POFF ;C=0表示比上限温度大,必须停止加热 JMP LOOPPON: CLR P2.1 JMP START0POFF: SETB P2.1 ;继电器不动作,即停止加热TDOWN: SUBB A,35H ;与下限温度作比较 JC PON ;C=1表示比下限温度小,须加热LOOP: MOV 36H,37H ;将现温度值存入36H中 CLR A MOV R4,#0FFH ;延迟 D

17、JNZ R4,$ CALL L1 ;二-十进制转换程序 MOV 21H,#10H ;显示延迟 NOV R1,#30HDISP1: CALL DISP ;温度值的显示 DJNZ 21H,DISP13.2 定时器T0中断定时器T0中断的工作流程如图10所示。当定时器T0发生中断时,就将按键输入的设定的温度值与当前的温度值比较。当输入的温度值大于当前测定的温度值,单片机就控制加热器加热;当设定的温度值小于当前测定的温度值,就开启降温风扇。图10 定时器T0中断子程序TIM0: PUSH ACC PUSH PSW MOV TH0,#60 ;重设中断时间 MOV A,33H CJNE A,31H,T ;

18、设定温度的十位是否等于所 ;测温度的十位数 MOV A,32H CJNE A,30H,T ;设定温度的个位是否等于所测温度的个位数 JMP OFF ;个位相等,则令加热器停止加热T: JC OFF ;设定温度小于现在温度,停止加热 CLR P2.1 ;否则加热RETURN: POP PSW POP ACC RETIOFF:停止加热 JMP RETURNDELAY: MOV R7,#06 ;显示器扫描时间D1: MOV R6,#248 DJNZ R6,$ DJNZ R7,D1 RET3.3 显示模块显示子程序流程图如图11所示:(说明:30H用于暂时存放要显示温度的高四位,31H用于暂时存放要显

19、示温度的低四位,38H用于存放最终要显示在7段数码管上的温度值;D1、D2分别表示两个7段数码管的存储地址。)图11 显示子程序 系统提供温度的显示功能,将温度用两个7段数码管显示出来。程序如下:DISP: MOV A,R1 ANL A,#0F0H ;D1值:取(30H)高4位 SWAP A MOV 38H,A INC R1 ANL A,#0FH ;D2值:取(31H)低4位ORL A,38H ;D1,D2合成为8位 MOV P1,A ;送给7段数码管显示 CALL DELAY ;扫描延迟3.4 按键扫描按键扫描子程序流程图如图12所示:图12 按键子程序将键盘接在一个键盘扫描IC 74922

20、上,所按键将被此芯片处理后传送给单片机处理。工作流程如图12所示。如果要设定新的温度值,操作流程为:按“*”要设定的温度值按“*”,这样就完成了温度的设定。KEYIN: JB P3.4,$ ;有按键,放开否?MOV A,P3 ;是则读74922的按键值取有效的低4位 MOV DPTR,#TABLE ;至TABLE取键盘转换码 XRL A,#0AH ;是否按“*”? JNZ START0 ;不是,回到现在温度模式 JB P3.4,KEYIN1 ;有新的按键否? MOV R1,#32H ;无,设定温度显示地址显示设定温度地址中的值 MOV R5,4FH ;几秒钟后无按键则自动解除设定温度模式D4:

21、 MOV R7,#0FFHD3: MOV R6,#0FFHD2: JB P3.4,KEYIN1 DJNZ R6,D2 DJNZ R7,D3 DJNZ R5,D4KEYIN1:按键放开否? MOV A,P3 ;放开则读74922键盘值 ANL A,#0FH MOV DPTR,#TABLE MOV 20H,A ;按键值存入(20H) JZ X1 ;是,则温度设定完成 MOV A,20H XRL A,#0BH ;#未设定键 JZ WAIT1 MOV A,20H ;不是*、,则为数字键 XCH A,32H ;按键值存入(32H),(33H) XCH A附 录附录1系统电路图附录2 源程序代码程序要完成的功能是将总体温度控制在2030之间,在这个范围内,可以设定任一温度值,并使之达到恒温效果;如果超出这个范围,则程序自动控制继电

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1