基于单片机的温湿度设计_第1页
基于单片机的温湿度设计_第2页
基于单片机的温湿度设计_第3页
基于单片机的温湿度设计_第4页
基于单片机的温湿度设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

河南大学物理与电子学院 2015 级单片机课程设计论文 基于单片机的温湿度设计基于单片机的温湿度设计 论 文 作 者: 论文 合 作者: 所 在 学 院: 所 学 专 业: 指导教师姓名: 论文完成时间: 目录 前言.1 第一章 系统硬件设计.1 1.1 整体方案设计1 1.1.1 系统概述1 1.1.2 系统框图1 1.2 最小系统模块2 1.2.1 STC89C52 简介2 1.2.2 最小系统电路2 1.3 DHT11 传感器电路.3 1.3.1 DHT11 简介 .3 1.3.2 接口说明4 1.3.3 DHT11 模块电路图 .4 1.4 液晶显示电路4 1.4.1 1602 液晶简介4 1.4.2 液晶引脚说明5 1.4.3 液晶显示模块电路5 1.5 蜂鸣器模块6 1.6 按键输入模块6 1.7 LED 显示电路7 第二章 系统原理.7 2.1 系统原理图7 2.2 系统仿真图8 2.3 PCB 图 .8 第三章 程序设计.9 3.1 总体程序流程图设计 .9 3.2 主程序代码.10 第四章 系统制作及调试.11 4.1 元件的焊接与组装11 4.2.1 通电前检查 4.2.2 基础功能显示.11 4.2.3 扩展功能调试.12 第五章 元件清单.13 第六章 总结.14 1 前言前言 温湿度的测量应用范围是很广的,对温湿度测量系统的研究也具有深远意义,本课 题针对国内外对温湿度测量系统的研究与发展状况,分析了目前温湿度测量系统存在 的主要问题,设计了一种基于单片机的温湿度测量系统,对某些有着特殊要求温度和 湿度的场合实现长期、稳定、实时、自动的监测。本设计主要由硬件电路和软件电路 两部分组成,系统通过温湿度检测电路,把采集到的信号传给单片机,通过单片机来 处理采集到的信号并通过 LCD 显示出来,如果温湿度过高或过低,报警电路会自动报 警。本设计以 STC89C52 单片机为核心,采用 DHT11 集成温湿度传感器,实现一种智能、 快捷、方便的温湿度测量系统。整个系统由温湿度检测电路、LCD 显示电路、键盘电路、 报警电路和单片机等组成。设计的系统结构简单紧凑,功耗较低,抗干扰能力强、总 体性能比较好,符合了智能仪器仪表小型化的潮流,为今后开发高性能和商品化的温 湿度测量仪器奠定了良好的基础。 第一章第一章 系统硬件设计系统硬件设计 1.1 整体方案设计整体方案设计 1.1.1 系统概述系统概述 整个系统以 STC89C52 单片机为核心器件,配合电阻电容晶振等器件,构成单片机 的最小系统。其它个模块围绕着单片机最小系统展开。其中包括,传感器输采用 DHT11 温湿度一体的传感器,负责采集温度和湿度的数据后发给单片机;按键部分使用市面 上常见的轻触按键作为系统的输入设置模块;显示设备为 1602 液晶;报警则采用蜂鸣 器+LED 的形式;电源供电则采用 USB 5V 供电。 1.1.2 系统框图系统框图 图 1-1 系统框图 单片机 最小系统 DHT11 温湿度 一体传感器 1602 液晶显示 按键设置输入 蜂鸣器 LED 指示灯 2 1.2 最小系统模块最小系统模块 1.2.1 STC89C52 简介简介 (1)概述 STC89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复 擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM),器件 采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统, 片内置通用 8 位中央处理器和 Flash 存储单元,功能强大的 STC89C52 单片机可为 您提供许多较复杂系统控制应用场合。 STC89C52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个 外中断口,3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线。 STC89C52 有 PDIP、PQFP/TQFP 及 PLCC 等三种封装形式,以适应不同产品的需求。 (2)8051 单片机的引脚功能 MCS-51 系列单片机一般采用 40 个引脚,双列直插式封装,用 HMOS 工艺制造, 其外部引脚排列如图 1-2 所示。 图 1-2 STC89C52 引脚图 1.2.2 最小系统电路最小系统电路 STC89C52 的最小系统如图 1-3 所示,整个最小系统由三个部分组成,晶振电路部 分、复位电路部分、电源电路等三个部分组成。 晶振电路包括 2 个 30pF 的电容 C2 和 C3,以及 12M 的晶振 X1。电容的作用在这里 是起振作用,帮助晶振更容易的起振,取值范围是 15-33pF。晶振的取值也可以是 24M,晶振的取值越高,单片机的执行速度越快。 复位电路由 10uF 的极性电容 C1 和 10K 的电阻 R5 构成。利用电容电压不能突变的 性质,可以知道,当系统一上电,RESET 脚将会出现高电平,并且这个高电平持续的时间 由电路的 RC 值来决定。 最后一个是电源部分,采用 5V 的 USB 直接供电,可采用手机充电器、电脑 USB 口、 3 移动电源等设备进行供电。 1.3 DHT11 传感器电路传感器电路 1.3.1 DHT11 简介简介 (1 1)DHT11DHT11 产品概述产品概述 DHT11(图 1-4)数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合 传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可 靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个 NTC 测温元件,并 与一个高性能 8 位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力 强、性价比极高等优点。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据 用户需求而提供。 4 图 1-4 1.3.2 接口说明接口说明 (1)接口说明 建议连接线长度短于 20 米时用 5K 上拉电阻,大于 20 米时根据实际情况使用合适的 上拉电阻。 图 1-5 DHT11 典型连接图 (2)引脚说明 Pin1:(VDD),电源引脚,供电电压为 3-5.5V。 Pin2:(DATA),串行数据,单总线。 Pin3:(NC),空脚,请悬浮。 Pin4(VDD),接地端,电源负极。 5 1.3.3 DHT11 模块电路图模块电路图 DHT11 的模块电路图如下图所示: 1.4 液晶显示电路液晶显示电路 1.4.1 1602 液晶简介液晶简介 液晶显示器是一种显示器件,具有小体积、轻重量、低功耗等特色。由于其功耗低、 显示的信息量大(例如,文本,图形,曲线等)、无电磁辐射、使用寿命长,它已被 广泛应用在便携式电子产品。 本系统显示采用了工业字符型液晶模块 1602,可显示 2 行 16 个字符,能方便显示 英文字母大小写、阿拉伯数字、常用符号等。通过自定义还可显示简单的汉字。 1.4.2 液晶引脚说明液晶引脚说明 1602 的引脚如表 1-1 所示: 表 1-1 1602 液晶引脚说明 编号符号引脚说明编号符号引脚说明 1VSS 电源地 9D2 数据 2VDD 电源正极 10D3 数据 3VL 液晶显示偏压 11D4 数据 4RS 数据/命令选择 12D5 数据 5R/W 读/写选择 13D6 数据 6E 使能信号 14D7 数据 7D0 数据 15BLA 背光源正极 8D1 数据 16BLK 背光源负极 1.4.3 液晶显示模块电路液晶显示模块电路 本液晶模块的电路的连接图如图 1-7 所示,第 1 脚和第 2 脚分别接到了电路的 GND 和 VCC,这 2 个脚是液晶工作的电源输入脚。第 3 脚通过一个 10K 的电位器连接到地端, 6 Q1 8550 GND VCC BEEP1 BEEP 可通过调节该电位器来调节液晶的对比度。第 4 脚是液晶的寄存器控制脚,接到了单 片机的 P12 脚上。第 5 脚是液晶的读写控制脚,接到了单片机的 P13 脚上。第 6 脚是 液晶的使能脚,接到了单片机的 P14 脚上。第 7 脚到第 14 脚是液晶的数据/地址 8 位 总线,接到了单片机的 P0 口上。最后第 15 脚和第 16 脚是液晶的背光电源脚,直接连 接系统 VCC 和 GND。 1.5 蜂鸣器模块蜂鸣器模块 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。由于蜂鸣器工作时,需要 的电流比较大,单片机的 IO 口输出的电流又比较小,所以这里利用三极管的开关管功 能来控制蜂鸣器发音,本设计选用的三极管型号是 PNP 三极管 S8550,而且本设计选 用的蜂鸣器属于有源蜂鸣器,即在蜂鸣器内部已经内置了震荡电路,单片机无需连续 发出高低电平来驱动它,而只要输出高(或低)电平即可,这大大简化了单片机程序 的设计。由于选用的是 PNP 型而单片机上电 IO 口默认是高电平的,所以上电时蜂鸣 器是不会发出鸣叫的。蜂鸣器电路如图 1-8 所示。 7 K1 K2 K3 GND KEY2 KEY3 KEY1 D1 GREEN R3 1k VCC D2 RED R4 1k D3 GREEN R6 1k D4 RED R7 1k LED1 LED2 LED3 LED4 图 1-8 蜂鸣器电路 1.6 按键输入模块按键输入模块 本设计中由于采用的按键数量较少,只有 3 个按键,分别是“设置”、“减”、 “加”,故采用了独立键盘的方式。按键的连接图 1-9 所示: 图 1-9 按键电路 1.7 LED 显示电路显示电路 本设计中采用了 4 颗 LED 灯,2 颗红色和 2 颗绿色,红色代表过高,绿色代表过低, 其电路连接如图 1-10 所示: 图 1-10 LED 电路 第第 2 章章 系统原理系统原理 2.1 系统原理图系统原理图 8 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RESET 9 P30/RXD 10 P31/TXD 11 P32/INT0 12 P33/INT1 13 P34/T0 14 P35/T1 15 P36/WR 16 P37/RD 17 XTAL2 18 XTAL1 19 GND 20 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE 30 EA 31 P07 32 P06 33 P05 34 P04 35 P03 36 P02 37 P01 38 P00 39 VCC 40 U2 12 X1 12M C2 30pF C3 30pF GND GND VCC VCC 1 2 3 4 5 6 7 8 9 R8103 C1 10uF R5 10K GND VCC R1 103 K1 K2 K3 GND D1 GREEN R3 1k VCC Q1 8550 GNDVCC VCC 1 IO 2 NC 3 GND 4 U1DHT11 R2 4.7K GND VCC BEEP1 J1power 1 2 34 5 6 SW1 D2 RED R4 1k D3 GREEN R6 1k D4 RED R7 1k VSS 1 VCC 2 VO 3 RS 4 RW 5 EN 6 D0 7 D1 8 D2 9 D3 10 D4 11 D5 12 D6 13 D7 14 A 15 K 16 LCD 1602 LCD1 1602 C4 220uF GND GND VCC GND 2.2 系统仿真图系统仿真图 9 2.3 PCB 图图 第三章第三章 程序设计程序设计 3.1 总体程序流程图设计总体程序流程图设计 开始 液晶初始化 报警值初始化 读取 DHT11 数据 显示测量结果 10 图 3-1 总体程序流程图 3.2 主程序代码主程序代码 / 主函数 void main() uchar i; LcdInit();/ 液晶功能的初始化 LcdShowInit(); / 液晶显示的初始化 AlarmTL=EEPROM_Read(0x2000);/ 从 EEPROM 的 0x2000 这个地址读取温度的报警下限 AlarmTH=EEPROM_Read(0x2001);/ 从 EEPROM 的 0x2001 这个地址读取温度的报警上限 AlarmHL=EEPROM_Read(0x2002);/ 从 EEPROM 的 0x2002 这个地址读取湿度的报警下限 AlarmHH=EEPROM_Read(0x2003);/ 从 EEPROM 的 0x2003 这个地址读取湿度的报警上限 if(AlarmTL=0)|(AlarmTL100)/ 如果温度下限报警值读出来异常(等于 0 或大于 100), 则重新赋值 AlarmTL=20; if(AlarmTH=0)|(AlarmTH100)/ 如果温度上限报警值读出来异常(等于 0 或大于 100), 则重新赋值 AlarmTH=35; 按键被 按下? 是 否 温湿度 超限? 声光报警 进入温湿度报 警范围设置 是 否 延时 结束 11 if(AlarmHL=0)|(AlarmHL100)/ 如果温度下限报警值读出来异常(等于 0 或大于 100), 则重新赋值 AlarmHL=40; if(AlarmHH=0)|(AlarmHH100)/ 如果温度上限报警值读出来异常(等于 0 或大于 100), 则重新赋值 AlarmHH=85; while(1) ReadDhtData(); / 检测温湿度数据 LcdGotoXY(1,2); / 定位到要显示温度的地方 LcdPrintNum(temp);/ 显示温度值 LcdGotoXY(1,11);/ 定位到要显示湿度的地方 LcdPrintNum(humi);/ 显示湿度值 AlarmJudge();/ 判断并根据需要报警 for(i=0;i25;i+) KeyScanf();/ 按键扫描 DelayMs(20);/ 延时 第四章第四章 系统制作及调试系统制作及调试 4.1 元件的焊接与组装元件的焊接与组装 (1)所有元器件在组装前应尽可能全部测试一遍,以保证所用元器件均合格。 (2)所有集成电路的组装方向要保持一致,以便于正确进行焊接合理安排布线。 (3)分立元件时应仔细辨明器件的正反向,标志应处于比较容易观察的位置方便检 查和调试。对于有正负极性的元件,例如电解电容器、晶体二极管等,组装时一定要 特别注意极性,否则将会造成实验失败。 (4) 在实际焊接中连线需要尽量做到排版简洁连线方便。连线不跨接集成电路芯片 上,必须从其周围通过。同时应尽可能做到连线不相互穿插重叠、尽量不从电路中元 器件上方通过。 (5)为使电路能够正常工作与调测,所有地线必须连接在一起,形成一个公共参考 点。 4.2 电电路的功能测试路的功能测试 12 4.2.1 通电前检查通电前检查 4.2.2 基础功能显示基础功能显示 4.2.3 扩展功能调试扩展功能调试 温湿度过低报警显示,此时两绿灯亮 温湿度过高报警显示,此时两红灯亮 13 第五章元件清单第五章元件清单 STC89C521 片 单片机座子1 个 12M 晶振1 个 30pF 独石电容2 个 电解电容 10uF1 个 电解电容 220uF1 个 电阻 1K4 个 电阻 4.7K1 个 电阻 10K1 个 排阻 10K1 片 轻触开关3 个 1602 液晶1 个 1602 液晶座子1 个 10K 电位器1 个 DHT11 传感器1 个 DHT11 座子1 个 有源蜂鸣器1 个 S8550(PNP)三极管1 个 绿色 led 灯2 个 红色 led 灯2 个 电源开关1 个 DC3.5 电源座1 个 7*9 洞洞板1 张 电源线1 根 14 第第 6 章章 总结总结 经过三个多月的努力,本次毕业设计的任务基于单片机的温湿度设计已经完 成。这个设计题目并不是新的,但从中能体现到一个系统开发设计的过程,足于让我 们受益。能够从设计、论证、制板、编程到最终的调试成功。完

温馨提示

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

评论

0/150

提交评论