智能加湿器的设计_第1页
智能加湿器的设计_第2页
智能加湿器的设计_第3页
智能加湿器的设计_第4页
智能加湿器的设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、潍坊学院本科毕业设计目 录摘要IIABSTRACTIII1 引言12 设计方案22.1 系统的整体功能结构图22.2系统的整体功能流程图32.3实现方式43硬件设计53.1 电路图53.2 功能描述63.3 单片机63.4 DS18B20传感器73.5 1602显示屏93.6 复位电路93.7 液位定位及光电开关104 软件设计114.1 DS18B20流程设计114.2 1602字符型LCD流程设计145 系统调试296 总结33参考文献:34附录:1602LCD简介35致 谢38摘要:在生活中,我们随处可见使用加湿器的场合。在人们不断追求健康生活方式的今天,开发设计一种价格低廉、功耗低、具

2、有自动控制功能的加湿器显得尤为必要。 本设计采用智能控制,以AT80S51单片机为核心,外接辅助电路,通过实现加湿器的防干烧、声光报警、智能开启和关闭以及室内温湿度的显示功能基本实现加湿器的智能化。首先中介绍了本课题的课题背景、研究意义及预期研究目标。然后描述了系统硬件工作原理,且附以系统硬件设计框图,论述了本毕业设计所用到的各硬件接口技术和各个接口模块的功能及工作过程。接着阐述了程序的流程和实现过程。最后对用单片机实现智能加湿控制原理的设计思想和软、硬件调试作了详细的论述。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。关键词:单片机;智能;加湿器;相对湿度;传感器

3、ABSTRACT:In daily life, the use of humidifier can be seen at every situation. Today, the incessantly pursute of healthy lifeway, it is vital important to develop a kind of automatic controlfunction humidifiercan which is price moderate and low power consumption. In this paper, a design was made on t

4、he intelligent control, besides some auxiliary circuit, the nucleus is AT80S51 Single-chip Microcomputer. It can realize boil dry protection the acoustic and optical alarm, intelligentize switch , as well as indoor humidity and temperature display functions. In the first instance, the subject backgr

5、ound, research meaning and expected research objectives were introduced. afterwards, the working principle of the system hardware was simply described and the system block diagram of hardware design was attached. The history of the development of single chip microprocessor was introduced and the har

6、dware interface technology and the function and work process of each interface module used in the graduation paper were also discussed. Whats more, the process and realization of the program were elaborated. Finally, the design ideas of the MCU control principle realized by single chip Microcomputer

7、 and software or hardware debugging are discussed in detail. The main idea of this paper is the software and hardware combination, regarding hardware as the foundation, for the writing preparation of the functional modules.KEY WORDS: Micro Controller Unit; Intelligence; Humidifier; Relative humidity

8、 ; Transducer39 1 引言 四季更替,每当进入寒冷干燥的冬季,尤其是我国的北方城市由于风沙天气 较多,人们很容易皮肤干燥、嗓子干痛。此时,身边需要一台小型室内加湿器改 善我们的生活环境,但是现有的加湿器都需要手工控制开启和关闭并且不具备对室内空气温湿度的监测,人们在使用过程中存在过度加湿和干烧的问题,不仅给室内空气舒适度造成负面影响并且还存在安全隐患。因此开发设计一种价格低廉、功耗低、具有自动控制功能的加湿器显得尤为必要。 计算机科学技术,通信技术,控制技术的飞速发展,与人类健康息息相关领域的产品也不可避免的被赋予了数字化理念。事实上,过往传统的室内加湿器设计完全可以由模拟硬件电

