温室大棚控制系统设计文档格式.docx
- 文档编号:16223287
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:25
- 大小:212.90KB
温室大棚控制系统设计文档格式.docx
《温室大棚控制系统设计文档格式.docx》由会员分享,可在线阅读,更多相关《温室大棚控制系统设计文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
2.2.2.9、负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2.2.3DS18B20的管脚排列
2.2.3.1、DS18B20的外形及管脚排列如下图:
DS18B20引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
2.2.4DS18B20的内部结构
DS18B20内部结构图:
2.2.5DS18B20的控制方法
2.2单片机的选择
2.2.1单片机概述
单片微型计算机简称单片机,又称微控制器,嵌入式微控制器等,属于第四代电子计算机。
它把中央处理器、存储器、输入/输出接口电路以及定时器叶数器集成在一块芯片上,从而具有体积小、功耗低、价格低廉、抗干扰能力强且可靠性高等特点,因此,适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。
正是由于这一原因,国际上逐渐采用微控制器(MCU)代替单片微型计算机(SCM)这一名称。
“微控制器”更能反映单片机的本质,但是由于单片机这个名称已经为国内大多数人所接受,所以仍沿用“单片机”这一名称。
1、单片机的主要特点有:
(1)具有优异的性能价格比。
(2)集成度高、体积小、可靠性高。
(3)控制功能强。
(4)低电压,低功耗。
2、单片机的主要应用领域:
(1)工业控制
(2)仪器仪表
(3)电信技术
(4)办公自动化和计算机外部设备
(5)汽车和节能
(6)制导和导航
(7)商用产品
(8)家用电器
因此,在本课题设计的温湿度测控系统中,采用单片机来实现。
在单片机选用方面,由于STC89系列单片机与MCS-51系列单片机兼容,所以,本系统中选用STC89C52单片机。
2.2.2STC89C52单片机的引脚说明
图2-3STC89C52单片机引脚图
芯片引脚如图2-3所示:
VCC:
电源。
GND:
地。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表1所示。
在flash编程和校验时,P1口接收低8位地址字节。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦作为AT89S52特殊功能(第二功能)使用,如上表2-1所示。
在flash编程和校验时,P3口也接收一些控制信号。
RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当STC89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EA/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
程序存储器:
如果EA引脚接地,程序读取只从外部存储器开始。
对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:
2000H~FFFFH。
数据存储器:
STC89C52有256字节片内数据存储器。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)
定时器2:
定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。
其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2所示)。
定时器2有三种工作模式:
捕捉方式、自动重载(向下或向上计数)和波特率发生器。
工作模式由T2CON中的相关位选择。
定时器2有2个8位寄存器:
TH2和TL2。
在定时工作方式中,每个机器周期,TL2寄存器都会加1。
由于一个机器周期由12个晶振周期构成,因此,计数频率就是晶振频率的1/12。
中断:
STC89C52有6个中断源如表2-2所示:
两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。
IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。
定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。
程序进入中断服务后,这些标志位都可以由硬件清0。
实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0[1]。
表2-2中断控制寄存器
符号
位地址
功能
EA
IE.7
中断总允许控制位。
EA=0,中断总禁止;
EA=1,各中断由各自的控制位设定
-
IE.6
预留
ET2
IE.5
定时器2中断允许控制位
ES
IE.4
串行口中断允许控制位
ET1
IE.3
定时器1中断允许控制位
EX1
IE.2
外部中断1允许控制位
ET0
IE.1
定时器0中断允许控制位
EX0
IE.0
2.2.3STC89C52单片机最小系统
图2-4晶振电路
图2-5复位电路
如图2-4、图2-5所示,复位电路和时钟电路是维持单片机最小系统运行的基本模块。
单片机最小系统是在以51单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大[2]。
2.5温度调节模块设计
1、方案一
图2-12方案一电路图
如图2-12所示,由PWM控制温度调节模块,当PWM端输入高电平时,电流经Q1放大,光耦导通,光耦输出电流经Q2放大后,使双向可控硅导通,M4QA045电机运转,当PWM端输入低电平时,双向可控硅控制端输入电流为0,交流电过零以后,双向可控硅截止,M4QA045电机停止运转[4]。
2、方案二
图2-13方案二电路图
如图2-13所示,由PWM控制温度调节模块,当PWM端输入高电平时,电流经Q4放大,常开端5闭合,M4QA045电机运转,当PWM端输入低电平时,常开端5断开,M4QA045电机停止运转。
3、方案比较
方案一采用光耦隔离强电,方案二采用继电器隔离强电,但方案一没有实现强电与直流源的隔离,且方案一环节复杂,计算难度大,过多的环节延长响应时间,从而影响温度调整模块的性能,所以选择方案二[5]。
图2-14电热器驱动电路
基于以上两个方案的分析,加热器驱动电路也同样选用继电器隔离,当温度低于18℃时,相应引脚输出高电平,电流经过三极管放大,继电器常开端闭合,电热器工作,当温度高于23℃时,相应引脚输出低电平,继电器常开端关闭,电热器不工作[6]。
2.6湿度报警模块设计
图2-14湿度报警模块电路图
如图2-14所示,由STC89C52单片机在BUZZER端输入信号控制湿度报警模块。
当湿度大于65%RH或者小于45%RH时,BUZZER端输入高电平,电流经Q3放大,使蜂鸣器工作;
当湿度处于45%RH和65%RH之间时,BUZZER端输入低电平,蜂鸣器不工作[7]。
第三章温室大棚控制系统软件设计
3.1KeilC软件概述
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
KeilC51开发系统基本知识KeilC51开发系统基本知识:
1.系统概述
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍KeilC51开发系统各部分功能和使用。
2.KeilC51单片机软件开发系统的整体结构
C51工具包的整体结构,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
使用独立的Keil仿真器时,注意事项:
*仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
*仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
*仿真芯片的31脚已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;
但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
1、安装好了Keil软件以后,我们打开它。
2、我们先新建一个工程文件,点击“Project->
New
Project…”菜单。
3、选择工程文件要存放的路径,输入工程文件名xdch最后单击保存。
4、在弹出的对话框中选择CPU厂商及型号。
5、选择好STC89C52芯片,接着点击确定,弹出对话框。
6、新建一个C51文件,单击左上角的NewFile,保存为DS18B20_4.C,(注意后缀名必须为.C),再单击“保存”。
7、存好后把此文件加入到工程中方法如下:
用鼠标在SourceGroup1上单击右键,然后再单击AddFilestoGroupSourceGroup1。
8、选择要加入的文件,找到MAIN.C后,单击Add,然后单击Close。
9、在编辑框里输入代码。
10、生成.hex烧写文件,先单击OptionsforTarget。
11、在下图中,我们单击Output,选中CreateHEXF,再单击“确定”。
以上是Keil软件的基本应用[8]。
3.2温室大棚控制系统程序设计
3.2.1整体系统框图
图4-1系统整体框图
首先,初始化单片机设置中断,定义变量,然后初始化LCD1602显示模块,设置8位格式,2行,5*7矩阵显示,整体显示,关光标,不闪烁设定输入方式,增量不移位,清除屏幕显示。
调用温湿度采集程序进行数据采集,经过数据转换程序,将十六进制转换成十进制,将十进制数据输出到LCD1602显示模块进行显示,根据温度调整电机转速,根据湿度判断是否报警,最后,进行新一轮的温湿度采集[9]。
3.2.2LCD1602显示模块程序设计
图4-2显示程序框图
如图4-2,初始化LCD1602显示模块,设置8位格式,2行,5*7矩阵显示,整体显示,关光标,不闪烁设定输入方式,增量不移位,清除屏幕显示,延时等待,将采集到的温湿度数据进行转换,十六进制转换成十进制,然后,判断是否在第一行显示,输入相应的地址数据,延时等待,输入需要显示的数据。
3.2.3PWM程序设计
图4-3PWM程序框图
如图4-3所示,进行中断程序初始化,设置定时器T0中断时间为1ms,中断100次,即100ms作为一个脉冲周期,每中断一次,由变量T0_number进行计数,当变量T0_number大于100时,给变量T0_number赋值0,重新开始计数,当变量T0_number小于变量PWM_width_H时,输出高电平,当变量T0_number大于变量PWM_width_H时,输出低电平,以此控制脉宽[10]。
第四章调试中遇到的问题
在软件的调试过程中,遇到的问题有很多,下面就几个比较突出的问题进行说明。
1)在对KeilC的使用时不知道怎么才能让它生成HEX文件,从而进行仿真,因为以前没有用过类似的软件,不会并且也不知道需要生成HEX文件,导致前期的工作很难进行
2)因为用的是DHT11数字传感器,在编程过程中需要对所测得温度进行处理,而且需要给定一个温度范围,建立一个温度与电机转速的数学模型,经过反复的计算、实验才实现。
3)因为考虑到经济实用方面,所以在进行实物操作之前,采用proteus软件对程序和硬件电路进行仿真,可是在仿真过程中,独立按键总是不灵敏,这需要对延迟时间进行调整,而程序中设置的延迟时间总是不能够很符合实际操作,所以在这方面浪费了大量的时间进行反复的操作和实验
4)在仿真过程中,因为用到的是LCD1602显示模块,这种显示模块是可以显示字符的,并且这种模块本身带有字库,但事实仿真过程中,电路要求相对宽松,不需加上拉电阻,而实际的电路调试过程需要加上拉电阻。
结论
以上为毕业期间所设计的温室大棚控制控制系统,它经过多次修改和整理,可以满足设计的基本要求。
采用STC89C52单片机、DHT11数字温湿度传感器、LCD1602液晶显示模块和M4QA045电机等器件设计温室大棚控制系统,实现温湿度采集、英文显示;
温度自动调节,湿度越限报警功能。
因为本人水平有限,此设计存在一定的问题。
譬如系统抗干扰能力差,且没有实现自动自动复位。
由于使用的是单片机作为核心的控制元件,配合其它器件,使本温度控制系统具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。
参考文献
[]孙育才.MCS-51系列单片微型计算机及其应用(第四版)[M].南京:
东南大学出版社,2004
[2]康华光.电子技术基础-模拟部分(第四版)[M].北京:
高等教育出版社,1999
[3]康华光.电子技术基础-数字部分(第四版)[M].北京:
[4]石来德.机械参数电测技术[M].上海:
上海科学技术出版社,1981
[5]ErnestO.Doebelin.MeasurementSystems:
ApplicationandDesign[M].America:
McGraw-HILLBOOKCOMPANY,1976
[6]曹继松.测试电路[M].上海:
上海交通大学出版社,1995
[7]谢自美.电子线路设计实验测试[M].武汉:
华中科技大学出版社,2000
[8]马靖善,秦玉平.C语言程序设计[M].北京:
清华大学出版社,2005
[9]赖麒文.8051单片机C语言开发环境实务与设计[M].北京:
科学出版社,2002
[10]徐爱钧.智能化测量控制仪表原理与设计[M].北京:
北京航空航天大学出版社,2004
附录
#include<
reg52.h>
intrins.h>
#defineLCD_DBP2
sbitDQ=P1^0;
sbitBUZZER=P1^1;
sbitPWM=P1^2;
sbitLCD_RS=P1^4;
sbitLCD_RW=P1^5;
sbitLCD_E=P1^6;
sbitHEAT=P1^7;
voidinitial(void);
voidread_DHT11(void);
voidLCD_write_command(unsignedcharcom);
voidLCD_display_char(unsignedcharx,unsignedchary,unsignedchardat);
unsignedcharread_DHT11_char(void);
voidcontrol_temperature_humidity(void);
voiddelay_xms(unsignedinttime_xms);
voiddelay_x10us(unsignedinttime_x10us);
unsignedcharstop_system=0;
unsignedcharlineOne[]="
TS(0-50):
C"
;
unsignedcharlineTwo[]="
HS(20-90):
%RH"
unsignedintT0_number=0,T1_number,PWM_width_H;
u
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温室 大棚 控制系统 设计