基于51单片机的空气智能加湿器的设计说明书.docx

上传人:b****5 文档编号:7827680 上传时间:2023-01-26 格式:DOCX 页数:34 大小:670.03KB
下载 相关 举报
基于51单片机的空气智能加湿器的设计说明书.docx_第1页
第1页 / 共34页
基于51单片机的空气智能加湿器的设计说明书.docx_第2页
第2页 / 共34页
基于51单片机的空气智能加湿器的设计说明书.docx_第3页
第3页 / 共34页
基于51单片机的空气智能加湿器的设计说明书.docx_第4页
第4页 / 共34页
基于51单片机的空气智能加湿器的设计说明书.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

基于51单片机的空气智能加湿器的设计说明书.docx

《基于51单片机的空气智能加湿器的设计说明书.docx》由会员分享,可在线阅读,更多相关《基于51单片机的空气智能加湿器的设计说明书.docx(34页珍藏版)》请在冰豆网上搜索。

基于51单片机的空气智能加湿器的设计说明书.docx

基于51单片机的空气智能加湿器的设计说明书

基于51单片机的空气智能加湿器的设计

 

摘要:

在日常生活中加湿器得到了广泛的应用,但是现有的加湿器都需要手工控制开启和关闭并且不具备对室内空气温湿度的监测,人们在使用过程中存在过度加湿和干烧的问题,不仅给室内空气舒适度造成负面影响并且还存在安全隐患。

因此开发设计一种价格低廉、功耗低、具有自动控制功能的加湿器显得尤为必要。

本设计采用智能控制,以AT80S51单片机为核心,外接辅助电路,通过实现加湿器的防干烧、声光报警、智能开启和关闭以及室内温湿度的显示功能基本实现加湿器的智能化。

关键词:

单片机、智能、加湿器、相对湿度、传感器

1任务来源意义及目的

在日常生活中加湿器得到了广泛的应用,但是现有的加湿器都需要手工控制开启和关闭并且不具备对室内空气温湿度的监测,人们在使用过程中存在过度加湿和干烧的问题,不仅给室内空气舒适度造成负面影响并且还存在安全隐患。

因此开发设计一种价格低廉、功耗低、具有自动控制功能的加湿器显得尤为必要。

本设计采用智能控制,以AT80S51单片机为核心,外接辅助电路,通过实现加湿器的防干烧、声光报警、智能开启和关闭以及室内温湿度的显示功能基本实现加湿器的智能化。

2设计方案

2.1总体设计

智能加湿器需满足以下要求:

1)相对湿度低于40%时自动加湿;

2)用户可以设置系统温湿度报警值;

3)由5V稳压直流电源供电,提供温湿度调节控制信号,实现自动控制;

4)检测得到的数据可以通过显示模块显示。

硬件设计不仅要满足系统需求,还要满足功能和外形尺寸要求。

根据设计要求确定了系统的总体方案,包系统由两个DS18B20温度传感器一个水位传感器、单片机、1602LCD液晶显示屏、声光报警器、以及一个光电耦合开关等部分组成。

系统功能原理图如图1-1所示,两个温度传感器分别采集室内空气的干湿球温度,并将采集的温度传送至单片机。

单片机对这两个数据加以处理并结合室内湿度要求参数控制加湿器的开启和闭合。

另外,水位传感器还能监测水位,单片机根据水位高低控制声光报警装置。

自动加湿器包括加湿模块、报警模块、自动断电模块。

图1-1自动加湿器功能原理图

2.2实现方式

要达到自动加湿器功能要做好硬件和软件设计和调试三个方面的工作。

首先硬件方面,通过合理的设计单片机管脚及其他外围电路的链接,使之既有I/O口的功能,又有控制型号的功能。

由于时间仓促,没有找到合适的水位传感器,在开发过程中利用三个按钮开关代替水位传感器分别代表高、中、低水位,而加湿器开关则由一发光二级管代替,在方正过程中更容易观察系统开发效果。

这方面的内容详见硬件设计部分内容。