9、路单一实现,现在我们赋予室内加湿器数字化, 智能化, 自动化。利用单片机,通过编写模糊控制算法,实现软控制。代替手动控制,实现自动控制。室内智能加湿器的工作原理是随着社会的不断发展,人们对个体生命价值的认知不断提升,越来越多的家庭希望利用高科技手段保障身体健康,一 种设计合理,技术先进、经济、实用、可靠的室内智能加湿器将会受到社会的欢迎。 本课题研究主要涉及以下方面: 1)通过对控制系统的功能及要求确定总体设计方案 2)系统硬件电路的设计与开发 3)系统软件程序的设计与调试 4)系统性能测试 本设计将采用智能控制,以AT80S51单片机为核心,外接辅助电路,通过实现加湿器的防干烧、声光报警、智

10、能开启和关闭以及室内温湿度的显示功能基本实现加湿器的智能化。 2 设计方案2.1 系统的整体功能结构图 整个室内智能加湿器以单片机为核心,实现对内部功能的控制,实现对温度、湿度、液位的检测,液晶屏的显示,液位保护,声光报警,图2-1中各功能模块的作用阐述如下:单片机温度传感器1温度传感器21602LCD显示屏水位传感器加湿器开关声光报警器图2-1 自动加湿器功能原理图 温度检测:利用DS18B20数字温度传感器检测环境实时温度湿度检测:两个温度传感器分别采集室内空气的干湿球温度,并将 采集的温度传送至单片机。单片机对这两个数据加以处理并结合室内湿度要求参数控制加湿器的开启和闭合液位检测:利用B

11、Z0504液位开关检测水槽实时液位。判断有水时输出0V,无水时5V。单片机控制:我们标配的是AT80S51,作为核心部件,实现对内部功能的控制。液晶显示:利用1602液晶显示模块。显示实时的温湿度。声光报警:当检测的液位低于安全值时,蜂鸣器响且LED灯闪亮,提醒用户给水槽加水。2.2系统的整体功能流程图 系统单片机代码采用汇编语言编译,以伟福仿真器V8/L为开发环境。系统软件实现的功能:1)通过LCD显示温湿度值及水位;2)比较监测到的水位,发现低水位时自动掉电并声光报警;3)根据相对湿度值控制加湿器的开关。根据监控系统功能要求,系统软件流程图设计如图2-2所示。 初始化开始,然后载入程序,根

12、据显示数据读出干球温度T,湿球温度TS,根据干湿球温度求出相对湿度D,然后读出显示的水位H,判断水位H是否大于最小水位Ho:若H<=Ho,则声光报警并关闭加湿器,然后显示温湿度,再读出一个干球温度T,湿球温度TS,计算出相对湿度D,读出水位H循环,直至H>Ho成立后,判断相对湿度D与最小湿度Do的大小比较,若D<=Do则开启加湿器,显示温湿度,循环直至相对湿度D<=Do,关闭加湿器,然后显示温湿度过程循环。显示温湿度初始化载入程序读干球温度T读湿球温度TS求出相对湿度D读水位H判断H>Ho是否成立开启加湿器判断D >D0是否成立声光报警并关闭加湿器是否是否关

13、加湿器图2-2室内智能加湿器的整体功能流程图2.3实现方式 要达到自动加湿器功能要做好硬件和软件设计和调试三个方面的工作。首先硬件方面,通过合理的设计单片机管脚及其他外围电路的链接,使之既有I/O口的功能,又有控制型号的功能。在本次开发过程中利用三个按钮开关代替水位传感器分别代表高、中、低水位,而加湿器开关则由一发光二级管代替,在开发过程中更容易观察系统开发效果。这方面的内容详见硬件设计部分内容。其次软件方面,通过合理设计软件的结构和安排子程序,使程序以最简洁有效的方式实现目的。最后,调试方面,程序编辑用VW8系列方针器环境,编辑过程可使用软件仿真观察,并对其进行调试1。在程序编辑完成之后使用

14、硬件仿真,最终用烧录器将程序写入单片机进行实测。 本系统分信号的主要有温度传感器的输入信号和单片机输出的控制信号构成。首先由单片机向温度传感器发出读信号,随后温度传感器做出响应,单片机待DS18B20完成收集到得温度信息进行AD处理并存储为数字信号后,开始读取温度值,并对其信号做位处理使之达到用户需求的精度以及计算得到相对湿度,最后通过1602LCD显示温湿度值2。另外,系统在运行过程中还有专门的控制声光报警系统、光电耦合开关的控制信号3硬件设计3.1 电路图 单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将

