摘要
现在的加湿器,已经被越来越多的人所接受,而现在,加湿器已经被大量的运用到了日常的生活中,它
已经成为了一种时尚的家居用品,只不过现在的加湿机都是手动开关,而且还无法监控室内的温度和湿度,所以在
使用的时候,出现了大量的问题,例如温度过高,如果没有水的话,就会导致室内的环境变得非常糟糕,而且还会
产生一些安全问题。所以,研制低功耗、低成本、具有自动控制的加湿器是非常有意义的。该设计将会以单片机
STC89C52 为核心,通过对加湿机进行防干烧、声光报警、智能开关、温度和湿度控制等方面的控制,继而使整个系
统达到智能控制。
关键词:STC89C52;DHT11;LCD1602
1.课题的目的及意义
1.1课题背景
随着社会的发展,人们对居住质量的要求也在不断提升,到了冬天,特别是在北方地区,因为取暖或者开空调
而引起的皮肤干燥,很有可能会伴随着感冒生病的这种情况,夏天的时候,如果也长期开着空调,也不免会出现这
种情况,所以在这种前提下,要想改善身体的舒适性,避免出现干燥,就需要一台加湿器。
本文的设计主要是依据环境因素对人体皮肤的影响来创造出它的价值。不同的环境温度和湿度对我的人体的舒
适度的是存在一定的影响的,湿度是影响空气质量的重要因素,以室内的相对湿度为40%-60%为宜[1]。所谓人体舒
适,就是指人体对外界气候的感知与由空气检测设备所测定的各种气象元素所产生的影响。人体的舒适度是一个很
关键的因素,它可以让人们在各种天气条件下,感觉到身体的舒适度。温度、气压、风速、相对湿度四大因素,是
最能反映人身体舒适程度的因素。结果表明,空气湿度不仅对人类的生存环境有很大的影响,而且在工业生产中对
产品的品质也有很大的影响。随着人们对生活品质的不断提升,智能加湿器也越来越受到人们的重视。
大都是由人工手动操作的,无法对房间的温度、湿度进行监测,在使用中容易产生过量的水气或过分干燥等现象,
不但无法保证室内的空气质量,而且会产生不良的影响。对目前我国的智能家居产业来说,加湿器还是一种新兴的
小家电产品,其市场份额只有15%,与发达国家25%的份额差距很大,未来的发展空间很大[2]。从需求上来说,由于
地理和季节的原因,加湿器的市场需求量存在变化,目前华北地区、华中地区和华东地区的市场份额分别为36%、
20%和17%,而华南和西部地区的气候相对潮湿,对加湿器的需求量不大,市场份额相对较小,所以发展的空间很
小。
目前我国的加湿器产品的制造要求并不是很高,加湿器的品牌数量也已超过550家,但由于我国缺少相关的规
范,目前的产品还存在着规范性不足、产品品质参差不齐等问题。在品牌之间的竞争中,目前亚都和美的等公司拥
有更高的技术和更多的设计种类,这两个公司在国内的市场份额已经到达了66%。而小熊,德尔玛,格力等公司,因
为在技术上还没有完全发展起来,相比之下市场份额并不高,国外的飞利浦和戴森等品牌,因为进入市场的时间比
较晚,所以在国内的占有率也相对较低。
加湿器是一种备受家庭用户喜爱的小电器,近年来,其市场需求量不断上升,产业迅速发展。目前我国的加湿
器产品以中低档为主,渗透度不高,具有很大的发展空间。在生产上,我国已经逐步进入了一个寡头模式,随着市
场竞争的日益激烈,加湿器的产业将会更加的具有集中性,而随着空气净化产业技术的发展,整个市场对该方面的
功能要求更多,精度控制的需求增加,加湿器也正朝着更多样化、更专业的方向发展。虽然我们国家的很多公司在
制造方面,都在模仿外国的先进技术,但大部分的制造商都已经从盲目的模仿,变成了独立开发。研究的方向也将
更加注重精度控制,能耗低,加湿速度加快,加湿范围增大,稳定性更好等方面,通过努力一定可以制造出代表我
们国家先进技术的加湿器产品。
2.系统方案设计
2.1 设计要求
以STC89C52为芯片,设计了一种用于室内环境温度测量的智能加湿器,并利用超声模组实现了液体水位的自动
调节。通过液晶显示器LCD1602进行自动调节,自动调节整个系统的开启和关闭,实现智能的湿度控制。下面是特定
要求:
(1)以微处理器STC89C52为主要芯片;
(2)利用微处理器进行喷雾的控制,实现对气流的增湿性;
(3)用于测量相对湿度的湿度传感器;
(4)用于收集贮水池的液面的超声传感器;
(5)设计图纸, C语言源程序,实物制作;
2.2 单片机选择
在这个领域里,有很多种的微处理器种类,比如有 FPGA、 DSP、单片机、ARM等等,在所有的微型处理器中,
单片机是价格最有优势的,也是处理能力比较强的。下面是几个常见的微处理器的有关说明:
(1)51系列单片机
51单片机由 Intel 8031芯片研制而成,后来又很多不同的公司向这方面发展,让51单片机的种类得以增添不少,以
宏晶公司的STC89为代表,这款芯片得以广泛的使用,因其性能也让它广为人知,不仅只有宏晶,还有飞利浦,华
邦,达拉斯,西门子(英飞凌)等公司,他们也是该行业的涉足者,进入市场后,各行各业的智能科技产品都得到
了支持,可以向他们提供多种兼容性的芯片来满足需求。因为51单片机非常稳定的性能,所以整个51系列单片机的
绝大部分型号都被用于生产各种科技产品,将在今后的生产和使用中占据很大的份额。
(2)MSP430
MSP430是一款由外国开发的高性能混合处理器,1 6比特并且还具有多种的寻址方式类型,可以适合很多功能的
制作需求。由于它工作时的耗能非常低,使用起来也很简便,开发也不用花费大量的资金,受到了国内外许多厂家
的广泛认同。MSP430系列是外公公司研发的超低功耗的混合型处理器,它是16位的并且其寻址方式也很多样丰富,
其中主要包含4个目的操作数寻址和7个源操作数寻址。因为其功耗极低、使用也非常方便、开发的成本不高、成本
低而为众多国内外厂商所认可。MSP430还拥有一个很大的特点,芯片自身在开发时就采用并集成了AD采样精确度较
高的比较器。但是尽管这些方面很有优势,却也伴随着一些缺陷,当程序要求它实现一些位操作时需要很多步骤来
达成,所以最好不要用于对逻辑控制和功率消耗不灵敏的场合,这样整体就不会显得性能较好。
如果在开发费用和能源消耗两个角度来看,由宏晶公司生产的的STC89C52单片机是一种拥有8 K程序存储空间的
低功耗、高性能8位微控制器,将它和STC89C51进行比较,会发现89C52比89C51多了两倍的程序存储空间,而且它拥
有256字节的RAM, I/O端口总共是32位,一分为4个小组,还带有一个看门狗定时器,两个数据指针,三个16位的定
时器(计时器),一个6向量二级中断结构,全双工串行口,最后还有时钟电路在其中[3]。
2.3 湿度传感模块选择
测量湿度的模块有很多种类,其比较应用广泛的有模拟类和数字类,分别介绍如下:
(1)模拟传感器是用的比较多的,在很多产品上都有较好的表现,属于是通用一些。它是采用模拟传感器外加一
个模数变换器,将空气水分的数据信号取样至微处理器,完成对空气水分的测定。模拟传感器系统的缺点在于:其
输出的数据必须经过预处理,之后才能由模数转换器等外部器件组成,其电路十分繁琐,校准起来费时费力,且准
确率也很低。
(2)数字温度传感器根据需求的不同,有很多的种类可以采用,比如说DHT11数字温湿度传感器,它就是适合高
精度高可靠性的场合。它有很多优势的地方,该系统具有体积小、硬件上的开销低、抗干扰性好、湿度准确度高等
特点,所以特别受科技开发人员的喜爱,几乎成为首选。
DHT11数字温湿度计是只有一个总线的器件,它的硬件结构紧凑,电路结构简单直接,操作也很方便。因此,从
硬件简单和测温的准确性两方面来看,本文是选择了第二种传感器来进行设计。
2.4 超声波水位传感器
超声定位的基本原则是将超声波发送到一个特定的方位,然后在一定时间内启动计时,当超声波经过的时候,
如果遇到了传播阻碍,它会立刻返回,当它被反弹的时候,系统就会立刻停止计算。在空气中,超声的传播速率是
v,从定时仪上测量到的发射和收到的回波之间的时差Δ t,可以求得到与障碍的距离 S,也就是 S= v.Δ t/2,称
为时差测量方法[4]。HC-SR04超声波距离测量系统由超声波发射机、接收机和控制线路组成,具有2cm-4m的无接触
距离检测功能。它的工作方式是:在发出一次脉冲后,将超声波发送出去,在被击中目标并被反弹时,该装置就会
发出一次响应,从而引起该信号与响应的延迟。这是一个可以判断目标的位置。在此使用超声模组来侦测水位之高
低。
2.5 显示模块选择
在我们的日常生活中,到处都可以看到屏幕。许多电子设备就已经包括了多种屏幕, 它们有LED屏幕和液晶
(LCD)屏幕两大类别。比如电子表、交通灯、商场广告屏等都是 LED屏,而电视机、智能手机、笔记本计算机等则
是液晶显示屏。这两种类型的屏幕将分别在下文中进行讨论。
(1)LED显示屏
它由多个LED数码管组成,LED数码管中总共八个字段,数字8中分为七个字段和一个小数点,实际上他有八个发
光二极管组成,七个构成了它前面的七个字段,而小数点则是单独使用了一个。其中这八段可以用英文字母a,b,c,
d,e,f,g,dp来表示,dp位就是显示小数点。
要显示数据的话,就必须把一个电压加到对应的数字管段来让其点亮二极管。比如,现在要在上面显示一个数
字2,就得使a、b、g、e、d五段的二极管点亮,其余段的全部关闭熄灭。一般来说数码管是可以分成两类,一种叫
共阳数码管,另一种叫共阴数码管。其中发光二极管一个的管压降是1.8伏左右,电流最大不可以超出30毫安[5]。
如果要使数码管完全的显示,就必须要有一种电路,用它来对每一段的编码进行控制,这样才能让我们看到需
要的显示元素,因此驱动模式对LED来说是很重要的,简单可以将其区成两种,分别是静态显示和动态显示。
静态显示:静态驱动又被人叫做直流驱动。静止式驱动器是将数字管内所有要发光的部分都同步供电,从而使
其具有高的亮度。数字管的各个部分通常都是用单片机 I/O接口来完成,在不满足要求的情况下,采用38解码器来
实现。相对于动态驱动,静态驱动无需进行扫描,降低了程序编制的困难。不过,由于程序的简化,对 I/O口的使
用率也会随之提高。因此,在拥有大量的数字管的系统内,通常不会使用静态驱动。
动态显示:LED数字管式液晶显示器因其对 I/O接口的要求不高,所以对于单片机来说这是一个很好的选择,很
多单片机产品都选择动态显示。动态驱动中的的连接方式有些特殊于其他,在它的电路中,8段数码管中的同名端是
被连接在一起的,然后相连的那个端点又添加了一个新的位选通控制电路。这样的话要完成LED显示屏的正常显示,
位操作和段操作就必须要在几乎同时来进行。要进行数码显示的工作时, I/O接口要先对位选通端电路发出信号来
进行控制,点亮相对应的部分段。如果是要显示出一串数字像1234,那第一步就是要先扫描这些数字,然后再是显
示出1、2、3、4。下一步位选通控制端就要被打开,一起执行段操作,这部分的过程就称为动态驱动。在交替的显
示期间,每个数码管的照明时间持续1至2ms,因为人类存在视觉暂留现象,视觉会存在短暂的停留,再加上发光二
极管的发出的光亮也伴随着余辉效应,在这两个状态下,虽然所有的数字管都不是在同一时刻被点亮,但是如果扫
描的速度够高,这套系统可以提供一套平稳的显示,人眼看上去没有任何的闪烁感觉,效果可以达到和静态显示一
6
样,还可以节约很多 I/O接口并降低能耗。
(2)LCD显示屏:
LCD显示屏根据设计的不同也被分为点阵型和段型。它们很特殊的地方就在于它们都需要配合专用的驱动线路来
使用,但是由于它们本身不发光,人眼需要尽量正对屏幕来观察显示屏,可观测角度是比较小的。设计上通常使用
的是并行接口,这种设计下它会占用微处理器很多的接口,并且还有大量数据要占用很多的资源,虽然电路看着有
些繁多,但是最后的显示功能是比较完美的。
LCD1602液晶显示屏就是一款典型的点阵型LCD组件,又称1602字符型LCD。它之中包括了32个5×7的点阵字符
位,点阵字符位是一一对应字符,每个可以显示一个,并且每一位之间存在着一个点距的间距,行与行之间也存在
着这样的间距,这样的设计就可以实现字符间距和行间距,但也因为这样,所以在显示图形这方面它的能力并不出
众[6]。
从显示效果和造价方面的考量出发,本方案选择了LCD1602 液晶显示器,其显示功能具有较强的弹性,可以应
对更多的设计情况。
2.6 电源电路选择
按照调整管的工作状况,将其分为两种,一种是开关切换,另一种是线性。
(1)开关电源:开关供电的基本思想是利用有关技术来调节开、关的时间比例,使其保持一个平稳的输出。由于
功率电子学的不断发展与革新,因此对切换功率技术进行了深入的探讨。在当今高速发展的电子、通信行业中,切
换功率技术占有举足轻重的地位。
(2)线性稳压电源:是一种较为早期的直流电压稳定供电。线性稳压器具有输出电压小于输入电压的特征,输出
的纹波较小,工作状态没有什么噪音,但是工作的效率较低,还会间接性对系统产生白噪声[7]。
由于该电路具有很小的功率消耗,所以选择了LM7805作为单片机、显示屏及其它线路的+5 V供电
2.7 系统总体框图设计
该智能加湿机包括5个模块:STC89C52单片机,湿度感应模块DHT11,显示模块LCD1602,供电模块+5 V,以及加
湿器模块。该系统以STC89C52为核心,利用DHT11的温湿度监测功能,将温度和湿度数据传输给微处理器,由
LCD1602系统进行显示,并对温度进行实时监测,从而实现加湿设备的开机和关机[8]。超声液面感应装置是为了避
免系统发生干烧,在发现液面高度不够时,无法正常工作。在附图2-1中显示了该系统的整体框图设计。
3.硬件电路的设计
这一章是本文的重点,重点阐述了该系统的硬件电路设计。本电路系统由单片机模块、温湿度感应模块、LCD显
示模块、按键模块、水位监测报警模块、加湿器驱动模块和电源模块构成。
3.1 单片机最小系统设计
3.1.1 STC89C52单片机简介
作为整个系统的核心,STC89C52单片机对周边设备进行控制,使其正常工作,实现预定的工作。而在硬件上,
我们也要分开来做,每个模块都要完成这个环节的所有能力,然后才能把所有的模块都串联起来。该设计方案更简
单,便于进行分析。
STC89C52为8位单片机,内存容量为8 K, RAM为512字节。工作电压为3.8-5.5 V。其最大的优势在于能源消耗极
少。工作时的工作电流约为5毫安;在闲置状态下,功率消耗是2毫安;在停电状态下,通过外部中断来恢复,恢复
后的正常运行依然可以继续原程序。STC89C52在使用 ISP进行烧写时,比普通的单片机要快两倍,其P0口无需附加
上拉电阻[9]。它的管脚线显示在图3-1中:
图3-1 STC89C52引脚图
主要特点:STC89C52单片机完成从指令的读出,然后再转由 CPU完成整个执行的操作。
STC89C52单片机的内部数据见下表3-1:
表3-1 片内工作参数
单片机型号 工作时钟/MHz 机器周期
/T 16位定时计数器 数据指针 中断源 中断优先级
STC89C52 0~40 12/6 3 2 8 4
当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。
看门狗计时完成后,RST引脚输出96个晶振周期的高电平。
ALE 30 输出 地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低
3.1.2 最小系统电路设计
STC89C52主控制部分中是带有复位电路和晶振电路的,还利用连接排阻的方式进行稳压,增加了输出的电流。
(1)复位电路
上电重置与按键重置是单片机重置的两种用的最多的主要方法,在为我们这个方案中,上电重置的模式较为便
捷合适。这个部分复位电路是利用一个10 K的电阻器加上一个10 uf电容器来构成的,电路简单易懂[10],如图3-2
所示,这些构成了 RC暂态电路,当电源打开时,将高电平的信号送到单片机重置的复位端口来实现整个复位功能,
达到设计目的。
(2)晶振电路
单片机要想正常的工作就必须具有一个外部晶振电路,因为有了这个电路,单片机才可以正常进行工作,执行
指令,而工作运行的速度又和这个晶振电路存在比例关系,频率越高单片机工作的速度也就会越快,因为频率的影
响和整个设计都有关,所以保证好晶振电路的精确度是非常关键的。
晶振电路的构成包含锁相环电路,其实就是一个利用电容构成的电路。其中电容容量大小直接决定着单片机时
钟信号频率,容量较大时晶振起振也会变慢,频率就会相对降低。时钟的电路如图3-3中,电路包含着两个30pf的电
容和11.0592MHz晶振,选用11.0592MHz只是为了得到精确的通信波特率,串口通信的可靠性高。单片机内自带的振荡
电路和这个晶振电路一起就能构成完整的震荡电路,这样能够获得的时钟频率会非常的稳定,单片机就能更加平稳
运行。
3.2 温度检测模块设计
3.2.1 DHT11简介
该系统采用DHT11温湿度传感器,其主要特征在于将温湿度数据以数码表示,方便地进行连线。DHT11的管脚布
置见于图3-5中:
图3-5 DHT11管脚分布图
3.2.2 DHT11电路设计
湿度传感器选择DHT11数字湿度计,它通过一个单线接口发送或接收信息,因此只要在中央微处理器连接一条数
据线到DHT11就可以完成,这里还要注意地线的连接。DHT11的1端口要连接到+5伏的电源,输出2端口要连接到单片
机的P11端口、地线与4端口连接[11],这样便完成一个简单电路。
3.3 水位检测模块设计
3.3.1 HC-SR04模块介绍
基本工作原理:
(1)使用IO端口来触发测量,TRIG是此模块触发端,发出高电平信号至少会持续10us;
(2)模块会向面向方向发射总共八个40khz的方波,并能对有无信号回弹进行自动探测;
(3) ECHO端为接收端,有信号返回的时候,通过IO端口一个高电平信号就会产生,这个高电平持续的时间通过
换算就可以得出距离值。测试距离就等于高电平时间×声速(340M/S),然后再除2[12]。
硬件如图3-7所示:
图3-7 超声波模块实物图
HC-SR04模块电气参数如表3-3所示:
表3-3 HC-SR04模块电气参数
12
上面的时间序列图显示仅需输入超过10 uS的脉冲触发信号,在这个单元的里面就会产生8个40千赫的周期性电
平信号,同时还会进行检测是否有返回波,如果探测到了回波的信号,那就会直接输出一个回响信号。反射波的波
形宽度与检测距离之间是存在着比例关系的,波形宽度越宽距离越远。因此,这个测量的距离根据公式计算,最主
要的量就是信号发射到返回经过的时间。公式:uS/58= cm, uS/148= in;或者:该间距=高电平时间*声速(340M
/S)/2;为了避免反射波的干扰,推荐在60毫秒或更长的时间内进行检测。
3.3.2 水位检测电路设计
HC-SR04模块是这个水位检测电路的核心,并上周围的一些电路构成了这个系统,这个模块从左往右一共四个引
脚VCC、TRIG、ECHO、接地,因为整个模块的工作电压就是5V,所以这里VCC就是连接 +5V; TRIG是触发端口,与单
片机P33相连接; ECHO是接收端口,与单片机P34相连接[13];
3.4 液晶显示模块设计
3.4.1 LCD1602简介
LCD1602是一种点阵型的液晶显示器,它的驱动电路比较特殊,需要一个独自的电路设计,另外还有可观察角度
小、自身不会发光等特征。LCD1602芯片如图3-11所示:
液晶显示器组件包括LCD1602和周边的一些线路,画面对比度是可以通过改变电阻器R2的阻值来进行调整的,电
阻器R3其实是一个背光源的限流电阻,LCD 1602的数据接口要和单片机P0接口连接。LCD1602的RS端口、RW端口、E
端口各自连接单片机的P27、P26、P25端口[14]。其电路原理图如图3-12所示:
3.5 加湿器驱动模块设计
3.5.1 加湿器驱动电路设计
该模块的供电电压需求为24V,所以必须要有一个继电器来进行控制。如图3-13所示:继电器电路包括一个电阻
器R7和一个三极管Q2,当它在P14端口的输出是一个低电平的情况下,三极管Q2被接通,并且该继电器被闭合,加湿
器就会通电开始工作,当P14端口输出是高电平的时候,三极管Q2就会截止断开,继电器不在通电,加湿器就停止工
作[15]。其电路如图3-13所示:
图3-13 加湿器驱动电路原理图
3.6 按键模块设计
3.6.1 按键简介
按钮开关使用的是664.3MM的微动开关。它能够正常工作的温度区间是-25°~+85°C;这款的额定负荷参数是
DC12V 0.1A;接触电阻尽量要小于等于0.03Ω;耐压属性为AC250 V (50Hz) /MIN;绝缘电阻大于等于100MΩ;经过
专业的测试,使用寿命大概在10w次[16]。按键结构图如图3-14所示:
15
图3-14 按键结构图
3.6.2 按键电路设计
该方案共有三个功能键,分别在LCD1602屏幕上可以进行一定的调节作用。K1为调整指针的方向,K2为增加1的
按钮,K3为减少1的按钮。LCD1602在导通该线路电源后会出现目前的湿度。要做的就是设定好最高湿度和最低温
度,每次K1键点击时,就会将指针向右边移动一格,用这种方式设置完成目标湿度区间,然后,通过对所述的湿度
进行观测,并通过K2和K3的按键进行对所述的湿度进行加、降调整。按键电路如图3-15所示:
图3-15按键电路原理图
3.7 指示电路设计
指示电路由发光二极管LED1、LED2和限流电阻R4、R5组成,当P12、P13两个接口的输入是低电平的时候,相应
的 LED灯就会点起,表示加湿器处于哪种工作状况和是否液位过低报警,此外,该音频报警线路包括限流电阻R6、
三极管Q1以及蜂鸣器,在P16接口的输入端为低电平的时候,三极管Q1就被接通,蜂鸣器在电路接通后就会发出报警
声[17]。电路图如图3-16所示。
16
17
图3-16 指示电路原理图
3.8 电源模块设计
电源的设计要求具有良好的性能,并要具有充分的退耦能力,所以要有足够的电容,根据对其进行分析,发现
大多数的电源都是+5 V的 DC供电,所以这里可以选择5V的稳压电源,C4则是一个供电的滤波器。其引脚图如图3-17
所示。
图3-17 电源模块电路原理图
第4章 系统软件设计
4.1 编程软件keil简介
单片机的研制包括硬件的生产和相关的软件的编制,用户将源程序录入到计算机中,通过人工或机械汇编的方
式将其转化为计算机所接受的机器码。而机器汇编,则需要计算机的编译软件来实现这种转换,MCS-51的编译软件
最早采用A51系列,随着时间的推移,MCS-51的编译软件逐步发展,汇编语言开始普及于各个开发行业,然后一些公
司开始向着高级语言开发进军,都想要抢先站在科技的顶尖。MCS-51系列的软件也在这时候飞速发展,Keil是大家
配合MCS-51系列处理器使用最多的软件,近年来国内众多设备厂商纷纷推出的 Keil软件就足以印证这一点。Keil的
开发方案是非常完全的, Keil包含了许多组件,将它们全都融合到一起就变成一个特定的整合环境(uVision)。
4.2 主程序设计
该设计的控制程序由主程序、驱动程序和中断程序组成,将其分成了三部分。通过这些程序主要可以实现给系
统地址分配、初始化整个系统、调用等功能。
第一部分的主程序包括很多功能,有定义设置的变量、初始化系统、调用子程序操作和驱动控制程序。该程序
的工作步骤如下:首先用DHT11对湿度进行检测,然后发送到单片机进行数据处理,经过系统内判断是否继续加湿,
然后将其输出到LCD1602上[18]。其程序流程见图4-1所示。
图4-1 主程序流程图
4.3 温度检测子程序设计
该段程序的主要作用是读取 RAM内的9个字节, CRC对读取到的信息进行检查,若出现不正确的则不进行下一步
骤。首先重置DHT11,然后下一个ROM指令直接忽略,再发送湿度转换开始命令,最终将整个探测下的数据传送给单
片机。其程序流程图如图4-2所示。
图4-2 温度检测子程序
4.4 显示子程序设计
LCD1602由单片机进行对它的控制,如果想要LCD1602的性能得到完全的释放,首先对它进行初始化系统,然后
由单片机来向LCD1602输出数据,包括显示行的数值和要显示的字符数值,这样湿度就可以在液晶屏上面得以成功显
示。具体操作如下,LCD先进性初始化,再将 RAM区域全部清除数据,再设定一个显示行的初始值,并将指示器指针
对准第一行,等待显示数据输入到其缓冲中,这样这个子程序就算是运行完毕了[19]。其显示程序流程图如图4-3所
示。
图4-3 液晶显示程序流程图
4.5 湿度比较子程序设计
加湿的情况可以分为两种,因为设置过加湿器加湿的范围,所以第一种情况当环境温度检测出低于我们设定的
最低值的时候,加湿器要开始加湿工作;第二种情况就是环境湿度高于了我们设置的最高湿度,此时空气湿度过
高,加湿器停止工作不再加湿。
框图如4-4所示:
图4-4 湿度比较程序流程图
第5章 系统调试与分析
5.1 系统调试
5.1.1 硬件调试
在我们进行对于硬件的调试过程中,主要包括四个环节:检查电路在连线上是否存在错误、短暂通电观察各元
件是否异常、静态调试电路和动态调试整个设计是否功能完备。具体过程是这样的:
(1)检查电路
在给电源供电前仔细地查看线路的连接情况,并使用万能表进行严格的试验。对电源的正、负电极进行特殊的
19
检测,查看是否存在短路的情况。电路与三极管的插头连接有无错误,并确保元件连接可靠。
(2)通电观察
对焊接好的设备进行通电观察,在一定的短时间内接上合适的电源,检查电路板有没有异常,如果嗅到异常气
味、看到电弧闪烁、元件上有些许烟飘起、感应到电路板开始散发着一股热量等情况,这时候要立刻关掉电源,等
待冷却后再进行电路板的检查。当发生上述问题时,一定要仔细检查各个元件的连接问题,电路中已经存在焊接故
障必须排除,直至上述情况不再发生时,才能进行下一步测试。
(3)静态调试
在进行调试前一定要熟悉设备如何操作,接触是否良好,将元器件安稳放置于平面防止发生故障。
(4)动态调试
在测试时尝试更改输入信号的影响因素,查看硬件是否符合制作要求,如果出现问题一定要先断开电源,从电
路上在检查维护,检查完成无误后再尝试调试。
5.1.2 软件调试
这个设计采用 C语言编程,使用KeiluVision4来进行编程和调试,先开启我们使用的软件,再创建一个项目,
在菜单中找出“新项目”,再把文件中的文件打开,选中“新文件”,这样就可以开始编程了。编程完成之后就可
以尝试调试,新建文件时,出现的对话框数据库就单击STC89C52,在创建的文件对话框内写入刚刚我们整理好的程
序,把它存储为.c的格式,加入SourceGroup1的项目之中,创建 Hex,再进行编辑,直到完成[20]。
5.2 运行结果与分析
通过测试,LCD1602在上电后,可以实时显示出目前的湿度和水位。
在此设计中,使用K1、K2、K3三个按键进行湿度和水位的设置,K1按键用于向右调整指针的位置,K2为数字加1
的功能,K3为数字减1的功能。每次按下K1键,指针就会从左向右移动一次。然后,观测所显示的湿度,如果想要向
上调节数值就按K2键,每按一次按钮,屏幕上的数值就会增加1然后进入我们的系统完成调整;如果是要降低湿度,
就可以按下K3键,这样的话就是数值减小。
尝试运行一下该设计,第一步就是要先设置好我们的上下限加湿范围,设备的目的就是保持湿度在此范围之
间,设置好后,湿度传感器对空气进行检测,探测出空气中水分的含量比后,与单片机内部的湿度设定值进行判断
相比,LCD1602能显示当前湿度、水位、设定好的湿度和水位。第一种情况是环境的湿度正好处于我们设定的湿度区
间,加湿器不会工作;第二种情况是环境的湿度不在我们设置好的这个湿度范围内,如果超过最高值不会加湿,但
是低于最低值就会开始加湿直到达到我们设置的最高值;第三种情况是水位检测发现水箱没有水了,开始缺水报
警,加热器禁止工作,防止损坏加湿器雾化装置。