温湿度控制器(液晶输出)设计报告_第1页
温湿度控制器(液晶输出)设计报告_第2页
温湿度控制器(液晶输出)设计报告_第3页
温湿度控制器(液晶输出)设计报告_第4页
温湿度控制器(液晶输出)设计报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、仅供个人参考温湿度控制器设计报告功能与特点配用全数字型温湿度传感器DHT11温度测量范围0C-50C,湿度测量范围20%RH90%RH可以满足一般需要。若要求更宽测量范围,只需更换温湿度传感器型号,硬件电路及软件程序全兼容。温湿度测量响应时间快、长期稳定性好。采用先进的专用微处理器芯片STC89C52可靠性高,抗干扰能力强。配用EEPROM芯片AT24C04,使存储的温度上下限和湿度上下限可以掉电永久保存。可以通过四个按键方便地实现温湿度上下限的调整。当温度或湿度超限后,报警信号点亮相应报警灯。如果配用三极管和继电器,该信号也可以驱动继电器打开或切断风机、加热器等外部设备。、硬件设计1、设计框

2、图本研究设计的温湿度控制器框图如图1所示图1温湿度控制器方框图图中STC89C52单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。当温度或湿度值超过上限值时,报警信号点亮相应报警灯。该报警信号可以通过三极管驱动继电器,以控制外部风机或加热器。继电器电路套件中不标配,如果需要请另外说明。底视图弓脚说明:Vcc 正电源Dout 输出NC 空脚GND 地温湿度传感器外型及管脚2、温湿度传感器器及检测电路aa.sonnDHIx想图2DHT11DHT1偏湿度传感器外