15、各个模块搭接在一起。这种设计方法可以降低系统设计的复杂性3。系统电路原理图如图3-1所示。本系统主要硬件设计包括电源电路、蜂鸣器电路、晶振电路、复位电路、LCD显示电路以及温度传感器电路。图3-1系统电路原理图 控制电路的核心器件是由美国Atmel公司生产的AT89S51单片机,属于MCS-51系列。AT80S51是一种低功耗、高性能的CMOS8位微控制器,具有2K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT80S51为众多嵌入式控

16、制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。因此广泛应用于工业控制和嵌入式系统中。3.2 功能描述 参考舒适性空调的相对湿度采用40%65%的要求,在功能设计过程中以40%为最适相对湿度参考值。单片机一方面通过监测加湿器内部的水位,达到加湿器防干烧的功能,即只有在水位在水位下限以上时加湿器才能通电工作。另一方面通过处理两个温度传感器测得的干湿球温度得到室内相对湿度,并和人体最适相对湿度做比较。在水位符合要求的前提下,若室内相对湿度高于人体最适值则控制加湿器不动作,反之则对加湿器通电开始加湿,直到室内空气达到最适湿度时断电。另外,单片机通过和声光报警器以及1602L

17、CD显示屏相连,还具有了温湿度及水位的显示功能。总之,在现有的加湿器内加入此单片机将实现加湿器的防干烧、声光报警、智能开启和关闭以及室内温湿度的显示功能基本实现加湿器的智能化。3.3 单片机 T80C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机4。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容5。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT80S51是一种高效微控制器,AT80C2051是它的一种精简版本。AT80S51单片机为很多嵌入式控制系统提供了一种灵

18、活性高且价廉的方案。外形及引脚排列如图3-2所示图3-2 AT89S51芯片引脚图 AT80S51共有40个引脚,大致可分为4类:电源引脚、时钟电路引脚、I/O引脚、控制线引脚。根据开发的需要和单片机的结构,我们就可以实现单片机的自动工作,即实现自动化3.4 DS18B20传感器 传感器是一种按一定的精度把被测量转换为与之有确定关系的、便于应用的某种物理的测量器件或装置,用于满足系统信息传输、存储、显示、记录及控制等要求。在本系统的开发过程中主要用到了DS18B20数字温度传感器,这种传感器提供9-12位摄氏温度测量i fu b有一个由高低电平触发的可编程的不因电源消失fu改变的报警功能6。D

19、S18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条连接线(加上地线)。它的测温范围为一55- + 125 0C,并目在一10-+850C精度为士5 0C。除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。每个DS 18B20都有一个独特的64位序列号,从fu允许多只DS18B20同时连在一根单线总线上;因此,很简单就可以用一个微控制器去控制很多覆盖在一大片区域的DS18B20。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。 在测温操作方面,DS18B20的核心功能是它的直接读数字的温度

20、传感器。温度传感器的精度为用户可编程的9, 10, 11或12位,分别以0. 5 0C , 0 . 2 5 0C , 0. 12 5 0C和0. 06250C增量递增。在上电状态下默认的精度为12位。DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控制器必须发出44h命令。在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器中,DS18B20继续保持等待状态。当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”,DS18B20正在温度转换中返回0,转换结束返回1。如果DS18B20由寄生电源供电,除非在进入温度转换时总线被一

21、个强上拉拉高,否则将不会由返回值7。DS18B20数字温度传感器内部结构如图 3-3所示图3-3 DS18B20数字温度传感器内部结构 此款温度传感器输出串行通信信号,电路图见图3-4.图3-4 DS18B20温度传感器接线图3.5 1602显示屏 利用滑动变阻器调节背光灯与显示字符的对比度,利用三极管的及P2.7控制背光的暗与灭8。接线原理见图3-5。图3-5 1602接线原理图3.6 复位电路 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。图3-6