其次软件方面,通过合理设计软件的结构和安排子程序,使程序以最简洁有效的方式实现目的。

最后,调试方面,程序编辑用VW8系列方针器环境,编辑过程可使用软件仿真观察,并对其进行调试。

在程序编辑完成之后使用硬件仿真,最终用烧录器将程序写入单片机进行实测。

本系统分信号的主要有温度传感器的输入信号和单片机输出的控制信号构成。

首先由单片机向温度传感器发出读信号,随后温度传感器做出响应,单片机待DS18B20完成收集到得温度信息进行AD处理并存储为数字信号后,开始读取温度值,并对其信号做位处理使之达到用户需求的精度以及计算得到相对湿度,最后通过1602LCD显示温湿度值。

另外,系统在运行过程中还有专门的控制声光报警系统、光电耦合开关的控制信号,

2.3理论基础

2.3.1单片机

T89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89S51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

外形及引脚排列如图2-1所示

图2-1AT89S51芯片引脚图

AT89S51共有40个引脚,大致可分为4类:

电源引脚、时钟电路引脚、I/O引脚、控制线引脚。

根据开发的需要和单片机的结构,我们就可以实现单片机的自动工作,即实现自动化!

2.3.2DS18B20传感器

传感器是一种按一定的精度把被测量转换为与之有确定关系的、便于应用的某种物理的测量器件或装置,用于满足系统信息传输、存储、显示、记录及控制等要求。

在本系统的开发过程中主要用到了DS18B20数字温度传感器,这种传感器提供9-12位摄氏温度测量ifub‘有一个由高低电平触发的可编程的不因电源消失}fu改变的报警功能。

DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条连接线(加上地线)。

它的测温范围为一55-}-+1250C,并目‘在一10-}-+850C精度为士50C。

除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。

每个DS18B20都有一个独特的64位序列号,从}fu允许多只DS18B20同时连在一根单线总线上;因此,很简单就可以用一个微控制器去控制很多覆盖在一大片区域的DS18B20。

这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。

在测温操作方面,DS18B20的核心功能是它的直接读数字的温度传感器。

温度传感器的精度为用户可编程的9,10,11或12位,分别以0.50C,0.250C,0.1250C和0.06250C增量递增。

在上电状态下默认的精度为12位。

DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控制器必须发出「44h〕命令。

在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器中,DS18B20继续保持等待状态。

当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”,DS18B20正在温度转换中返回0,转换结束返回1。

如果DS18B20由寄生电源供电,除非在进入温度转换时总线被一个强上拉拉高,否则将不会由返回值。

寄生电源的总线要求在口618820供电节详细解释。

图2-2DS18B20数字温度传感器内部结构

2.3.31602LCD液晶显示屏

在单片机系统中应用液晶显示器作为输出器件有以下几个优点:

一、显示质量高,由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。

因此,液晶显示器画质高且不会闪烁。

二、数字式接口,液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。

三、体积小、重量轻,液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。

四、功耗低,相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。

本系统选用的字符型LCD是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。

本次设计选用的是长沙太阳人电子有限公司的1602字符型液晶显示器。

一般1602字符型液晶显示器实物如图3-1:

图2-31602字符型液晶显示器实物图

1602LCD主要技术参数:

显示容量:

16×2个字符

芯片工作电压:

4.5—5.5V

工作电流:

2.0mA(5.0V)

模块最佳工作电压:

5.0V

字符尺寸:

2.95×4.35(W×H)mm

3硬件设计

3.1设计方案

图3-1自动加湿器功能原理图

3.2电路图

单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。

硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。

这种设计方法可以降低系统设计的复杂性。

系统电路原理图如图2所示。

本系统主要硬件设计包括电源电路、蜂鸣器电路、晶振电路、复位电路、LCD显示电路以及温度传感器电路。

控制电路的核心器件是由美国Atmel公司生产的AT89S51单片机,属于MCS-51系列。

AT89S51是一种低功耗、高性能的CMOS8位微控制器,具有2K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。