3、型及管脚如图2所示。其中电源引脚的供电电压为3.5-5.5V。传感器上电后,要等待1s以越过不稳定状态在此期间不要发送任何指令。电源引脚(VDDGND之间可增加一个100nF的电容,用以去耦滤波。DHT1典型应用电路如图3所示,其连接电路简单,只需要占用控制器一个I/O口即可完成上下位的连接。建议连接线长度短于20时用5Kh拉电阻,大于20米时根据实际情况使用合适的上拉电阻,5KPinMCU-1-DHT114PmGND图3DHT11典型应用电路DHT1数字湿温度传感器采用单总线数据格式,即单个数据引脚端口完成输入输出双向传输。具数据包由5Byte(40Bit)组成。一次通讯时间最大3ms,数据

4、分小数部分和整数部分。一次完整的数据传输为40bit,高位先出。数据格式如表一:表1DHT11数据格式湿度温度校髓辘数小数整致小数烟【SBil80irBBlt3、单片机电路本设计选用宏晶公司高性能单片机STC89C52其管脚如图4所示T2/P1.0T2EX/P1.1Pl.2PL3PL4Pl,5Fl,6PlJKSTRXD/F3,0IXD/FS.1INT0/F3.2IXT1/P3.3T0/P3.4T1/F3.5WR/P3.6RD/P3.7XTAL2XTALLvssvccPO.0 ADO PO.1/ADL pa 2/AD2 F6 3/AD3 FO. 4 AD4 PO. 5 AD5 FO. &

5、 56 PO.7/AD7 EA 'E FROG PSENFL 7 A15 F2.6/A14F2.5 All P2.4/A12 P2, 3/A11 P2.2/A10 P2. 1 A9 P2. C AS图4STC89C52单片机管脚图该芯片为52内核8位单片机,兼容Intel等52内核单片机,支持ISP下载,适用于常用检测控制电路。由STC89C52S成的单片机系统原理图如图5所示。图中DAT闻I脚为温湿度传感器单总线引脚,K1、K2、K&K4为四只调节按键,用以调整温湿度上限值。L3、L4、L5为三只报警灯,其中L3为超温报警,L4为超湿报警,L5保留给用户定义。不得用于商业用途

6、+57L32402 3CLjiangw'ershengwen_3-4510 3106TTH 7 gCl三金IDuFUISTCSPCHsls QJ.23.4.5E7 1J I- 1 1 n 1- 1J IB ppppppppFO.O/ADOP0.1/ADIP0.2/AD2P0.3AD3P0.4TAD4P0.5/AD5P0.6/AD6P0.7/AD7ALEJPROG剪 POOIJvlx图5单片机系统原理图4、显示电路显示部分采用SMC1602夜晶屏进行数据显示,其主要技术参数为:表2液晶屏技术指标显示容量:16X2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工

7、作电压:5.0V字符尺寸:2.95X4,35(WXH)e接口信号说明如表3所示。表3液晶屏接口信号说明铜号符号引脚说明编号符号引脚说明1VSS电源地9D2DataI/O2VDD电源”极1003DataI/O3VL液晶显示偏压信号11MDataI/O4RS数据,命令选择蛾WLI12D5DataI/O5RNt读,写选撵端(H/L)13D6DoitAl/Q6E使能信号H07DataI/O7DODataI/O15&LA背光源正极8DIDtaI/O16BLK背光源负极与单片机接口电路如图6所示。GND图6LCD与单片机接口电路5、温湿度上限存储温湿度阈值存储在EEPROM片AT24C04中,并可

8、以通过K1K4按键调节并保存,其中K1为温度上限增加,K2为温度上限减小,K3为湿度上限增加,K4为湿度上限减小。AT24C0较IIC芯片,其电路如图7所示。EEPROIH存偌器中用+5VlUkm24C01A2403 SCL2<2 SDAVcc AOWP AlSCL A2SDA Vab依ND图7EEPROM存储电路6、供电及程序下载电路本设计采用USB接口供电,电源电压5V。同时,USB接口通过内含PL2303芯片的转换电路对单片机进行程序编写。其电路原理如图8所示。图8供电及程序下载电路三、软件编程1、软件流程图本设计软件主程序流程图如图9所示。数据初始化定时器初始化显示初始化进入后台

9、while循环图9主程序流程图2、主程序下面介绍main.c主程序编写,其他程序略(1)头文件和一些宏定义#include<reg52.h>#include"1602.h”#include"dht.h"#include"2402.h”(2)管脚定义sbitLed_qushi=P1A6;去湿灯sbitLed_jiangwen=P1A5;降温灯sbitLed_shengwen=P1A4;/升温灯sbitKey_TH1=P3A2;sbitKey_TH2=P3A3;sbitKey_HH1=P3A4;sbitKey_HH2=P3A5;(3)常量、变量定

10、义定义标识volatilebitFlagStartRH=0;开始温湿度转换标志volatilebitFlagKeyPress=0;/有键按下定义温湿度传感器用外部变量externU8U8FLAG,k;externU8U8count,U8temp;externU8U8TdataH,U8TdataL,U8RHdataH,U8RHdataL,U8checkdata;externU8U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp;externU8U8checkdata_temp;externU8U8comdata;ex

11、ternU8count,count_r;U16temp;S16temperature,humidity;S16idataTH,HH;/温度上限和湿度上限char*pSave;U8keyvalue,keyTHI,keyTH2,keyHHI,keyHH2;U16RHCounter;(4)各子程序数据初始化voidData_Init()RHCounter=0;Led_qushi=1;Led_jiangwen=1;Led_shengwen=1;TH=40;HH=85;keyvalue=0;keyTHI=1;keyTH2=1;keyHH1=1;keyHH2=1;/定时器0初始化voidTimer0_In

12、it()ET0=1;允许定时器0中断TMOD=1;定时器工作方式选择TL0=0x06;TH0=0xf8;/定时器赋予初值TR0=1;启动定时器/定时器0中断voidTimer0_ISR(void)interrupt1using0TL0=0x06;TH0=0xf8;/定时器赋予初值每2秒钟启动一次温湿度转换RHCounter+;|if(RHCounter>=1000)FlagStartRH=1;RHCounter=0;存入设定值、voidSave_Setting()pSave=(char*)&TH;地址低位对应低8位,高位对应高8位wrteeprom(0,*pSave);/存温度上

13、限值TH低8位DELAY(500);pSave+;wrteeprom(1,*pSave);存温度上限值TH高8位DELAY(500);pSave=(char*)&HH;wrteeprom(2,*pSave);/存湿度上限值RH低8位DELAY(500);pSave+;wrteeprom(3,*pSave);存湿度上限值RH高8位DELAY(500);载入设定值、voidLoad_Setting()pSave=(char*)&TH;* pSave+=rdeeprom(0);* pSave=rdeeprom(1);pSave=(char*)&HH;* pSave+=rdee

14、prom(2);* pSave=rdeeprom(3);if(TH>99)|(TH<0)TH=40;if(HH>99)|(HH<0)HH=85;voidKeyProcess(uintnum)switch(num)case 1:if(TH<99)TH+;L1602_char(1,15,TH/10+48);L1602_char(1,16,TH%10+48);break;case 2:if(TH>1)TH-;L1602_char(1,15,TH/10+48);L1602_char(1,16,TH%10+48);break;case 3:if(HH<99)HH

15、+;L1602_char(2,15,HH/10+48);L1602_char(2,16,HH%10+48);break;case 4:if(HH>1)HH-;L1602_char(2,15,HH/10+48);L1602_char(2,16,HH%10+48);Save_Setting();(5)main()函数L1602_init();L1602_string(1,1,"WelcometoT&H");L1602_string(2,1,"ControlSystem!");/延时for(i=0;i<1000;i+)for(j=0;j&l

16、t;1000;j+);/清屏L1602_string(1,1,"");L1602_string(2,1,"");L1602_string(1,1,"Tem:CTH:");L1602_string(2,1,"Hum:%HH:");载入温度上限和湿度上限设定值Load_Setting();L1602_char(1,15,TH/10+48);L1602_char(1,16,TH%10+48);L1602_char(2,15,HH/10+48);L1602_char(2,16,HH%10+48);while(1)/温湿度转

17、换标志检查if(FlagStartRH=1)TR0=0;testnum=RH();FlagStartRH=0;TR0=1;读出温湿度,只取整数部分humidity=U8RH_data_H;temperature=U8T_data_H;显示温湿度L1602_int(1,5,temperature);L1602_int(2,5,humidity);/温湿度控制if(temperature>TH)Led_jiangwen=0;elseLed_jiangwen=1;降温if(humidity>HH)Led_qushi=0;elseLed_qushi=1;去湿/键盘查询,在弹起时响应if(K

18、ey_TH1)&&(keyTH1=0)FlagKeyPress=1;keyvalue=1;elseif(Key_TH2)&&(keyTH2=0)FlagKeyPress=1;keyvalue=2;elseif(Key_HH1)&&(keyHH1=0)FlagKeyPress=1;keyvalue=3;elseif(Key_HH2)&&(keyHH2=0)FlagKeyPress=1;keyvalue=4;if(FlagKeyPress=1)KeyProcess(keyvalue);FlagKeyPress=0;if(!Key_TH

19、1)keyTH1=0;elsekeyTH1=1;if(!Key_TH2)keyTH2=0;elsekeyTH2=1;if(!Key_HH1)keyHH1=0;elsekeyHH1=1;if(!Key_HH2)keyHH2=0;elsekeyHH2=1;四、下载与调试提供例程在uVision4环境下编译,如果是其他版本uVision,只需将所有.c和.h文件拷贝至新建项目,重新编译即可。当编译生成.hex文件后,就可以下载并进行调试了。1、USB转用口驱动安装打开USB驱动文件夹下的PL2303_Prolific_DriverInstaller_v130.exe安装文件,按提示安装USB转用口驱

20、动程序。安装完成后,插入USB下载线后,在开始-控制面板-打印机和其他硬件-设备管理器,在“端口”分支下有(ProlificUSB-to-SerialCommPort(COMX)。X表示用口号,如果没有说明USB转用口驱动没有安装,须重新安装。记住括号里的COM口号。图10成功安装USB转出口驱动示意图2、下载程序打开STC单片机下载软件文件夹,点击运行STC_ISP_V481.exe程序,出现如下界面。mwrrTrrn“电葡,步舞1: Etl“t HO rypt遑撑单片机型号ncu 1打可STC3K5EH:AF Ncmory区皿匚史1FFP勒依,出薇1 0即口 Pill / FT开直:件Ct

21、件范质1内*用区磁001 起始tftHg】校赛和$“宿,步珠.1i cam r-njw选择率行口cai. com :星商波恬军诘宜成捐商髭喻特率瞋集最苍谢军=丹低过后率康岁W率Z4AD 二240 口 二更JT程的ff件EupCifSfq-谀君本暗和右下方-it®-中的潘理Inbli仲*d /点厝建-厂内牌倍速亩IZTfJt格逋要塔琅大能增益.r L/2 E*a常Enll中嘀低功耗,LaiJk以下版诿集通侍可选1/Z转in下次冷后域灯O/FJ. L串舟下M共广籽子口,时可下叠.快速后动程序变件|_ I用口助手工程如. Freerm idle: 电力CO 0 02 03 04aDOODO

22、do oa oa oo aaOOODLOCO DO CO DO OD002000 00 00 M Oft000030CO DO 00 00 OD口 DOO 40CO DO oa OO ODQM50W DO DO CO OD0CO36Octi 00 00 00 00M70CO OQ DO 00 00a (Ba soDO IDQ oa 00 OD0W190CO CO DO 00 ODgoo MlDO 00 00 M 04QCCliDBOCO QO IM Q( DDoramCO DO DO 00 OD0003 DOre w do cw os0000EO00 CO 00 00 00QDDoroDO 0

23、0 B W 即ocoimW ffl DCI 00 ODOCOILOco oo oa oo od05 06 DT OS M 0A OB OC 丽(ME ®ssssssss ND口。町ID町口町10町a町町町。町町10 0 0 0-0 0 000 0 000-0 00-0 0 口口口QDho口町0口。町D口口口町口 n-OOQn-Qofln-QOQn-n-ooon- DOOOOOOOOOOO-000000 DOOQOOOQOOOGOOOQ-OO ODooooooalmMalODooMDOOQMoowalOD mrowmmwMmmroMmmrarommm mrowmmwmmmrammmra

24、mmmro DOoowmDOwmRDODOttlRDQKIEooRDO roDOwDQDODDwDQroDO帕呼DDDODOwDOro 口口口口。口口肛口口QQngQQQU 000000000000000000 口口 gclDni口曲 DDOnDIDao 仲。 00-00000000 oooooooo内部SJRMB-FM广禁止访向市在许访问更列畦荐1下汶,F就用户座用程序时祐羽抵Fluh区并奔除r TE£ > VQ此印 自定义下强I此扒下:爱检野nilM 目布电量|工叮BEWC *51电卢黄步1骡5. Dcvnlokd/nFIwnioid/TK先点下触钿硼E上电复位-冷层动再次

25、下簟前重腑周人已打开在费,卷的文怦方便周试使用 一省目掘代码炭生35北后自动调入女伴.,并交ER发送下或命令圈Y鸵S就可以下餐年制用户应用隹序式单片书内就即 国月座序区了 .加果单片机任EM工作时H.W&D外强勤是K5-4B5/rt0Ji+»TB5 %u |诘美注vwir.sraicir同玷,及时升级用尸软件£动内季后门内后只百停电美右门沟右里位美后门阳以下功能对都行单片凯有效ALZ mil广 用性F4 5 但 仍为ALE jam¥茹成功声音提示.TBS r M3重复下船闰隔时间恻。F三I图11下载软件正确选择MCU类型,COM口(与刚才安装的COM号一致),最高波特率和最低波特率都选2400bps或者1200bps(下载线内PL2303芯片所限,没办法!),并打开正确的.hex数据文件。点击“Download/下载”按纽,窗口出现提示:Chinese:正在尝试与MCU/单片机握手连接Connectionisfailure.Youcantry:I.GiveyourMCUPowerOnRe

温馨提示

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

评论

0/150

提交评论