22、所示的RC复位电路可以实现上述基本功能。但解决不了电源毛刺(A点)和电源缓慢下降(电池电压不足)等问题 而且调整 RC 常数改变延时会令驱动能力变差。左边的电路为高电平复位有效 右边为低电平Sm为手动复位开关 Ch可避免高频谐波对电路的干扰9。上电及手动复位电路图如图 3-6所示图3-6 上电及手动复位电路图3.7 液位定位及光电开关由于开发过程时间紧迫,暂时未购买到合适的液位监测传感器,因此在实际开发过程中采用三个开关进行代替,按下按钮表示水位到达相应的水位。另外为了直观的看出控制输出信号的转台,开发过程中将光电开关改为一发光二级管并与电阻串联接地10。见图3-7。图3-7 水位计光电开关替

23、代元件4 软件设计4.1 DS18B20流程设计 每个DS18B20温度传感器的流程图设计如图4-1:启动温度转换读取温度温度处理跳过ROM匹配DS18B20复位跳过ROM匹配DS18B20复位图4-1 DS18B20模块程序流程图 传感器DS18B20复位,跳过ROM匹配后启动温度转换,DS18B20复位然后跳过ROM匹配,再读取温度后进行温度处理,保留一位小数。读取数据及传送程序如下11:READ_TEMP: ;读1820内部温度子程序.CALL RESETJB 70h,EXT1CALL SKIP_ROMCALL TEMP_CONV ;温度AD变换CALL DELAY_600MSCALL

24、RESETCALL SKIP_ROMCALL TEMP_GET ;发取温度的命令CALL READ ;接收.EXT1:RETSKIP_ROM:;跳过ROM检测MOV A,#0CCH ;#0CCH为跳过rom命令CALL WRITERETRECALL_EPROM:;重调EpromMOV A,#0B8HCALL WRITERETTEMP_CONV:MOV A,#44H ;AD变换CALL WRITERETTEMP_GET:MOV A ,#0BEH;读18b20命令CALL WRITERET;* 18B20基本时序子程序RESET: ;初始化子程序SETB P1.2NOPCLR P1.2 ;拉低MO

25、V R3,#150 ; *4=600USCALL DELAY_BY_R3SETB P1.2;拉高MOV R3,#15 ; 60USCALL DELAY_BY_R3MOV R3,#60 ;4个周期*60=240US内检测A1: JNB P1.2,A2 ;检测到低平信号DJNZ R3,A1;如果没有应答的低电平信号,返回A1重新检测,超时后下一行,SETB 70h ;DS1820不存在.JMP A3A2: CLR 70hMOV R3,120;240US;等恢复时间2*120=240usDJNZ R3, $A3:RETWRITE:MOV R2,#8;一个字节为8位CLR C ;C位清0 C位用来放A

26、的一位数据,用移位的方法放入CB1: SETB P1.2NOPCLR P1.2MOV R3,#4 ;16USCALL DELAY_BY_R3RRC A;把A中的数送入CMOV P1.2,C ;把C送入总线MOV R3,#12;48US(一位数据的发送:60us<tx<120us)CALL DELAY_BY_R3SETB P1.2 ;拉高1us结束一位NOPDJNZ R2,B1RETREAD:MOV R1,#4 ;接收4个字节数据依次是1.低位2.高位.3.高限4.低限MOV R0,#28H;低位放28H;高位放29h (1. 28H,2. 29H 3. 2AH 4. 2BH )C0

