1、1. 引言 1.1 温室控制系统设计背景 中国农业的发展必须走现代化农业这条道路,随着国民经济的迅速增长,农业 的研究和应用技术越来越受到重视,特别是温室大棚已经成为高效农业的一个重要 组成部分。现代化农业生产中的重要一环就是对农业生产环境的一些重要参数进行 检测和控制。例如:空气的温度、湿度、二氧化碳含量、土壤的含水量等。在农业种 植问题中,温室环境与生物的生长、发育、能量交换密切相关,进行环境测控是实 现温室生产管理自动化、科学化的基本保证,通过对监测数据的分析,结合作物生 长发育规律,控制环境条件,使作物达到优质、高产、高效的栽培目的。以蔬菜大 棚为代表的现代农业设施在现代化农业生产中发
2、挥着巨大的作用。大棚内的温度和 湿度参数,直接关系到蔬菜和水果的生长。国外的温室设施己经发展到比较完备的 程度,并形成了一定的标准,但是价格非常昂贵,缺乏与我国气候特点相适应的测 控软件。而当今大多数对大棚温度、湿度的检测与控制都采用人工管理,这样不可 避免的有测控精度低、劳动强度大及由于测控不及时等弊端,容易造成不可弥补的 损失,结果不但大大增加了成本,浪费了人力资源,而且很难达到预期的效果。因 此,为了实现高效农业生产的科学化并提高农业研究的准确性,推动我国农业的发 展,必须大力发展农业设施与相应的农业工程,科学合理地调节大棚内温度、湿度, 使大棚内形成有利于蔬菜,水果生长的环境,是大棚蔬
3、菜和水果早熟、优质、高效 益的重要环节 1。 影响作物生长发育的环境条件主要包括:温度、湿度、光照、CO2 浓度、土壤等。 所有这些环境条件之间是相互作用、相互联系、相互耦合的,某个控制变量发生改 变,会影响其它控制变量的变化。作物的生长发育是所有这些环境条件综合作用的 结果。温度和湿度一直是人类关注的对象,这两种环境因素时刻影响着人们的生产 和生活,下面主要就温度和湿度对作物的影响进行简略说明。 (1)温度 温室内气温、地温对作物的光合作用、呼吸作用、根系的生长和水 分、养分的吸收有着显著的影响,因此影响作物生长发育的环境条件中,以温度最 为敏感,也最为重要,对温室环境控制的研究也是最先从温
4、度控制开始的。不同种 类的作物对温度的要求是不同的,同一作物在不同发育阶段对温度的要求亦有所不 同,而且在同一发育期阶段内对温度的要求也会随着昼夜变化而呈周期性地变化。 一般说来在白天作物进行光合作用需要的温度较高,晚上维持呼吸作用所需的温度 要低一些。 作物生长发育适宜的温度,随种类、品种、生育阶段及生理活动的变化而变化。 为了增加光合产物的生成,抑制不必要的呼吸消耗,在一天中,随着光照强度的变 化,实行变温管理是一种很有效的管理方法 1。 (2)湿度 温室内作物对水分的要求体现为对温室内空气湿度和土壤湿度的要 求。空气湿度用相对湿度来表示,因为相对湿度更能反应事实。根据有关研究记载, 除了
5、阴雨天以外,温室内午后过低的空气湿度会导致作物发生光合作用的午休现象, 因此空气相对湿度的大小直接影响到作物的光合作用,这时就需要增加温室内的空 气湿度。当温室内的空气湿度较高时,可能会诱发一些病虫害。温室中空气湿度的 管理包括增湿和降湿。 土壤湿度对作物的影响也很大。如果土壤中水分过剩,湿度过高,导致土壤中 的氧气含量减少,作物根部呼吸困难,进而危害作物的生长发育。相反,当土壤中 含水量减少时,作物根部吸收的水分就相应的减少,从而阻碍作物的生长,严重时 作物出现萎蔫现象。不同的作物对湿度的要求不同,即使是同一种类在不同发育阶 段对湿度的要求也不尽相同。 土壤湿度的管理就是把包括渗灌、滴灌、微
6、灌等灌溉技术应用到温室中来。传 统的大水漫灌既浪费水资源,又容易使土壤发生板结,提高了室内湿度。在温室中 应用渗灌技术具有灌水均匀,提高地温,保持土壤疏松,降低室内湿度,减轻病害 发生,生育期提前等优点。 从很久以前人类就想出各种方法控制温度和湿度,以满足人们生产生活的需要。 从古代人们通过扇子、雨伞、毛巾等试图去控制温度和湿度到今天高科技发展迅速 的社会所发明出的各种工具,如风扇、空调、加热器等,表明人类一直努力去控制 这两种和人类密切相关的环境因素。现代科技的发展,使得温度和湿度的控制更容 易,更高效,特别是传感器和单片机的应用,使得温度和湿度控制系统性能有了根 本性的提高,精度更高,而且
7、实现了自动化 2。 人们使用温度计、湿度计来采集温度和湿度,通过人工操作加热、加湿、通风 和降温设备来控制温湿度,这样不但控制精度低、实时性差,而且操作人员的劳动 强度大。即使有些用户采用半导体二极管作温度传感器,但由于其互换性差,效果 也不理想。在某些行业中对温湿度的要求较高,特别是在大型的电力系统中,由于 温度过高或过低引起的元器件失效或由于环境湿度过高而引起的漏电事故时有发生。 对电力系统的可靠运行造成影响,甚至危及到电力系统局部及操作人员的安全。为 了避免这些故障,需要在电力设备柜体内安装控温、除湿设备。 1.2 本设计的内容及意义 1.2.1 本设计的主要内容 本设计以 STC89C
8、51 单片机的温度、湿度测量和控制系统为核心来对温湿度进行 实时巡检。单片机能独立完成各自功能,同时能根据主控机的指令对温度进行定时 采集。测量结果不仅能在本地显示,而且可以利用单片机的串行口和 RS-232 总线通 信协议能把温室中的温度、湿度等参数及时上传至上位机,并与设定值进行比较, 与设定值不符时采取相应的处理措施,以实现恒温恒湿环境。 在设计的过程中充分考虑到性价比和精度,在选用低价格、通用元件的的基础 上,尽量满足设计要求,并使系统具有高的精度。本控制系统以单片机的控制为核 心,实时监测环境的温度和湿度,并设定了这两个参数的上下限定值,并具有相应 的报警系统,当超过设定的限定值时,
9、单片机控制报警系统进行报警,而且同时驱 动继电器打开相应的开关使相应的执行机构运行。当参数值恢复到设定值范围内时, 单片机控制执行机构停止运行。从而使环境的温湿度在一定的范围内得到控制。 本设计主要内容包括以下几个方面: (1)掌握 STC89C51 单片机的主要功能和特性,以其为核心设计控制系统。 (2)设计简单的人机对话接口系统,如键盘、显示、报警等。 (3)利用 RS232 实现单片机与上位机的通信。 (4)实现系统的可靠性和抗干扰性。 (5)选择适合的传感器,设计相应的信号采集和处理电路。 1.2.2本设计的意义 传统的方法,人们主要采用温度计、湿度计来采集温度值和湿度值,通过人工 操
10、作加热、加湿、通风和降温设备来控制温湿度。但是由于温度计、湿度计精度比 较低,以及人工读数的人为因素等原因,温湿度检测不仅速度慢,精度低,实时性 差,而且操作人员的劳动强度大。随着科技的发展,采用各种传感器、模数转换器、 报警器等组成的温湿度监测系统的出现,可对环境内的各个测点进行巡回检测,检 测速度、精度有了一定的提高,降低了劳动强度,但由于所采用的传感器灵敏度比 较低、稳定性比较差,致使检测精度、系统可靠性还不够理想,同时在农业生产和 农业科研过程中的很多场合需要对上面提到的物理量进行精确的检测和控制。由于 现在基本沿用人工的测控方法,这就不可避免的存在着劳动强度大、繁琐、测量精 度低,并
11、且由于检测报警不及时,给生产和科研工作造成了一定的损失 2。 近年来,随着单片机功能的日益强大和计算机的广泛应用,人们对参数监测的 准确性、稳定性要求也越来越高。本设计就是针对此问题,设计相对精度高、性能 稳定的、的温度湿度控制装置。该仪器可广泛应用于大棚、仓库、体育场等领域。 2. 温室控制系统总体设计 2.1 测控系统的设计要求 (1) 能够实时采集与显示室内环境温度、湿度等参数。主要参数的监测范围和 检测精度如表 2.1 所示: 表 2.1 主要环境参数 参数名 检测范围 检测精度 温度 -30+50 0.5 相对湿度 10%100%RH 3.0%RH (2) 能够根据每天各个阶段以及季
12、节等的外部环境变化通过键盘输入改变对参 数的设置,以满足不同的要求达到最佳效益; (3) 声音报警功能; (4) 根据检测到的信号,实时控制执行机构的开启与关断。 (5) 自带+5 V 和+12 V 直流稳压电源。 2.2 设计目标 本设计是基于 STC89C51 单片机的温湿度智能控制采集系统,主要完成一下主要 任务: (1)选择 STC89C51 单片机,了解其基本特性和功能,使用 STC89C51 实现对温 湿度的智能控制。 (2)使用温度传感器测量环境的温度,进行数据的采集并传送到单片机进行数 据处理,实现范围为-30+50温度采集和控制。 (3)使用湿度传感器对现场环境湿度数据采集,
13、由单片机进行数据处理和控制, 实现范围为 10%100%RH 的湿度控制。 (4)采用串行总线 RS-232 实现单片机和上位机通讯。 (5)设计人机对话接口,键盘、显示和报警系统。 (6)设计执行机构电路,使单片机能自动控制执行机构工作。 使系统完成特定功能的同时,要保证系统的可靠性和稳定性,使系统能够长期 稳定的工作。还要尽量实现系统的低成本、低功耗和高精度。 2.3 测控系统的组成及控制原理 本设计是以 STC89C51 单片机为核心的自动控制系统,硬件系统由键盘输入电路、 LCD 显示电路、传感器和 A/D 转换电路、和执行电路、报警电路等组成。 硬件系统原理框图如图 2.1 所示:
14、键盘输入 温度传感 器 湿度传感 器 A/ D 转 换 MCU STCT89 C51 LCD 显示 报警电路 图 2.1 测控系统硬件组成原理框图 传感器一般输出的为模拟量,需要通过 A/D 转换,转换为单片机能够接收的数 字信号,若模拟信号太弱,还需经过运算放大器放大信号。键盘输入的是系统参数 的上、下限极限值,若检测到的信号值出现不在此极限区间的情况,单片机就会驱 动蜂鸣器产生报警,此时就需要执行机构控制室内环境相应的改变,使得环境参数 重新回到设定的理想区间。 3. 硬件设计 硬件元器件的选择,必须考虑到功能的实现、器件的适时性、价格和通用性等 几个方面。在电路的设计中,在实现所要求功能
15、的基础上,尽量使电路简单。 3.1 单片机的选择及其特性 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积庞大。单片机(微 控制器)就是在这种情况下诞生的。微控制器,亦称单片机或者单片微型计算机。 它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端 口(1/0) 等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。它的 结构与指令功能都是按照工业控制的要求设计的,在智能控制系统中,微控制器得 到了广泛的应用。 单片机目前己被广泛地应用于家电、医疗、仪器仪表、工业自动化、航空航天 等领域。市场上比较流行的单片机种类主要有 Intel 公司、Atm
16、el 公司和 Philip 公 司的 8951 系列单片机,Motorola 公司的 M6800 系列单片机,Intel 公司的 MCS96 系 列单片机,Microchip 公司的 PIC 系列单片机等。各个系列的单片机各有所长,在处 理速度、稳定性、I/O 能力、功耗、功能、价格等方面各有优劣。这些种类繁多的单 片机家族,给我们单片机的选择也提供了很大的余地。本设计选用 STC89C51 单片机, 它是一种低功耗、低价格,高性能 8 位微处理器 3。 3.2 STC89C51系列单片机介绍 STC89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS 8 位单片机,片内含 4k
17、 bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存 储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,与标准 MCS- 51 指令系统及 8051 产品引脚兼容,片内置通用 8 位中央处理器(CPU)和 Flash 存储单元,功能强大的 STC89C51 单片机适合于许多较为复杂控制应用场合。 3.2.1 STC89C51基本特性 STC89C51系列单片机主要性能参数如下: 与MCS-51产品指令和引脚完全兼容 4k字节可重擦写Flash闪速存储器 1000次擦写周期 全静态操作:0Hz-24MHz 三级加密程序存储器
18、256字节内部RAM 32个可编程I/O口线 3个16位定时/计数器 8个中断源 可编程串行UART通道 低功耗空闲和掉电模式。 STC89C51 提供以下标准功能: 4k字节Flash 闪速存储器,256字节内部RAM,32 个I/O 口线,3 个16 位定时/ 计数器,一个6 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电 路。同时,STC89C52 可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作 模式。空闲方式停止CPU 的工作,但允许RAM,定时/计数器,串行通信口及中断系 统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件 工作直到下一
19、个硬件复位。 3.2.2 STC89C51单片机的内部组成结构 STC89C51单片机的内部结构如图3.1所示: 图3.1 STC89C51 单片机的内部结构 3.2.3 STC89C51的引脚功能 引脚功能说明如图 3.2: Vcc:电源电压 GND:地 P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复用口。 作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口 P0 写 “1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口 线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。 在 Flash
20、编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验 时,要求外接上拉电阻。 图3.2 STC89C52单片机封装图 P1 口:P1 口是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱 动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内部的上拉电阻 把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻, 某个引脚被外部信号拉低时会输出一个电流(IIL)。与 STC89C51 不同之处是,P1.0 和 P1.1 还可分别作为定时/计数器 2 的外部计数输入(P1.0/T2)和输入 (P1.1/T2EX) ,参见表 3.1。
21、 表 3.1 引脚 P1.0 和 P1.1 的第二功能 引脚号 功能特性 P1.0 T2(定时计数器 2 外部计数脉冲输入),时钟输出 P1.1 T2EX(定时计数器 2 捕获重装载触发和方向控制 Flash 编程和程序校验期间,P1 接收低 8 位地址。 P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动 (吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1” ,通过内部的上拉电阻把 端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某 个引脚被外部信号拉低时会输出一个电流(I IL)。 在访问外部程序存储器或16 位地址的外部数据存储器(例
22、如执行MOVX DPTR 指令)时,P2口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行 MOVX RI 指令)时,P2口输出P2 锁存器的内容。 Flash 编程或校验时,P2亦接收高位地址和一些控制信号。 P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动 (吸收或输出电流)4个TTL 逻辑门电路。对P3口写入“1”时,它们被内部上拉电 阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(I IL) 。 P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如表 3.2 所 示: 表 3.2 引脚 P3 口的第二功
23、能 此外,P3 口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将 使单片机复位。 ALE/PROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许) 输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6 输 出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访 问外部数据存储器时将跳过一个ALE脉冲。对Flash 存储器编程期间,该引脚还用于 输入编程脉冲(PROG) 。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可
24、端口引脚号 第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INTO(外中断 0) P3.3 /INT1(外中断 1) P3.4 T0(定时/计数器 0) P3.5 T1(定时/计数器 1) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) 禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该 引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当 AT89C52 由外部程序存储器取指令(或数据)时,每
25、个机器周期两次PSEN有效,即 输出两个脉冲。此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H FFFFH) ,EA 端必须保持低电平(接地) 。需注意的是:如果加密位LB1 被编程,复 位时内部会锁存EA端状态。如EA端为高电平(接Vcc端) ,CPU 则执行内部程序存储 器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这 必须是该器件是使用12V 编程电压Vpp。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端 4。 3.
26、2.4 STC89C51的存储器 中断寄存器: STC89C51有6个中断源,2个中断优先级,IE寄存器控制各中断位,IP寄存器中6 个中断源的每一个可定为2个优先级。 数据存储器: STC89C51 有 256 个字节的内部 RAM,80H-FFH 高 128 个字节与特殊功能寄存器 (SFR)地址是重叠的,也就是高 128 字节的 RAM 和特殊功能寄存器的地址是相同的, 但物理上它们是分开的。当一条指令访问 7FH 以上的内部地址单元时,指令中使用 的寻址方式是不同的,也即寻址方式决定是访问高 128 字节 RAM 还是访问特殊功能 寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。
27、 例如,下面的直接寻址指令访问特殊功能寄存器 0A0H(即 P2 口)地址单元。 MOV 0A0H,#data 间接寻址指令访问高 128 字节 RAM,例如,下面的间接寻址指令中,R0 的内容 为 0A0H,则访问数据字节地址为 0A0H,而不是 P2 口(0A0H) 。 MOV R0,#data 堆栈操作也是间接寻址方式,所以,高 128 位数据 RAM 亦可作为堆栈区使用。 定时器 0 和定时器 1: STC89C51 的定时器 0 和定时器 1 的工作方式与 STC89C51 的相同。 定时器 2: 定时器 2 是一个 16 位定时/计数器。它既可当定时器使用,也可作为外部事件 计数器
28、使用,其工作方式由特殊功能寄存器 T2CON 的 C/T2 位选择。定时器 2 有三 种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式, 工作方式由 T2CON 的控制位来选择。 波特率发生器: 当 T2CON 中的 TCLK 和 RCLK 置位时,定时/计数器 2 作为波特率发生器使用。 如果定时/计数器 2 作为发送器或接收器,其发送和接收的波特率可以是不同的,定 时器 1 用于其它功能。若 RCLK 和 TCLK 置位,则定时器 2 工作于波特率发生器方式。 波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2 翻转使定时器 2 的寄存器用 RCAP2H 和
29、 RCAP2L 中的 16 位数值重新装载,该数值由软件设置。 中断: STC89C51 共有 6 个中断向量:两个外中断(INT0 和 INT1) ,3 个定时器中断 (定时器 0、1、2)和串行口中断。这些中断源可通过分别设置专用寄存器 IE 的置 位或清 0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位 EA,它能控制所 有中断的允许或禁止。定时器 2 的中断是由 T2CON 中的 TF2 和 EXF2 逻辑或产生的, 当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是 TF2 或 EXF2 产生中断,而由软件清除中断标志位。定时器 0 和定时器 1 的标志
30、位 TF0 和 TF1 在定时器溢出那个机器周期的 S5P2 状态置位,而会在下一个机器周期 才查询到该中断标志。然而,定时器 2 的标志位 TF2 在定时器溢出的那个机器周期 的 S2P2 状态置位,并在同一个机器周期内查询到该标志 5。 STC89C51 的直流参数有一定的温度适用范围,见表 3.3: 表 3.3 T=-40+85 和 Vcc=5.0V20%下的直流参数 符号 参数 条件 最小值 最大值 单位LV 输入低电压 (Except EA) -0.5 0.2VCC-0.1 V1 输入低电压 -0.5 0.2VCC-0.3 VH 输入高电压 (Except XTAL1,RST) 0.
31、2VCC+0.9 VCC+0.5 V H1V输入高电压 (XTAL,RST) 0.7VCC VCC+0.5 VOL 输出低电压(P1,2,3) I=1.6mA 0.45 V1 输出低电压(P0,ALE/PSEN) I=32mA 0.45 VOHV 输出高电压 I=-25uA 0.75VCC V1 输出高电压 I=-300uA 0.75VCC VIL 逻辑 0 输入电流 (P1,2,3) V=0.45V -50 uATLI 逻辑 1 到 0 转换电流 (P1,2,3) V=2V -650 uA RST 复位下拉电阻 50 300 KIOC 引脚电容 1MHz, pF 消耗电流 Active Mo
32、de,12MHz 25 mA Flash存储器的编程:STC89C51单片机内部有4k字节的Flash PEROM,这个 Flash存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH) ,用户随时 可对其进行编程。编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。 低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM编程器 兼容。STC89C51单片机中,有些属于低电压编程方式,而有些则是高电压编程方式, 用户可从芯片上的型号和读取芯片内的签名字节获得该信息,见表3.4。 表 3.4 顶面标记及签名字节 Vpp=12V Vpp=5V 顶面标记 AT
33、89C52 Xxxx yyww AT89C52 xxxx-5 yyww 签名字节 (030H)=1EH (031H)=52H (032H)=FFH (030H)=1EH (031H)=52H (032H)=05H STC89C51 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节, 要对整个芯片内的 PEROM 程序存储器写入一个非空字节,必须使用片擦除的方式将 整个存储器的内容清除。 图 3.5 STC89C51 编程电路 程程序序校验:如果加密位 LB1、LB2 没有进行编程,则代码数据可通过地址 和数据线读回原编写的数据,采用如图 3.5 的电路。加密位不可直接校验,加密位 的
34、校验可通过对存储器的校验和写入状态来验证。 编程方法: (1)在地址线上加上要编程单元的地址信号。 (2)在数据线上加上要写入的数据字节。 (3)激活相应的控制信号。 (4)在高电压编程方式时,将 EA/Vpp 端加上+12V 编程电压。 (5)每对 Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个 ALE/PROG 编程脉冲。每个字节写入周期是自身定时的,通常约为 1.5ms。重复 15 步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。 Ready/Busy:字节编程的进度可通过“RDY/BSY 输出信号监测,编程期间, ALE 变为高电平“H”后,P3.4(RD
35、Y/BSY)端电平被拉低,表示正在编程状态(忙状 态) 。编程完成后,P3.4 变为高电平表示准备就绪状态。 芯片擦除:利用控制信号的正确组合并保持 ALE/PROG 引脚 10mS 的低电平脉 冲宽度即可将 PEROM 阵列(4k 字节)和三个加密位整片擦除,代码阵列在片擦除操 作中将任何非空单元写入“1” ,这步骤需再编程之前进行 11。 3.3 传感器的选型及其性能特征 用于测温的传感器种类繁多,但大多是模拟传感器,在以往组建温度采集系统 时,由于经传感器输出的是模拟信号,系统必须接入 A/D 转换器,由此增加了构件 系统的复杂性且成本较高。 温度的检测方法,一般采用热电偶、热敏电阻以及
36、集成温度传感器等测温元件。 热电偶的工作原理: 两种不同成份的导体两端经焊接,形成回路,直接测温端叫工 作端 ,接线端叫冷端,也称参比端。当工作端和参比端之间存在温差时,就会在回 路中产生热电动势,接上显示仪表,仪表上就会指示出热电偶所产生的热电动势的 对应温度值。热敏电阻的工作原理:热敏电阻的阻值随温度的升高而成非线性急剧变 化,一般具有负的温度系数,其阻值随温度升高而急剧减小,只有少数具有正的温 度系数。集成温度传感器的工作原理:集成温度传感器实质上是一种半导体集成电路, 它是利用晶体管的 b 一 e 结压降的不饱和值 Vbe 与热力学温度 T 和通过发射极电流 I 的关系实现对温度的检测
37、 12。 热电偶和热敏电阻的测量精度都比较高,成本比较低,而且测量的范围也比较 宽,但是它容易受到测量场所以及环境的限制,高温或长期使用时由于环境的影响 会使其性能下降,需要定期检查与更换,给实际应用带来了很大不便。经过论证及 多次实验,本设计决定采用 SHT11 传感器 6。 3.3.1温度传感器 SHT11 SHT11 的内部结构和工作原理: 温湿度传感器 SHT11 将温度感测、湿度感测、信号变换、AD 转换和加热器等 功能集成到一个芯片上,其内部结构如图七所示。该芯片包括一个电容性聚合体湿 度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和 温度转换成电信号,该电
38、信号首先进入微弱信号放大器进行放大;然后进入一个 14 位的 AD 转换器;最后经过二线串行数字接口输出数字信号。SHT11 在出厂前,都 会在恒湿或恒温环境巾进行校准,校准系数存储在校准寄存器中;在测量过程中, 校准系数会自动校准来自传感器的信号。此外,SHT11 内部还集成一个加热元件,加 热元件接通后能将 SHT11 的温度升高 5左右,同时功耗也会有所增加。此功能主要 为了比较加热前后的温度和湿度值,能综合验证两个传感器元件的性能。在高湿 (95RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。 加热后 SHT11 温度升高、相对湿度降低,较加热前,测量值会略有差异
39、 7。 图 3.6 SHT11 内部结构 微处理器是通过二线串行数字接口和 SHT11 进行通信的。通信协议和通用的 I2C 总线协议是不兼容的,因此需要用通用微处理器 IO 口模拟该通信时序。微处理器 对 SHT11 的控制是通过 5 个 5 位命令代码来实现的,命令代码的含义如表 3.7 所列。 表 3.7 SHT11 控制命令代码 SHT11 应用设计: 微处理器采用二线串行数字接口和温湿度传感器芯片 SHT11 进行通信,所以硬 件接门设计非常简单;然而,通信协议是芯片厂家自己定义的,所以在软件设计中, 需要用微处理器通用 IO 口模拟通道。SHT11 通过二线数字串行接口来访问,所以
40、 硬件接口电路非常简单。需要注意的地方是:DATA 数据线需要外接上拉电阻,时钟 线 SCK 用于微处理器和 SHT11 之间通信同步,由于接口包含了完全静态逻辑,所以 对 SCK 最低频率没有需求;当工作电压高于 4.5V 时,SCK 频率最高为 10 MHz,而 当工作电压低于 4.5 V 时,SCK 最高频率则为 1 MHz11。硬件连接如图 3.8 所示。 图 3.8 SHT11 硬件连接 应用信息: (1)工作与贮存条件 超出建议的工作范围可能导致高达 3%RH 的临时性漂移信号。返回正常工作 条后,传感器会缓慢地向校准状态恢复。要加速恢复进程/可参阅 7.3 小节的“恢 复处理”
41、。在非正常工作条件下长时间使用会加速产品的老化过程。 (2)暴露在化学物质中 电阻式湿度传感器的感应层会受到化学蒸汽的干扰,化学物质在感应层中 的扩散可能导致测量值漂移和灵敏度下降。在一个纯净的环境中,污染物质会缓 慢地释放出去。下文所述的恢复处理将加速实现这一过程。高浓度的化学污染会 导致传感器感应层的彻底损坏。 (3)恢复处理 置于极限工作条件下或化学蒸汽中的传感器,通过如下处理程序,可使其 恢复到校准时的状态。在 50-60和70%RH 的湿度条件下保持 5 小时以上。 (4)温度影响 气体的相对湿度,在很大程度上依赖于温度。因此在测量湿度时,应尽可能 保证湿度传感器在同一温度下工作。如
42、果与释放热量的电子元件共用一个印刷线 路板,在安装时应尽可能将 DHT11 远离电子元件,并安装在热源下方,同时保持 外壳的良好通风。为降低热传导,DHT11 与印刷电路板其它部分的铜镀层应尽可 能最小,并在两者之间留出一道缝隙。 (5)光线 长时间暴露在太阳光下或强烈的紫外线辐射中,会使性能降低。 (6)配线注意事项 DATA 信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线。 焊接信息 手动焊接,在最高 260的温度条件下接触时间须少于 10 秒。 注意事项: 避免结露情况下使用,长期保存条件:温度 1040,湿度 60%以下 10。 3.4 单片机外围控制电路设计 在本系统中单
43、片机的外围电路较多,可分为以下几部分:看门狗电路、系统电 源、温湿度信号采集电路、执行机构电路 LED 显示电路、键盘输入及报警电路、与 上位机通信的接口电路图等。 3.4.2电源电路 在本设计中主要用到+5V,+12V ,15V。为得到所需电压,系统采用了电压转换 芯片LM7815、LM7805和LM7812,三个芯片的输入分别取+19V、+23V 和+12V,经 转换后输出端输出分别为系统所需的+15V、+5V 和 +12V电压,电源电路图见图3.9 图 3.9 电源电路 3.4.3 LCD显示电路 (1)简介 工业字符型液晶,能够同时显示 16x02 即 32 个字符。 (16 列 2
44、行) 注:为了表示的方便 ,后文皆以 1 表示高电平,0 表示第电平。 (2)管脚功能 1602 采用标准的 16 脚接口,其中: 第 1 脚:VSS 为电源地 第 2 脚:VDD 接 5V 电源正极 第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时 对比度最高(对比度过高时会产生“鬼影” ,使用时可以通过一个 10K 的电位器调整 对比度) 。 第 4 脚:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令 寄存器。 第 5 脚:RW 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第 6 脚:E(或 EN)端为使能(en
45、able)端。 第 714 脚:D0D7 为 8 位双向数据端。 第 1516 脚:空脚或背灯电源。15 脚背光正极,16 脚背光负极。 3.4.4执行机构电路 常用的温室环境调控设备主要有以下几种: 加热系统 降温系统 加湿系统 降湿系统 其电路图相似,现仅示加热系统的电路,电路图分别如图 3.10: 图 3.10 加热电路 图 3.10 中,当反向驱动器 7404 左边输入为高电平时,经 7404 变为低电平,使 发光二极管发光,从而使光敏三极管导通,同时是三极管 9013 导通,因而使继电器 J 的线圈通电,继电器的触点闭合,使交流 220V 电源接通。反之当反向驱动器 7404 左边输
46、入为低电平时,使继电器触点断开。图中电阻为限流电阻,二极管 D 的作用 是保护晶体管 T。当继电器 J 吸合时,二极管 D 截止,不影响电路工作。继电器释放 时,由于继电器线圈存在电感,这时晶体管 T 已经截止,所以会在线圈的两端产生 较高的感应电压。此电压的极性为上正下负,正端接在晶体管的集电极。当感应电 压与与 12V 之和大于晶体管 T 的集电结反向电压时,晶体管 T 有可能损坏。加入二 极管 D 后,继电线圈产生的感应电流由二极管 D 流过,因此,不会产生很高的感应 电压,因而使晶体管 T 得到保护 7。 3.4.5键盘输入与报警电路 单片机的按键输入一般可分为简单的独立式按键输入及行
47、列式键盘输入两种。 独立式键盘输入适合于按键输入不多的情况,具有占用口线较少、软件编写简单容 易等特点。 通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当我们按 压按钮时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通, 在断开时也不会一下子断开。因而机械触点在闭合及断开的瞬间均伴随有一连串的 抖动,抖动时间的长短由按键的机械特性及操作人员按键动作决定,一般为 5ms20ms;按键稳定闭合时间的长短是由操作人员的按键按压时间长短决定的,一 般为零点几秒至数秒不等。 由于该款温湿度计应用于对空气中的温湿度进行测量,当湿度达到某一数值时 需要启动加湿功能,因此需要设定
48、一个湿度值。为此,本设计增加了 4 个按键,其 中 K1 光标移位键,K2 键为确定,K3 为循环加 1 键,K4 为循环减 1 键,分别与单片 机的 P1.0、P1.1、P1.2、P1.3 口相连。按键未被按下时,4 个 I/O 口均为高电平; 一旦按键按下,对应的 I/O 口被拉为低电平。以此来实现软件程序设计中的按键扫 描。 报警采用单片机外接一个三极管驱动蜂鸣器来实现。 图 3.11 键盘输入电路 图 3.12 报警电路 4. 温室控制系统软件设计 4.1 中断服务程序: 图 4.1 中断服务程序 4.2 主程序 开始 P2.0=? 温度转 显示 湿度转 显示 结束 图 4.2 主程序
49、 软件设计的主程序,开始后先经过初始化再根据要求来选择对应的通道,然后 结束。图五为中断服务程序,开始后看 P2.0 等于多少,对应的选择温度转换还是湿 度转换,对应着显示,然后结束。 微处理器和温湿度传感器通信采用串行二线接口 SCK 和 DATA,其中 SCK 为时钟 线,DATA 为数据线。该二线串行通信协议和 I2C 协议是不兼容的。在程式开始,微 处理器需要用一组“启动传输“时序表示数据传输的启动,如图 3 所示。当 SCK 时钟 为高电平时,DATA 翻转为低电平;紧接着 SCK 变为低电平,随后又变为高电平;在 SCK 时钟为高电平时,DATA 再次翻转为高电平 8。 图 4.3 数据传输启动程序 4.3 显示原理图 单片机初始 化化化 接收数据 取温湿度给定值 采样温湿度 值 液晶显示 上传数据 开始 N Y 地址校验 图 4.4 LCD 显示原理图 图 4.4 为软件方面的显示原理图,开始后,单片机经过初始化后接收数据,然 后进行地址校验,校验不合格继续接受数据,校验合格的话取湿度给定值进而采样 温湿度值,然后数码显示后上传数据,