基于单片机的温湿度控制系统.doc_第1页
基于单片机的温湿度控制系统.doc_第2页
基于单片机的温湿度控制系统.doc_第3页
基于单片机的温湿度控制系统.doc_第4页
基于单片机的温湿度控制系统.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

I 目 录 目目 录录 IV 第 1 章 绪 论 1 1 1 课题研究的背景 1 1 2 课题研究的意义 1 1 3 课题研究的主要内容 2 1 4 课题研究的工作原理 2 第 2 章 系统总体方案设计 3 2 1 功能要求 3 2 2 设计思路 3 2 3 方案选择 3 2 3 1 传感器选择方案 3 2 3 2 显示器选择方案 4 2 3 3 单片机主芯片选择方案 4 2 4 总体设计框图 5 第 3 章 系统硬件设计 7 3 1 概述 7 3 2 主控模块设计 7 3 2 1 STC89C52 芯片的简介 7 3 2 2 主控模块电路原理图 9 第 4 章 系统软件设计 10 4 1 1602 液晶显示模块设计 12 4 2 传感器模块设计 14 第 5 章 系统分析与调试 16 第 6 章 结论与展望 18 致 谢 20 附 录 21 附录 C 程序清单 21 1 第 1 章 绪 论 1 1 课题研究的背景 温度 湿度和人类的生产 生活有着密切的关系 同时也是工业生产中最常见 最基本的工艺参数 例如机械 电子 石油 化工等各类工业中广泛需要对温度湿 度的检测与控制 并且随着人们生活水平的提高 人们对自己的生存环境越来越关 注 而空气中温湿度的变化与人体的舒适度和情绪都有直接的影响 所以对温度湿 度的检测及控制就非常有必要了 随着科技的飞速发展和普及 高性能设备越来越多 各行各业对温湿度的要求 也越来越高 传统的温湿度检测模式是以人为基础 依靠人工轮流值班 人工巡回 查看等方式来测量和记录环境状况信息 在这种模式下 不仅效率低不利于人才资 源的充分利用 而且缺乏科学性 许多重大事故都是由人为因素造成的 人工维护 缺乏完整的管理系统 而问世监控系统就可以解决这样人才资源浪费 管理不及时 的问题 这是由于它的智能化设计所决定的 故本次设计对于类似项目还具有普遍 意义 1 2 课题研究的意义 8051 单片机是常用于控制的芯片 在智能仪器仪表 工业检测控制 机电一体 化等方面取得了令人瞩目的成果 用其作为温湿度控制系统的实力也很多 使用 8051 单片机能够实现温湿度全程的自动控制 而且 8051 单片机易于学习掌握 性 价比高 使用 8051 型单片机设计温湿度控制系统 可以即时精确的反应温室内的温度以 及适度的变化 完成诸如升温到特定的温度 降温到特定的温度 在温度上下限范 围内保持恒温等多种控制方式 在湿度控制方面也是如此 将此系统应用到温室当 中无疑为植被生长提供了更加适宜的环境 对于大棚种植和花圃 花卉栽培 必须 在某些特定环境安装温湿度装置对其进行监控 本系统可以及时 精确的反映室内 的温度以及湿度的变化 能够满足温湿度的控制要求 2 1 3 课题研究的主要内容 本系统所要完成的任务是 1 3 1 人性化的设计 界限温度值及湿度值能够由用户根据不同植被的各种生 长需求由键盘输入并通过显示器显示 1 3 2 能够实时 准确的显示采样温度值与湿度值 1 3 3 通过采集温度及湿度值 准确的判断标准值与当前值之间的差异 及时 的启动报警装置 警报提示音提示音 进行报警 并采取相应的方案 1 3 4 能够根据环境在不同时间段内对温湿度的不同要求 用户可随机人为的 更改温度及湿度值 以满足用户不同的需求 1 4 课题研究的工作原理 该电路的最关键部分是关于温度和湿度的采集以及检测 显示 主控电路芯片 采用学校统一制作的 STC89C52 单片机学习板 STC 单片机执行指令的速度很快 对 工作环境的要求比较低 传感器模块我选择了 DHT11 数字温湿度传感器 告别了以 前的单独测量温度以及湿度的方式 更简洁 更方便 连接好外围电路 通过 DHT11 准确的检测出当前环境下的温湿度 并且将所测数据交给 STC 单片机进行分 析和处理 再将所得数据有单片机发送给 HJ1602A 液晶屏 成功完成显示 控制模 块采用蜂鸣器报警方式 预先设置好所需温度和湿度的限值 一个上限一个下限 将蜂鸣器接入电路 通过温度和湿度的上下限值控制蜂鸣器的报警 若逾越限值 实现蜂鸣器鸣响 但是需要注意的是温度超标和湿度超标需设置两种不同的鸣响方 式 用来加以区别 温度越限以及湿度越限蜂鸣器的领翔方式必须不一样 提醒工 作人员此时温度湿度数据出现异常 需及时调整 及时启用升温器 加湿器 降温 风扇以及喷雾器来有效的调整实验室内温湿度 从而简单实现了控制 总体来说 本次设计主要涉及了温湿度的测量以及实现简单控制 硬件方面有四个模块 即传 感器模块 STC80C52 单片机主控模块 LCD1602 液晶显示模块以及报警模块 从硬 件制作方面 也相对简便 原理清晰 连线方便 不需要额外的焊接等技术 给硬 件的制作带来了极大的便捷 3 参考文献 1 陈明荧 8051 单片机课程设计实训教材 M 北京 清华大学出版社 2003 2 徐新艳 单片机原理 应用与实践 M 北京 高等教育出版社 2005 3 吴金戌 沈庆阳 郭庭吉 8051 单片机实践与应用 M 北京 清华大学出版社 2002 4 王千 实用电子电路大全 M 电子工业出版社 2001 5 冯博琴 微型计算机原理与接口技术 M 北京 清华大学出版社 2004 6 张毅刚 MCS 51 单片机应用设计 M 哈尔滨工业大学出版社 2004 7 张淑清 姜万录等 单片微型计算机接口技术及应用 M 国防工业出版社 2003 8 吴金戌 沈庆阳 郭庭吉 8051 单片机实践与应用 M 北京 清华大学出版社 2001 9 冯博琴 微型计算机原理与接口技术 M 清华大学出版社 2004 10 张毅刚 MCS 51 单片机应用设计 M 哈尔滨工业大学出版社 2004 11 赵亮 侯国锐 单片机 C 语言编程与实例 M 北京 人民邮电出版社 2003 12 王振红 李洋 郝承祥 ISD4004 语音芯片的工作原理及其在智能控制系统中的应用 J 电子器件 2002 年 3 月第 25 卷第 1 期 13 R L Geiger P E Allen N R Strader VLSI Design Techniques for Analog And Digitial Ciruits McGraw Hill Inc 1990 14 ANALOG DEVICES The technology of AT89C51 EB OL White Paper Spe 28 2000 4 附 录 附录 C 程序清单 单片机 STC89C52RC 功能 串口发送温湿度数据 晶振 11 0592M 波特率 9600 硬件连接 P2 0 口为通讯口连接 DHT11 DHT11 的电源和地连接单片机的电源和 地 单片机串口加 MAX232 连接电脑 include include include typedef unsigned char U8 defined for unsigned 8 bits integer variable 无 符号 8 位整型变量 typedef unsigned int U16 defined for unsigned 16 bits integer variable 无 符号 16 位整型变量 define lcd H include define HIGH 1 define LOW 0 define TRUE 1 define FALSE 0 define ZERO 0 define MSB 0 x80 define LSB 0 x01 液晶屏部分 5 define LINE1 0 define LINE2 1 define LINE1 HEAD 0 x80 define LINE2 HEAD 0 xC0 define DATA MODE 0 x38 define OPEN SCREEN 0 x0C define DISPLAY ADDRESS 0 x80 define CLEARSCREEN LCD en com 0 x01 define LCDIO P1 sbit LCD1602 RS P2 4 定义端口 sbit LCD1602 RW P2 3 sbit LCD1602 EN P2 2 IO 口定义区 sbit P2 0 P2 0 sbit SPK P0 7 int t1 t2 ss 定义区 U8 U8FLAG U8 U8count U8temp U8 U8T data H U8T data L U8RH data H U8RH data L U8checkdata U8 U8T data H temp U8T data L temp U8RH data H temp U8RH data L temp U8chec kdata temp U8 U8comdata unsigned char str1 s h i d u unsigned char str2 w e n d u LCD init 6 void Delay U16 j U8 i for j 0 j for i 0 i 27 i void Delay 10us void U8 i i i i i i i void COM void U8 i for i 0 i 8 i U8FLAG 2 while P2 0 Delay 10us Delay 10us 7 Delay 10us U8temp 0 if P2 0 U8temp 1 U8FLAG 2 while P2 0 超时则跳出 for 循环 if U8FLAG 1 break 判断数据位是 0 还是 1 如果高电平高过预定 0 高电平值则数据位为 1 U8comdata 1 U8comdata U8temp 0 rof void LCD Read BF void unsigned char read 0 LCD1602 RS LOW LCD1602 RW HIGH LCD1602 EN HIGH LCDIO 0XFF read LCDIO void LCD en com unsigned char command 写指令 LCD Read BF LCD1602 RS LOW LCD1602 RW LOW LCD1602 EN HIGH LCDIO command 8 LCD1602 EN LOW void LCD en dat unsigned char dat 写数据 LCD Read BF LCD1602 RS HIGH LCD1602 RW LOW LCD1602 EN HIGH LCDIO dat LCD1602 EN LOW void LCD set xy unsigned char x unsigned char y 写入地址函数 unsigned char address if y LINE1 address LINE1 HEAD x else address LINE2 HEAD x LCD en com address void LCD write char unsigned char x unsigned char y unsigned char dat 写入字符函数 LCD set xy x y LCD en dat dat void LCD write string unsigned char x unsigned char y unsigned char s 写入字符串函 数 LCD set xy x y while s 9 LCDIO s LCD en dat s s void LCD Init void 初始化函数 LCD en com 0 x38 显示模式设置 Delay 5 LCD en com 0 x38 Delay 5 LCD en com 0 x38 Delay 5 LCD en com 0 x38 LCD en com 0 x08 显示关闭 LCD en com 0 x01 显示清屏 LCD en com 0 x06 显示光标移动设置 Delay 5 LCD en com 0 x0C 显示开及光标设置 湿度读取子程序 以下变量均为全局变量 温度高 8 位 U8T data H 温度低 8 位 U8T data L 10 湿度高 8 位 U8RH data H 湿度低 8 位 U8RH data L 校验 8 位 U8checkdata 调用相关子程序如下 Delay Delay 10us COM void RH void 主机拉低 18ms P2 0 0 Delay 180 P2 0 1 总线由上拉电阻拉高 主机延时 20us Delay 10us Delay 10us Delay 10us Delay 10us 主机设为输入 判断从机响应信号 P2 0 1 判断从机是否有低电平响应信号 如不响应则跳出 响应则向下运行 if P2 0 T U8FLAG 2 判断从机是否发出 80us 的低电平响应信号是否结束 while P2 0 U8FLAG 2 判断从机是否发出 80us 的高电平 如发出则进入数据接收状态 while P2 0 数据接收状态 COM U8RH data H temp U8comdata COM 11 U8RH data L temp U8comdata COM U8T data H temp U8comdata COM U8T data L temp U8comdata COM U8checkdata temp U8comdata P2 0 1 数据校验 U8temp U8T data H temp U8T data L temp U8RH data H temp U8RH data L t emp if U8temp U8checkdata temp U8RH data H U8RH data H temp U8RH data L U8RH data L temp U8T data H U8T data H temp U8T data L U8T data L temp U8checkdata U8checkdata temp 湿度整数部分 str1 6 char 0X30 U8RH data H 10 str1 7 char 0X30 U8RH data H 10 湿度小数部分 str1 9 char 0X30 U8RH data L 10 温度整数部分 str2 6 char 0X30 U8T data H 10 str2 7 char 0X30 U8T data H 10 温度小数部分 str2 9 char 0X30 U8T data L 10 t1 int 0X30 U8T data H 10 t2 int 0X30 U8T data H 10 12 ss t1 10 t2 void xianshi void LCD write char 0 x00 0 s LCD write char 0 x01 0 h LCD write char

温馨提示

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

最新文档

评论

0/150

提交评论