27、: MOV R2,#8;一字节数据8位C1: CLR C ;清除CSETB P1.2NOPNOPCLR P1.2 ;拉低.NOP ;1us秒后拉高?SETB P1.2MOV R3,#4 ;16us后采数据CALL DELAY_BY_R3MOV C,P1.2 ;读出18b20的数据RRC A ;移入AMOV R3,#12;48US恢复时间CALL DELAY_BY_R3DJNZ R2,C1 ;一个字节收完MOV R0,A ;移入存储位INC R0 ;下一位;29hDJNZ R1,C0 ;全部取完吗?没有重复RET4.2 1602字符型LCD流程设计 1602字符型LCD流程设计如下:显示器160

28、2初始化后延时15ms,显示模式设置,再延时5ms,显示关闭,延时5ms显示清屏,再延时5ms显示光标移动设置延时5ms显示开及光标设置,然后显示位置设置,延时,显示温度各位数值12。延时15ms显示模式设置延时5ms显示关闭显示清屏延时5ms延时5ms显示光标移动设置延时5ms显示开及光标设置显示位置设置延时显示温度各位数值1602初始化图4-2 1602液晶驱动程序流程图LCD控制及显示子程序如下:DISPLAY: MOV A,R1MOVC A,A+DPTRMOV P0,ACALL WRITE_DATA_TO_LCDINC R1DJNZ R0,DISPLAYRETWRITE_NOT_CHE

29、CK_BUSY:SETB ENOPNOPCLR RS ;写入控制命令的子程序CLR RWCLR ERETENABLE:SETB ENOPNOPCLR RS ;写入控制命令的子程序CLR RWCLR EACALL TEST_BUSYSETB ERETTEST_BUSY:SETB ENOPNOPMOV P0,#0FFH ;判断液晶显示器是否忙的子程序CLR RSSETB RWCLR ENOPSETB EJB P0.7,TEST_BUSY ;如果P0.7为高电平表示忙就循环等待RETWRITE_DATA_TO_LCD:SETB ENOPNOPSETB RS ;RS=1CLR RW ;RW=0 ;准备

30、写入数据CLR E ;E=0 ;执行显示命令ACALL TEST_BUSY ;判断液晶模块是否忙?SETB E ;E=1 ;显示完成,程序停车RET;*数据转换*DATA_CONV: ;数据转换MOV A,28H ;低字节ANL A,#0FH;去除高位MOV B,#6;乘6得到实际数值的100倍.MUL ABMOV B,#10DIV ABMOV 33H,A;小数位高MOV 32H,B; 小数位低MOV A,28HMOV C,29H.0 ;29h高位的低4字节RRC AMOV C,29H.1RRC AMOV C,29H.2RRC AMOV C,29H.3RRC AMOV 28H,A ;重新合成.

31、结果存在28H.MOV A,28HMOV B,#10DIV ABMOV 26H,A ;整数位高MOV 25H,B ;整数位低;-MOV A,2AHMOV B,#10DIV ABMOV 40H,B ;高温限值个位MOV B,#10DIV ABMOV 41H,B;十位MOV 42H,A;百位;-MOV A,2BHMOV B,#10DIV ABMOV 43H,B ;低温限值位个位MOV B,#10DIV ABMOV 44H,B ;十位MOV 45H,A ;百位CLR CMOV A,28H;现温度值与高温限值比较SUBB A,2AHJC BIG ;如果高.则关机器CLR CMOV A,2BH;现温度与

32、低温限值比较SUBB A,28HJC X_BIG ;低温限值比现温高,则开机器AJMP CONVERT_ENDBIG:AJMP CONVERT_ENDX_BIG:CONVERT_END:RET;*显示温度*DISPLAY_18B20_TEMP: ;LCD_显示子程序MOV P0,#10000000B; 显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB3;显示'WENDU:'MOV R1,#0 ;码表初值MOV R0,#7;字数CALL DISPLAY;-显示温度值高位MOV DPTR,#LED_DATAMOV R1,26H ;码表初值MOV R0,#1;字