因此广泛应用于工业控制和嵌入式系统中。

图3-2电路原理图

系统的声光报器电路(警蜂鸣和LED发光二极管组成)、振落电路、复位电路如图?

、图?

、图?

所示。

显示模块选用1602字符型液晶模块,是目前工控系统中使用最为广泛的液晶屏之一,电路图如图?

所示。

1602字符型液晶模块是点阵型液晶,驱动方便,经编码后显示内容多样化。

由于时间仓促,没有找到合适的水位传感器,在开发过程中利用三个按钮开关代替水位传感器分别代表高、中、低水位,而加湿器开关则由一发光二级管代替,在方正过程中更容易观察系统开发效果。

3.3信号分析

本系统分信号的主要有温度传感器的输入信号和单片机输出的控制信号构成。

首先由单片机向温度传感器发出读信号,随后温度传感器做出响应,单片机待DS18B20完成收集到得温度信息进行AD处理并存储为数字信号后,开始读取温度值,并对其信号做位处理使之达到用户需求的精度以及计算得到相对湿度,最后通过1602LCD显示温湿度值。

另外,系统在运行过程中还有专门的控制声光报警系统、光电耦合开关的控制信号,这些控制信号比较简单,不再一一论述。

3.4功能描述

参考舒适性空调的相对湿度采用40%—65%的要求[x],在功能设计过程中以40%为最适相对湿度参考值。

单片机一方面通过监测加湿器内部的水位,达到加湿器防干烧的功能,即只有在水位在水位下限以上时加湿器才能通电工作。

另一方面通过处理两个温度传感器测得的干湿球温度得到室内相对湿度,并和人体最适相对湿度做比较。

在水位符合要求的前提下,若室内相对湿度高于人体最适值则控制加湿器不动作,反之则对加湿器通电开始加湿,直到室内空气达到最适湿度时断电。

另外,单片机通过和声光报警器以及1602LCD显示屏相连,还具有了温湿度及水位的显示功能。

总之,在现有的加湿器内加入此单片机将实现加湿器的防干烧、声光报警、智能开启和关闭以及室内温湿度的显示功能基本实现加湿器的智能化。

3.5复位电路

复位电路的基本功能是:

系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。

为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。

图3-3所示的RC复位电路可以实现上述基本功能,图3为其输入-输出特性。

但解决不了电源毛刺(A点)和电源缓慢下降(电池电压不足)等问题而且调整RC常数改变延时会令驱动能力变差。

左边的电路为高电平复位有效右边为低电平Sm为手动复位开关Ch可避免高频谐波对电路的干扰。

图3-3上电及手动复位电路图

3.6液位定位及光电开关

由于开发过程时间紧迫,暂时未购买到合适的液位监测传感器,因此在实际开发过程中采用三个开关进行代替,按下按钮表示水位到达相应的水位。

另外为了直观的看出控制输出信号的转台,开发过程中将光电开关改为一发光二级管并与电阻串联接地。

见图3-4。

图3-4水位计光电开关替代元件

3.71602显示屏

利用滑动变阻器调节背光灯与显示字符的对比度,利用三极管的及P2.7控制背光的的暗与灭。

接线原理见图3-5。

图3-51602接线原理图

3.8DS18B20温度传感器

由于此款温度传感器输出串行通信信号,电路图相对简单,见图3-6。

图3-6DS18B20温度传感器接线图

4软件设计

4.1整体设计及说明

系统单片机代码采用汇编语言编译,以伟福仿真器V8/L为开发环境。

系统软件实现的功能:

1)通过LCD显示温湿度值及水位;

2)比较监测到的水位,发现低水位时自动掉电并声光报警;

3)根据相对湿度值控制加湿器的开关。

根据监控系统功能要求,系统软件流程图设计如图所示。

图4-1主程序流程图

初始化开始,然后载入程序,根据显示数据读出干球温度T,湿球温度TS,根据干湿球温度求出相对湿度D,然后读出显示的水位H,判断水位H是否大于最小水位Ho:

