基于51单片机的湿度控制系统设计基于51单片机的湿度控制系统设计摘要:生活上,合适的空气湿度有益于人们的身体健康;工业上,芯片的封装,设备的维护以及工厂的装配等,都需要在合适的湿度下进行。
该课题对空气的湿度进行研究,采用单片机和湿度模块组成的湿度控制系统,对环境的湿度进行数据采集、处理。
系统通过测量当前环境的绝对湿度,及时、精确地了解空气湿度的变化,并将当时绝对湿度值与预设的上下限值进行比较,如果不在合适的空气湿度范围内,系统会自动发出报警。
本设计具有控制方便、组态简单和灵活性大等优点。
关键词:单片机;湿度传感器;ADC0832数模转换目录序言 (1)第一章系统的整体设计方案 (2)1.1设计内容 (2)1.2系统框图 (2)1.3系统设计方案 (2)1.4 系统完成的技术指标 (4)第二章系统的硬件设计方案 (5)2.1 控制模块设计方案 (5)2.1.1 控制芯片选择思路 (5)2.1.2 单片机选择方案 (5)2.1.3 AT89C51芯片简介 (6)2.2 湿度检测模块介绍及选择方案 (10)2.2.1 湿度检测模块选择思路 (10)2.2.2 湿度传感器选择 (10)2.3 模数转换介绍 (12)2.3.1 模数转换器选择方案 (12)2.4 报警模块简介 (13)2.4.1 蜂鸣器驱动方式 (14)第三章硬件模块功能实现 (14)3.1 显示电路 (14)3.2复位开关电路 (19)3.3振荡电路 (20)3.4 ADC0832实现模数转换 (21)3.5 电路的排版连线设计 (23)第四章系统的软件与调试 (25)4.1 C语言简介 (25)4.2 总程序流程图 (25)4.2.1 湿度检测显示电路 (26)4.2.2 按键显示部分 (27)4.2.3 报警电路部分 (28)4.3程序设计 (28)第五章系统调试 (29)5.1硬件调试 (29)5.2软件调试 (29)结束语 (31)参考文献 (32)致谢 (33)附录 (34)附录一:程序清单 (34)附录二:元器件清单 (42)附录三:硬件原理图 (44)附录四:PCB图 (44)附录五:实物图 (45)序言目前我国已经进入全面建设小康社会的阶段,无论经济还是文化都已经发展到了一个另世人瞩目的时期。
但是,我们常常会听到有人无奈的说:天有不测风云啊!我们都在抱怨气候的变化无常,而我们却无法控制。
过去,面对突如其来的变化,如温度、湿度的变化,我们束手无策。
人们试图研制一种可以预测气候的系统,因此有了天气预报。
但是天气预报只能告诉我们一些大概的信息,不能准确的获知我们身边的信息。
于是,本课题设计一种能准确获知我们身边气候的系统——湿度控制系统。
测试其中最难测量的物理量——湿度,并对其进行处理、控制[1~3]。
本检测系统也可应用于环境保护、工业控制、农业生产等方面[4~5]。
设计电路以单片机为核心,配以湿度检测模块、报警电路、键盘电路和LED数码管显示电路。
本设计能控制我们的生存空间,使人们的生活更舒适。
所以说,这是一个实用而且具有发展前途的设计。
第一章系统的整体设计方案1.1设计内容本次设计分为两个内容:硬件、软件。
硬件以单片机为核心,配以湿度模块电路、键盘电路、数模转换电路、显示电路和报警电路。
主要实现以下功能:1.通过湿度模块电路对环境的湿度进行数据采集;2.通过单片机对采集的数据进行处理;3.当环境湿度低于或者高于设置湿度时启动报警。
湿度检测系统是一个智能化的系统,它的软件主要实现功能:1.单片机能够控制湿度模块对空气的湿度进行采样;2.把采集的数据通过单片机处理,再以十进制的形式显示出来;3.按键和显示电路可对设置的报警上下限值进行更改,并通过显示电路显示出来。
1.2系统框图本次设计的系统框图见图1-1。
解析:单片机控制湿度模块AM1001对环境的湿度进行检测并通过单片机处理用数码管显示出来,键盘电路可设置报警的上下限值,当环境湿度高于上限或者低于下限报警值时,启动报警电路,即蜂鸣器响。
1.3系统设计方案本设计大体分为6步:1.设计之前,查找资料。
先对湿度的概念进行了解,并了解一些湿度传感器的工作原理。
图1-1硬件电路组成框图湿度,表示大气干燥程度的物理量。
在一定的温度下在一定体积的空气里含有的水汽越少,则空气越干燥;水汽越多,则空气越潮湿。
空气的干湿程度叫做“湿度”。
在此意义下,常用绝对湿度、相对湿度、比较湿度、混合比、饱和差以及露点等物理量来表示;若表示在湿蒸汽中液态水分的重量占蒸汽总重量的百分比,则称之为蒸汽的湿度。
空气湿度是指空气潮湿的程度,可用相对湿度(RH)表示。
相对湿度是指空气实际所含水蒸气密度和同温下饱和水蒸气密度的百分比值。
人体在室内感觉舒适的最佳相对湿度是,49%~5l%,相对湿度过低或过高,对人体都不适甚至有害。
绝对湿度是一定体积的空气中含有的水蒸气的质量,一般其单位是克/立方米。
绝对湿度的最大限度是饱和状态下的最高湿度。
绝对湿度只有与温度一起才有意义,因为空气中能够含有的湿度的量随温度而变化,在不同的温度中绝对湿度也不同,因为随着温度的变化空气的体积也要发生变化。
但绝对湿度越靠近最高湿度,它随温度的变化就越小。
2.分析系统的主要性能;3.对整个电路的流程进行分析;4.硬件的准备以及焊接;5.用c语言进行软件的编写并仿真;6.将硬件和软件进行系统仿真直至完成设计。
1.4系统完成的技术指标1.实时显示绝对湿度,系统的精度为10mg/L;2.采用3位数码管进行湿度显示;3.显示报警上限值为180mg/L,下限值为90mg/L;4.湿度超过上下限湿度时进行报警;5.数码管采用动态显示方式。
第二章系统的硬件设计方案2.1控制模块设计方案2.1.1控制芯片选择思路该课题的设计意义在于可以自动检测环境的湿度,并根据环境湿度的变化来自动执行相应的除湿、加湿工作,以提醒人们在合适的湿度下进行工作、生活。
目前,面向控制性领域且使用最为广泛的控制芯片是单片机。
单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理等等都离不开单片机。
2.1.2单片机选择方案方案一:选用STC单片机STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快8~12倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强[6]。
方案二:选用PIC单片机PIC单片机是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片[7]。
方案三:选用ATMEL单片机ATMEl公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash 单片机,与8051系列单片机相兼容,静态时钟模式[8]。
ATMEL公司把EERROM及Flash技术巧妙的用于形成特殊的集成电路,在系统的开发过程中可以十分容易进行程序的修改,这就大大缩短了系统的开发周期。
同时,在系统工作过程中,能有效地保存一些数据信息,即使外界电源损坏也不影响到信息的保存。
本设计要求可以随时改变湿度报警的上下限值,ATMEL单片机的EERROM及Flash技术对本设计比较实用(控制方便),所以控制芯片选择ATMEL51系列单片机。
2.1.3 AT89C51芯片简介图2-1 AT89C51芯片实物图AT89C51提供以下的功能标准:4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。
另外,AT89C51还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式。
闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。
掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位[9~11]。
主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式图2-2单片机管脚图·片内振荡器和时钟电路管脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时将输出电流,这是由于内部上拉的缘故。
在FLASH 编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示表2-1AT89C51 芯片p3口特殊功能表P3口同时为闪烁编程和编程校验接收一些控制信号。
RST :复位输入。
当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。
ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH 编程期间,此引脚用于输入编程脉冲。
在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。