33、数CALL DISPLAY;-显示温度值低位MOV DPTR,#LED_DATAMOV R1,25H ;码表初值MOV R0,#1;字数CALL DISPLAY;-显示小数点MOV DPTR,#DOTMOV R1,#0 ;码表初值MOV R0,#1;字数CALL DISPLAY;-显示温度值小数高位MOV DPTR,#LED_DATAMOV R1,33H ;码表初值MOV R0,#1;字数CALL DISPLAY;-显示温度值小数低位MOV DPTR,#LED_DATAMOV R1,32H ;码表初值MOV R0,#1;字数CALL DISPLAY;-显示单位度MOV DPTR,#SIGNMO

34、V R1,#0 ;码表初值MOV R0,#2;字数CALL DISPLAYRET;*显示限值.*DISPLAY_18B20_TEMP_XZ:MOV P0,#11000000B; 显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB_L ; 显示'L:'MOV R1,#0 ;码表初值MOV R0,#2;字数CALL DISPLAY;-显示温度限值高位MOV DPTR,#LED_DATAMOV R1,45H ;码表初值MOV R0,#1;字数CALL DISPLAY;-显示温度限值低位MOV DPTR,#LED_DATAMOV R1,44H ;码表初值MOV R0

35、,#1;字数CALL DISPLAY;-MOV DPTR,#LED_DATAMOV R1,43H ;码表初值MOV R0,#1;字数CALL DISPLAYMOV P0,#11000111B; 显示位置ACALL ENABLE;- -MOV DPTR,#TAB_H ; 显示'H:'MOV R1,#0 ;码表初值MOV R0,#2;字数CALL DISPLAY;-显示高温度限值高位MOV DPTR,#LED_DATAMOV R1,42H ;码表初值MOV R0,#1;字数CALL DISPLAY;-显示高温度限值低位MOV DPTR,#LED_DATAMOV R1,41H ;码表

36、初值MOV R0,#1;字数CALL DISPLAY;-MOV DPTR,#LED_DATAMOV R1,40H ;码表初值MOV R0,#1;字数CALL DISPLAYRET;* *提示语*DISPLAY_18B20_HELLO:MOV P0,#10000000B; 显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB_HELLOMOV R1,#0 ;码表初值MOV R0,#16;字数CALL DISPLAyRET;/*DISPLAY_18B20_TESTING:MOV P1,#10000000B; 显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB_

37、TESTINGMOV R1,#0 ;码表初值MOV R0,#16;字数CALL DISPLAyRET;*/DISPLAY_18B20_ERROR:MOV P0,#00000001B ;清屏并光标复位ACALL ENABLEMOV DPTR,#TAB1MOV R1,#0 ;码表初值MOV R0,#16;字数CALL DISPLAyRETDISPLAY_WATING:MOV P0,#00000001B ;清屏并光标复位ACALL ENABLE;调用写入命令子程序MOV P0,#10000000B; 显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB2MOV R1,#0 ;码表初

38、值MOV R0,#13;字数CALL DISPLAyRETDISPLAY_SAVE:MOV P0,#00000001B ;清屏并光标复位ACALL ENABLE;调用写入命令子程序MOV P0,#10000000B; 显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB_SAVEMOV R1,#0 ;码表初值MOV R0,#10;字数CALL DISPLAyRETDISPLAY_SETING_TEMP_H:MOV P0,#00000001B ;清屏并光标复位ACALL ENABLE;调用写入命令子程序MOV P0,#10000000B; 显示位置ACALL ENABLE ;执

39、行指令MOV DPTR,#TAB_SETING_TEMP_HMOV R1,#0 ;码表初值MOV R0,#13;字数CALL DISPLAyRETDISPLAY_SETING_TEMP_L:MOV P0,#00000001B ;清屏并光标复位ACALL ENABLE;调用写入命令子程序MOV P0,#10000000B; 显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB_SETING_TEMP_LMOV R1,#0 ;码表初值MOV R0,#13;字数CALL DISPLAyRETDISPLAY_ON:MOV P0,#11001101B; 显示位置ACALL ENABLE