若H<=Ho,则声光报警并关闭加湿器,然后显示温湿度,再读出一个干球温度T,湿球温度TS,计算出相对湿度D,读出水位H循环,直至H>Ho成立后,判断相对湿度D与最小湿度Do的大小比较,若D<=Do则开启加湿器,显示温湿度,循环直至相对湿度D<=Do,关闭加湿器,然后显示温湿度过程循环。

4.2DS18B20流程设计

每个DS18B20温度传感器的流程图设计如下:

图4-2DS18B20模块程序流程图

传感器DS18B20复位,跳过ROM匹配后启动温度转换,DS18B20复位然后跳过ROM匹配,再读取温度后进行温度处理,保留一位小数。

读取数据及传送的程序如下:

READ_TEMP:

;读1820内部温度子程序.

CALLRESET

JB70h,EXT1

CALLSKIP_ROM

CALLTEMP_CONV;温度AD变换

CALLDELAY_600MS

CALLRESET

CALLSKIP_ROM

CALLTEMP_GET;发取温度的命令

CALLREAD;接收...

EXT1:

RET

SKIP_ROM:

;跳过ROM检测

MOVA,#0CCH;#0CCH为跳过rom命令

CALLWRITE

RET

RECALL_EPROM:

;重调Eprom

MOVA,#0B8H

CALLWRITE

RET

TEMP_CONV:

MOVA,#44H;AD变换

CALLWRITE

RET

TEMP_GET:

MOVA,#0BEH;读18b20命令

CALLWRITE

RET

;*********18B20基本时序子程序

RESET:

;初始化子程序

SETBP1.2

NOP

CLRP1.2;拉低

MOVR3,#150;*4=600US

CALLDELAY_BY_R3

SETBP1.2;拉高

MOVR3,#15;60US

CALLDELAY_BY_R3

MOVR3,#60;4个周期*60=240US内检测

A1:

JNBP1.2,A2;检测到低平信号

DJNZR3,A1;如果没有应答的低电平信号,返回A1重新检测,超时后下一行,

SETB70h;DS1820不存在.

JMPA3

A2:

CLR70h

MOVR3,120;240US;等恢复时间2*120=240us

DJNZR3,$

A3:

RET

WRITE:

MOVR2,#8;一个字节为8位

CLRC;C位清0C位用来放A的一位数据,用移位的方法放入C

B1:

SETBP1.2

NOP

CLRP1.2

MOVR3,#4;16US

CALLDELAY_BY_R3

RRCA;把A中的数送入C

MOVP1.2,C;把C送入总线

MOVR3,#12;48US(一位数据的发送:

60us

CALLDELAY_BY_R3

SETBP1.2;拉高1us结束一位

NOP

DJNZR2,B1

RET

READ:

MOVR1,#4;接收4个字节数据依次是1.低位2.高位.3.高限4.低限

MOVR0,#28H;低位放28H;高位放29h(1.28H,2.29H3.2AH4.2BH)

C0:

MOVR2,#8;一字节数据8位

C1:

CLRC;清除C

SETBP1.2

NOP

NOP

CLRP1.2;拉低.

NOP;1us秒后拉高?

SETBP1.2

MOVR3,#4;16us后采数据

CALLDELAY_BY_R3

MOVC,P1.2;读出18b20的数据

RRCA;移入A

MOVR3,#12;48US恢复时间

CALLDELAY_BY_R3

DJNZR2,C1;一个字节收完

MOV@R0,A;移入存储位

INCR0;下一位;29h

DJNZR1,C0;全部取完吗?

没有重复

RET

4.31602字符型LCD流程设计

1602字符型LCD流程设计如下:

图4-31602液晶驱动程序流程图

显示器1602初始化后延时15ms,显示模式设置,再延时5ms,显示关闭,延时5ms显示清屏,再延时5ms显示光标移动设置延时5ms显示开及光标设置,然后显示位置设置,延时,显示温度各位数值。

此部分主要程序过长,参见附录二。

