粮库温湿度智能控制系统设计Word格式文档下载.docx
《粮库温湿度智能控制系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《粮库温湿度智能控制系统设计Word格式文档下载.docx(51页珍藏版)》请在冰豆网上搜索。
该系统抗干扰能力强,具有较高的测量精度,不需要任何固定网络的支持,安装简单方便,性价比高,可维护性好。
这种温湿度测控系统可应用于粮食存储的粮库,实现对温度的实时控制,是一种比较智能、经济的方案,适于大力推广,以带来很好的经济效益和社会效益[2]。
第二章系统硬件电路的设计
2.1系统硬件构成及其测控原理
图2-1系统整体框图
图2-2系统整体电路图
本系统由如图2-1、图2-2所示,DHT11温湿度传感器采集数据,STC89C52单片机进行数据处理,LCD1602显示模块显示温湿度、粮库窗体状态、加热器和加湿器状态,通过矩阵键盘进行手动操作,切换显示内容,开关加热器和加湿器,设定温度湿度上下限。
由步进电机控制粮库窗体开合程度,当温度小于设定温度下限时,粮库窗体完全关闭,并开启加热器,当温室大于设定上限时,粮库窗体完全开启,并关闭加热器,当温度处于设定上限和设定下限之间时,根据温度适当调节粮库窗体开角,可手动调节加热器开关。
当湿度小于设定下限时,开启加湿器,当湿度高于设定上限时,关闭加湿器。
当温湿度越限时,由报警电路进行报警。
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[3]。
表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.3显示模块的选择
2.3.1LCD1602概述
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,如图2-5所示,目前常用16×
1,16×
2,20×
2和40×
2行等模块。
现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。
1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。
1602型LCD可以显示2行16个字符,有8位数据总线D0-D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能[4]。
图2-6LCD1602实物图
2.3.2LCD1602基本参数及引脚功能
1602LCD主要技术参数:
显示容量:
16×
2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×
4.35(W×
H)mm
引脚功能如表2-3所示:
表2-3引脚功能
编号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
3
VL
液晶显示偏压
11
D4
4
RS
数据/命令选择
12
D5
5
R/W
读/写选择
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
BLK
背光源负极
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
表2-4LCD1602控制命令
序号
指令
清显示
光标返回
*
置输入模式
I/D
S
显示开/关控制
D
C
B
光标或字符移位
S/C
R/L
置功能
DL
N
F
置字符发生存贮器地址
字符发生存贮器地址
置数据存贮器地址
显示数据存贮器地址
读忙标志或地址
BF
计数器地址
写数到CGRAM或DDRAM)
要写的数据内容
从CGRAM或DDRAM读数
读出的数据内容
LCD1602的读写操作,如图2-7、图2-8所示、屏幕和光标的操作都是通过指令编程来实现的。
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
图2-7读操作时序
图2-8写操作时序
图2-9LCD1602内部显示地址
如图2-9所示,第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?
这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。
在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。
每次输入指令前都要判断液晶模块是否处于忙的状态。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
1602LCD的一般初始化(复位)过程:
(1)延时15mS
(2)写指令38H(不检测忙信号)
(3)延时5mS
(4)写指令38H(不检测忙信号)
(5)延时5mS
(6)写指令38H(不检测忙信号)
(7)以后每次写指令、读/写数据操作均需要检测忙信号
(8)写指令38H:
显示模式设置
(9)写指令08H:
显示关闭
(10)写指令01H:
显示清屏
(11)写指令06H:
显示光标移动设置
(12)写指令0CH:
显示开及光标设置
2.4控制面板电路设计
图2-10LCD1602显示模块电路
图2-11矩阵键盘电路图
如图2-10、2-11,粮库温湿度智能控制系统控制面板由显示器和矩阵键盘组成,显示器通过滑动变阻器调节灰度,8根数据线上分别连接上拉电阻,提高了系统的稳定性。
矩阵键盘中包含中断触发电路,当有按键按下时可产生下降沿触发单片机外部中断0,从而调用键盘扫描程序,这种连接方式有效节省了系统资源,为未来的系统维护升级打下了基础。
16个按键中共占用13个,剩余3个按键保留,按键0和4控制显示翻屏,通过按键调节显示需要的数据,按键1、5、9和13调节温度上下限,按键2、6、10和14调节湿度上下限,根据不同的粮食调整参数。
按键3和7控制加热器和加湿器开关,在温度和湿度助于正常外围内,可以手动调节加热器和加湿器开关。
按键11是关机键,关机前单片机外接设备复位,即关闭报警器、加热器、加湿器和粮库窗体[5]。
2.5温湿度传感器的选择
2.5.1DHT11数字温湿度传感器概述
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品为4针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供[6]。
2.4.2DHT11数字温湿度传感器性能说明
表2-5DHT11数字温湿度传感器性能
参数
条件
Min
Typ
Max
单位
湿度
分辨率
%RH
Bit
重复性
±
精度
25℃
0-50℃
互换性
可完全互换
量程范围
0℃
30
90
20
50℃
80
响应时