40、 ;执行指令MOV DPTR,#TAB_ONMOV R1,#0 ;码表初值MOV R0,#3;字数CALL DISPLAyRETDISPLAY_OFF:MOV P0,#11001101B; 显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB_OFFMOV R1,#0 ;码表初值MOV R0,#3;字数CALL DISPLAyRET;/*ADJ_FLASH:MOV P1,#1 ;在显示数字的位置用三个空格.ACALL ENABLE;*/;* *提示语*TM0: ;定时器程序.DJNZ R0,N1CPL 02HMOV R0,#14HN1:MOV TL0,#0B0HMOV TH0

41、,#3CHRETI ;中断返回;*廷时程序*DELAY_BY_R3:NOPNOPDJNZ R3,DELAY_BY_R3RETDELAY_BY_R6:D1: MOV R7,#250DJNZ R7,$DJNZ R6,D1RETDELAY_2MS:MOV R6,#2F2: MOV R7,#75x1: NOPNOPDJNZ R7,x1DJNZ R6,F2RETDELAY_600MS:MOV R6,#0G2: MOV R7,#0G1: NOPNOPNOPNOPNOPNOPNOPNOPDJNZ R7,G1DJNZ R6,G2RETDELAY_1M:MOV R6,#0MOV R7,#0E1: NOPNOPD

42、JNZ R7,E1DJNZ R6,E1RETDEFINE_DATA:DB 0CH,12H,12H,0CH,00H,00H,00H,00H;度DB 04H,0CH,12H,0DH,1EH,04H,08H,00H;今DB 0EH,04H,1FH,04H,04H,0AH,11H,00H;天DB 0EH,0EH,0EH,1FH,04H,0EH,17H,00H;是DB 10H,1FH,02H,0FH,0AH,1FH,02H,00H;年DB 0FH,09H,0FH,09H,0FH,09H,13H,00H;月DB 0FH,09H,09H,0FH,09H,09H,0FH,00H;日LED_DATA: DB &

43、#39;0123456789'TAB_HELLO:DB 'Hello!' ;6DB 0H,1H,2H,3H,4H,5H,6HTAB_TESTING:DB 'TEXTING.' ;10TAB1:DB '18B20 NO CONNECT'TAB2:DB 'Waiting.'TAB3:DB 'WENDU: 'DOT:DB "."SIGN:DB 00H,'C'TAB_L:DB 'L:'TAB_H:DB 'H:'TAB_SETING_TEMP_H:D

44、B 'SETING_TMP:H 'TAB_SETING_TEMP_L:DB 'SETING_TMP:L 'TAB_SAVE:DB 'SAVEING.'TAB_ON:DB 'ON 'TAB_OFF:DB 'OFF'END5 系统调试 系统与VW8系列的仿真环境下开发,编程过程中利用软件仿真调试系统,当软仿通过则利用该仿真器仿真,并按顺序检查错误进行修改,最终将程序的HEX文件烧录进入单片机进行实测。 湿度控制检测 在本系统中湿度控制采用PID算法进行控制,为此三个P、I、D三个参数的选择对系统湿度控制效果有重大意义1

45、3。PID参数整定大概有以下几种方法: (1)理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。 (2)工程整定方法。它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。 在本系统中采用理论计算整定法建立数学模型比较困难,为此选择了工程整定法作为PID参数的选择方法。本系统参数整定过程如下 (1)参照常见系统中P.I.D参数经验数据如下: 温度:P=2060,I=180600,D=3180 压力:P=3070,I=24180,D=5120 液位:P=2080