5系统调试

系统与VW8系列的仿真环境下开发,编程过程中利用软件仿真调试系统,当软仿通过则利用该仿真器仿真,并按顺序检查错误进行修改,最终将程序的HEX文件烧录进入单片机进行实测。

6总结

通过本次单片机学习课程的毕业设计,使自己在理解单片机基本电路的基础上掌握了简单电路的设计方法,同时对整个课题的编程方法和技巧也有了一定的认识和理解,并初步具备了独立编程和系统调试的能力。

在本次课题设计中,自己遇到了不少问题,通过请教贺老师和翻阅资料,最终将问题解决。

尤其是在调试程序时,运用软件仿真,逐步排查错误,最终将程序调试成功。

在此过程中,自己的编程能力得到了加强,同时也锻炼了自己的耐性。

总之,通过本次设计,使自己受益匪浅。

另外,在智能加湿器的开发过程中我体会到了自动化得真正含义,对以后的学习和工作奠定了一定的基础,以后进一步的学习过程中一方面要拓展智能的加湿器的功能和应用范围,使之更加完善。

另一方面还要探究新的课题,开发新的单片机应用系统,问何那得清如许,为由源头活水来!

走上单片机开发之路,我要将自己的知识转化为社会可以运用的技术,为社会的进步尽自己一份力量。

致谢

作者在毕业设计期间,始终得到指导老师贺新民老师的悉心指导。

整个学习和设计过程中,我深切的体会到了导师严谨的治学精神、渊博的知识、敏锐的思维、对工作的热情态度和朴素高尚的人格修养,相信这些将使我终生受益。

在此论文完成之际,谨向我敬爱的导师表示最诚挚的敬意。

由衷地感谢王玉芝老师在课题研究期间给予我的许多指导和帮助。

也由衷地感谢各位同学为我的课题提供的无私帮助,而且他们孜孜不倦的学习精神永远是我学习的榜样。

同时,也向所有帮助支持过我的老师、同学和朋友致以衷心的感谢。

参考文献:

1薛殿华.空气调节.北京:

清华大学出版社,1991.

2赵玉刚邱东传.感器基础.北京:

中国林业出版社;北京大学出版社,2006.8

3张俊谟.单片机中级教程:

原理与应用.北京:

北京航空航天大学出版社,2006.10

4黄晓因.张连根.干湿球法测量相对湿度算法研究及单片机实现[[J].云南族大学学报:

自然科学版.2003,I2(3):

I55-157

5胡玉峰.自动与人工观测数据的差异[J〕.应用气象学报,2004.15(fi).

6孙晓波.DS18B20在多点温控系统中的应用J.哈尔滨商业大学学报(自然科学版),2002,18(4):

年,卷(期).

7李广弟等编著,《单片机基础》,北京航空航天大学出版社,2001年7月.

附录一:

1602LCD简介

引脚功能说明

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-1所示:

表3-1:

引脚接口说明表

编号

符号

引脚说明

编号

符号

引脚说明

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脚:

背光源负极。

表3-2:

控制命令表

序号

指令

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

1

清显示

0

0

0

0

0

0

0

0

0

1

2

光标返回

0

0

0

0

0

0

0

0

1

*

3

置输入模式

0

0

0

0

0

0

0

1

I/D

S

4

显示开/关控制

0

0

0

0

0

0

1

D

C

B

5

光标或字符移位

0

0

0

0

0

1

S/C

R/L

*

*

6

置功能

0

0

0

0

1

DL

N

F

*

*

7

置字符发生存贮器地址

0

0

0

1

字符发生存贮器地址

8

置数据存贮器地址

0

0

1

显示数据存贮器地址

9

读忙标志或地址

0

1

BF

计数器地址

10

写数到CGRAM或DDRAM)

1

0

要写的数据内容

11

从CGRAM或DDRAM读数

1

1

读出的数据内容

1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

(说明:

1为高电平、0为低电平)

指令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:

读数据。

1602LCD的RAM地址映射

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1