46、,I=60300,D=1080 流量:P=40100,I=660,D=1560 湿度:P=1030,I=1230,D=210 (2)确定本系统初始整定值P=20,I=10,D=3,并在程序中增加湿度监测模块,既湿度信息通过串口定时发送到PC的串口调试助手进行湿度定时监测。 (3)设定一个预设湿度值,通过串口5分钟监测一次湿度情况。在30分钟后,把湿度与时间对应值画出连线。参照PID整定口诀调整PID参数。重复上面的步骤。直到调节响应时间和精度到达预定要求。 图5-1到5-4列举了调试过程中三组不同的P、I、D参数,设定值相同的情况下。P、I、D三个参数对系统调节产生的影响。 测试一:设定值60

47、%RH、起始值40%RH,P=20、I=15、D=2.6图5-1湿度调节实验结果1 测试二:设定值60%RH、起始值40%RH,P=16、I=15、D=2.6图5-2湿度调节实验结果2 测试三:设定值60%RH、起始值40%RH,P=15.5、I=13、D=2.6图5-3湿度调节实验结果3 测试四:设定值60%RH、起始值40%RH,P=15.5、I=10.5、D=2.6图5-4湿度调节实验结果4 从抽取的四组实验分析可知P大了会出现幅值震荡的幅度大,但震荡频率小,系统达到稳定时间长;I是对系统误差的一个积累,也是解决动作响应的速度快慢的,I大了响应速度慢,反之则快;D是系统误差的变化率。用来

48、消除静态误差的,一般D设置都比较小,而且对系统影响比较小。在本系统中最终选用了P=15.5、I=10.5、D=2.6作为PID的调节参数。在该参数作用下,系统测量误差<3%RH,整定时间在40分钟左右,整定效果达到了课题要求的控制指标。6 总结 通过本次单片机学习课程的毕业设计,使自己在理解单片机基本电路的基础上掌握了简单电路的设计方法,同时对整个课题的编程方法和技巧也有了一定的认识和理解,并初步具备了独立编程和系统调试的能力。在本次课题设计中,自己遇到了不少问题,通过请教贺老师和翻阅资料,最终将问题解决。尤其是在调试程序时,运用软件仿真,逐步排查错误,最终将程序调试成功。在此过程中,自

49、己的编程能力得到了加强,同时也锻炼了自己的耐性。总之,通过本次设计,使自己受益匪浅。另外,在智能加湿器的开发过程中我体会到了自动化得真正含义,对以后的学习和工作奠定了一定的基础,以后进一步的学习过程中一方面要拓展智能的加湿器的功能和应用范围,使之更加完善。另一方面还要探究新的课题,开发新的单片机应用系统,问何那得清如许,为由源头活水来!走上单片机开发之路,我要将自己的知识转化为社会可以运用的技术,为社会的进步尽自己一份力量。参考文献:1谭浩强著,C程序设计(第二版):清华大学出版社,1999,5:200-210.2沈文、Eagle、詹卫前编著,AVR单片机C语言开发入门指导:清华大学出版社,2

50、003,1:55-57.3金春林、邱慧芳、张皆喜编著,AVR系列单片机C语言编程与应用实例:清华大学出版 社,2003,6:500-5204武锋、陈新建编著 ,PIC单片机C语言开发入门 :北京航空航天大学出版社,2005,2:150-1655夏路易、石宗义编著,电路原理图与电路板设计教程:北京希望电子出版社,2002,3:600-6406图形液晶显示模块使用手册(第二版):北京精电蓬远显示技术有限公司,20107郭永贞主编,数字电子技术:西安电子科技大学出版社,2000,8:1005-10208吴国经主编,单片机应用技术:中国电力出版社,2004,9:250-3009徐泳龙主编,单片机原理及

51、应用:机械工业出版社,2004,3:500-60010陆坤、奚大顺等编著,电子设计技术 ,1997,10:670-70011卢胜利主编,智能仪器设计与实现:重庆大学出版社,2003,11:200-25512王兆安、黄俊主编,电力电子技术(第四版):机械工业出版社,2002,9:240-30013K.Alexander,N.O.Sadiku,Fundamentals of electric Circuits:清华大学出版 社,2000,5:410-456附录:1602LCD简介引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-1所示:表3-1:引脚

52、接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论