Proteus仿真下的SHT11温度湿度监控系统设计_第1页
Proteus仿真下的SHT11温度湿度监控系统设计_第2页
Proteus仿真下的SHT11温度湿度监控系统设计_第3页
Proteus仿真下的SHT11温度湿度监控系统设计_第4页
Proteus仿真下的SHT11温度湿度监控系统设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

上海交通大学 温度湿度监控系统仿真设计 研究报告 设计题目: 基于 SHT11 的温度湿度监控系统 Proteus 仿真设计 学 院: 电子信息与电气工程学院 姓 名: 2019 年 5 月 24 日 设设 计计 任任 务务 书书 题题 目目 基于 SHT11 的温度湿度监控系统 Proteus 仿真设计 一、设计的目的一、设计的目的 1.将理论知识运用于实践当中,掌握模拟电路设计的基本方法、基本步骤以 及基本要求。在实践中了解电子器件的功能与作用。 2.学会温湿度监测系统的设计方法,完成要求的性能和指标 3.锻炼、提高在电子设计中发现问题、分析问题、解决问题的能力。 二、设计的内容及要求二、设计的内容及要求 1.设计一套基于 51 单片机的温湿度 Proteus 仿真监控系统; 2.采用高精度 SHT11 温湿度传感器模块; 3.LCD 液晶实时显示当前环境温度、湿度值; 4.设计报警单元,实现系统对超限温湿度监控报警; 5.设计输入单元,可对系统正常温湿度范围进行调节; 6.仿真系统能够可靠、稳定地运行; 三、指导教师评语 四、成四、成 绩绩 指导教师指导教师 (签章签章) 年年 月月 日日 摘 要 在日常生活中,温度、湿度是两种最基本的环境参数,是与人类的生活、 工作关系最密切的物理量,也是各门学科与工程研究设计中经常遇到的,必须 精确测量和不可忽略的物理量。从工业炉温、环境气温到人体温度,从空间、 海洋到家用电器,每个技术领域都离不开温度、湿度的测量与监控。 SHT11 是基于 CMOSens 技术的新型智能温湿度传感器,它将温度湿度传感 器、信号放大调理、A/D 转换、二线串行接口全部集成于一个芯片内,融合了 CMOS 芯片技术与传感器技术,使传感器具有品质卓越、超快响应、抗干扰能力 强、性价比极高等特点。 温湿度监控系统的软件部分是以Keil为开发平台,C语言为软件系统的开发 语言,同时采用模块化编程。具体分为以下几个部分:主控制、温湿度采集程序、 温湿度数据处理程序、LCD显示程序、按键设置程序和LED,蜂鸣器报警程序。 系统通过 SHT11 温湿度传感器感应周围的环境的温度和湿度,通过单片机 对采集到的数据进行读取处理,经过 LCD1602 显示模块实时显示温湿度数据, 同时可以通过按键模块对温湿度报警上、下限值进行设定。当 SHT11 读取的温 湿度值不再设定范围内时,报警模块 LED 灯指示故障信息,同时蜂鸣器报警; 当温湿度读取数据正常后,LED 灯熄灭,蜂鸣器关闭。 关键词: 51 单片机;SHT11 传感器;温湿度监控;Keil;C 语言 目目 录录 1. 系统概述 .6 1.1 课题研究意义.6 1.2 课题研究主要内容.6 2. 系统总体设计 .7 3. 硬件设计 .8 3.1 单片机最小系统.8 3.1.1AT89C51 介绍 .8 3.1.2 晶振电路 .10 3.1.3 复位电路 .10 3.1.4 上拉排阻电路 .11 3.2 SHT11 温湿度传感器 .11 3.3 LCD1602 液晶显示模块 .14 3.4 按键模块.16 3.5 报警模块.17 3.5.1 蜂鸣器报警模块.17 3.5.2LED 报警模块 .18 4. 软件设计 .19 4.1 软件开发平台.19 4.2 主程序设计.20 4.3 SHT11 程序设计 .21 4.4 LCD1602 程序设计 .21 4.5 报警模块程序设计.22 4.6 软件抗干扰措施.23 5. 仿真与测试 .23 5.1 仿真设计平台.23 5.2 仿真结果分析.23 6. 总结 .24 7. 致谢 .26 1.系统概述 1.1 课题研究意义 在现代工业生产过程中,温度、湿度对于生产来说是最主要的参数,它们 是关乎产品质量和产品效率的物理量,在工程研究与各个领域也是极其重要, 必须精确测量和不可忽略的物理量。自古以来,无论是工业的温度湿度、自然 环境的温湿度,还是人体温度;从航天学、航海学到农业学,每个技术领域都 离不开温度和湿度的检测与控制。 工业生产中,当温湿度度测量不准确,很可能导致产品的失败,阻碍工业 的发展,在家庭生活发面,但温湿度监控不准确,很可能导致家庭电器的正常 运行,不能达到预想的工作效果,在设备比较密集的核心地带,如果温湿度控 制不精确,很有可能导致设备故障的发生。因此,温湿度监控系统的研究对我 们人类生活具有重要的意义。 1.2 课题研究主要内容 本设计包括硬件部分和软件部分设计。本设计的硬件是以51系列单片机为 核心、SHT11传感器为采集模块、LCD1602为显示显示模块、按键输入模块和报 警模块共同构建的温湿度监测系统。包括单片机最小系统模块设计、传感器采 集模块设计、液晶显示模块设计、按键模块设计和报警模块设计部分。系统软 件则是基于Keil开发平台,以C语言为开发语言进行,采用模块化编程,构建温 湿度监控系统从数据采集、处理、显示、外围输入和故障动作等整个过程。 2.系统总体设计 本课题设计的仓库温湿度监测系统主要是利用 AT89C51 单片机最小系统为 核心,包括晶振电路、复位电路和排阻电路,SHT11 温湿度传感器对环境温湿 度的采集,经过单片机进行数据处理,最终通过 LCD1602 液晶显示模块准确、 快捷、实时地显示出当前环境的温度和湿度,同时,按键模块可设置温湿度的 上下限值,当采集的数据不在设定范围内时,实现 LED 和蜂鸣器报警,从而达 到对环境温湿度监测的目的。本系统的总体设计如下图 2 所示。 51单片机 晶振电路 复位电路 SHT11传感器 LCD1602显示模块 按键设置模块 报警模块 图 2 系统总体设计框图 3.硬件设计 3.1 单片机最小系统 3.1.1 AT89C51 介绍 AT89C51 单片机是一款 MCS-51 系列的 CMOS8 位单片机,具有微功耗、高性 能等特点。该芯片内部含有 4K 字节的可反复擦除的只读程序存储器(PEROM) 以及 128 字节的随机存取数据存储器,同时该芯片内部还有 Flash 存储单元以 及 8 位的中央处理器(CPU) ,该芯片利用高密度、非易失性存储等先进的生产 技术,兼容标准 MSC-51 指令系统,其强大的功能对各个场合提供了便利,可灵 活的应用在各种行业领域。 对于 51 系列的单片机外部结构总共有 40 个引脚,其主要采用的是双列直 插式结构,其中内含 6 条控制信号线、2 条电源线(Vss 与 GND)和 4 个 8 位并 行 I/O 接口(P0、P1、P2、P3) 。P3 接口同时还具有第二功能,根据引脚不同 的功能我们可以将其划分为以下几类。具体详见下图 3.1.1。 图 3.1.1 AT89C51 单片机 1.电源引脚 VCC 和 VSS 其中 VCC 接+5V 电压。VSS 接地。 2.时钟电路引脚 XTAL1 和 XTAL2 其中 XTAL1 端口用来接外部晶体以及微调电容的一端,其作用是用来作为 振荡反相放大器的输入端口。如果需要采用外部时钟信号时,必须将该引脚接 地。XTAL2 用来连接外部晶体与微调电容的另外一端,其具体作用是用来作为 该电路的输出端口。如果我们需要采用外部时钟电路进行振荡时,我们必须给 XTAL2 端口输入时钟脉冲信号。 3.控制和复位引脚 PSEN、ALE、RST/VPD 和 EA ALE:如果需要访问外部存储器时,ALE 端的信号输出主要用于锁存地址的低位 字节。 PSEN:主要输出的外部程序存储器的读选通信号。 EA:如果该端口保持高电平信号时,则表示只访问单片机内部程序存储器。如果 该端口为低电平信号时,表示只访问外部程序存储器,而不管有没有内部存储 器。 RST/VPD:单片机复位引脚,主要用来维护程序的正常运转,当程序出现问题或 者跑飞速,该引脚发出 2 个机器周期的高电平信号,对其进行复位,让其正常 工作运行。 4.输入/输出 (I/O)引脚 P0、P1、P2、P3 P0 端口是双向 8 位三态 I/O 口,如果需要连接部存储器时,该端口与地址 总线的低 8 位及数据总线进行复用,以吸收电流的方式驱动 8 个 TTL 负载。 P1,P2,P3 口都是 8 位准双向 I/O 口。 以下是该单片机的主要性能参数: (1) 具有 4K 字节可以用来反复擦除 Flash 闪存存储器,具有 100 次的擦 除周期。 (2)具有三级加密程序存储器。 (3)全静态操作,6 个中断源。 (4)含有 1288 字节的 RAM,32 个可用来编程的 8 位 I/O 口线 (P0、P1、 P2、P3) 。 (5)含有 2 个 16 位的 定时器/计数器。 (分别为 P3.4 口和 3.5 口) 。 (6)拥有微功耗空闲模式以及掉电模式,同时还具备可编程串行 UART 通 道。 3.1.2 晶振电路 单片机的工作过程要对各种指令在时间上有明确的次序,这种时间次序也 叫做时序,所以单片机需要产生一个时钟信号。晶振电路如图 3.1.2 所示。 图 3.1.2 晶振电路 产生时钟信号的方式是:在 XTAL1(18 脚)和 XTAL2(19 脚)引脚接入 一个振荡电路。用两个 22pF 电容的作用是开启振荡器和调节振荡频率。接入 12M 晶振来确定时钟周期,此时产生的信号为单片机最基本的时间单位,即时 钟周期,用振荡频率的的倒数代表它的大小(1/fosc) 。 3.1.3 复位电路 复位电路在单片机设计中是一个必不可少的部分。单片机在刚开始运行的 时候需要进行一次复位,以确保整个系统电路在要开始运行时保持一种最初状 态,保证一开始的运行正常。AT89C51 单片机的第九引脚 RESET,当这个引脚 接收到两个机器周期(24 个振荡脉冲周期)的高电平时,就会发生复位。复位 电路的实现方式有很多种方式。常见的方式有上电、手动和自动复位三种。电 路连接图如图 3.1.3 所示: 图 3.1.3 复位电路 3.1.4 上拉排阻电路 AT89C51 单片机 P0 口内部结构与其他三个 I/O 口(P1 口、P2 口和 P3 口) 不同,由于 P0 口内部没有上拉电阻,当它用于通用 I/O 口使用时,其输出驱动 级为漏极开路,不能正常的输出高低电平,因此必须外接上拉电阻。一般我们 选择接入阻值为 10K 的上拉电阻。如图 3.1.4 所示。 图 3.1.4 上拉电阻电路 3.2 SHT11 温湿度传感器 数字温湿度传感器 SHT11 是 SHT1X 家族中的一员,它是一款高度集成的 温湿度传感器芯片,提供全量程标定的数字输出。串岗器包括一个电容性聚合 体湿度敏感元件和一个用能隙材料制成的温度敏感元件,这两个敏感元件与一 个 14 位的 A/D 转换器以及一个串行接口电路设计在同一个芯片面上。其实物 图如图 3.2 所示。 图 3.2 数字温湿度传感器 SHT11 数字温湿度传感器 SHT11 具有以下几个特点: (1)相对湿度和温度测量; (2)露点测量; (3)全标定输出,无需标定即可互换使用; (4)卓越的长期稳定性; (5)两线制数字接口,无需额外电路; (6)基于请求式测量,低能耗; (7)自动休眠; (8)超快响应时间; 数字温湿度传感器 SHT11 广泛应用于空调、汽车电子、家电产品、医疗仪 器、测试和检测设备和自动控制等领域。 SHT11 为具有二线串行接口的单片全校准数字式新型相对湿度和温度传感 器,其外形及管脚的示意图如图 3.2.2 所示。 图 3.2.2 SHT11 管脚示意图 SHT11 传感器默认的测量温度和相对湿度的分辨率为 14 位、12 位,通过 状态寄存器可降至 12 位、8 位。温度测量范围是 0-100%RH,对于 12 位的分辨 率为 0.03%RH;测量温度的范围为-40-+123.8,对于 14 位的分辨率为 0.01。 每个传感器芯片都在极为精确的湿度室中标定,校准系数以程序形式存储在 OTP 内存中,在测量过程中可对相对湿度自动校准,使 SHT11 具有 100%的互 换性。器内部框图见图 3.2.3。 图 3.2.3 SHT11 内部框图 其测量原理:首先利用 2 只传感器分别产生相对湿度、温度的信号;然后 经过放大,分别送至 A/D 转换器进行模数转换、校准和纠错;再通过二线串行 接口将先对湿度和温度的数据送至 AT89C51 控制器;最后利用控制器完成非线 性补偿和温度补偿。其典型应用电路如图 3.2.4 所示,引脚说明如图 3.2.5 所示。 图 3.2.4 STH11 典型应用电路 图 3.2.5 STH11 引脚说明 3.3 LCD1602 液晶显示模块 显示温、湿度需要较长的显示字码,在单片机的人机交流界面中,一般的 输出方式有以下几种:发光管、LED 数码管、液晶 LCD 显示器。在本文中采用 液晶显示 LCD1602 作为显示模块。在日常生活中,我们对液晶显示器并不陌生, 当今液晶显示器已经成为市场上很多电子产品的显示器件,比如在电子表、计 算器、万用表以及很多家用的电子产品中都可以看到,其显示主要是数字、符 号和图形。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量 高、数字式接口 、体积小、重量轻 、功耗低 。LCD1602 液晶显示模块可以和 单片机 AT89C51 直接接口,电路如图 3.3 所示。 图 3.3 LCD1602 与 AT89C51 电路连接 LCD1602 主要技术参数为显示容量为 16*2 个字符;工作电压范围 4.5- 5.0V;工作电流在 5.0V 供电电压下位 2mA;字符尺寸为 2.95*4.35mm。 LCD1602 引脚功能如表 3.3.2 所示: 引脚号符号状态功 能 1Vss电源地 2Vdd+5V 逻辑电源 3V0液晶驱动电源 4RS输入寄存器选择 1:数据;0:指令 5R/W输入读、写操作选择 1:读;0:写 6E输入使能信号 7DB0三态数据总线(LSB) 8DB1三态数据总线 9DB2三态数据总线 10DB3三态数据总线 11DB4三态数据总线 12DB5三态数据总线 13DB6三态数据总线 14DB7三态数据总线(MSB) 15LEDA输入背光+5V 16LEDK输入背光地 表 3.3.2 LCD1602 引脚功能表 LCD1602 指令集说明如下: 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明: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:读数据 3.4 按键模块 常用的按键电路有两种形式,独立式按键和矩阵式按键,由于在温湿度监 控系统设计中,按键的主要功能是设置报警温湿度的上下限值,功能明确单一, 因此采用独立式按键模块。 独立式键盘的按键相互独立,每个按键接一根 I/O 口线,一根 I/O 口线上 的按键工作状态不会影响其它 I/O 口线的工作状态。因此,通过检测 I/O 口线 的电平状态,即可判断键盘上哪个键被按下。 在本系统中只需检测引脚 P30、P31、P32 是否被拉低为低电平,若为低电 平则表示有键按下。P30 对应“设置”键,P31 对应“数值+”键,P32 对应为 “数值-”键。连接方式如图 3.4 所示。 图 3.4 按键模块电路图 当“设置”键被按下时,LCD 液晶显示温湿度上下限设置界面,如图 3.4.2 所示,此时可以通过“数值+”和“数值-”键对温湿度上下限数值进行设置。 图 3.4.2 温湿度上下限值设置界面 3.5 报警模块 3.5.1 蜂鸣器报警模块 本次设计采用三极管驱动蜂鸣器报警。蜂鸣器又称为喇叭,广泛运用在各 种电子产品中的一种元器件,常用于提示、报警等多种场合。 蜂鸣器和家用电气上的喇叭在用法上也有相似的地方。通常工作电流比较 大,电路上的 TTL 电平基本上不能驱动蜂鸣器。一个管脚很难驱动蜂鸣器发出 声音,这时就需要加一个电流放大电路,增加一个三极管来增加通过蜂鸣器的 电流。 蜂鸣器的正极性的一端联接三极管的集电极,另一端接地,三极管的基极 由单片机的 P1.2 管脚来控制,当 P1.2 管脚为低时,三极管导通,这样蜂鸣器 的电流形成回路,发出声音。当 P1.2 管脚为高时,三极管截至,蜂鸣器不发出 声音。其电路如图 3.5.1 所示。 图 3.5.1 蜂鸣器报警电路 3.5.2 LED 报警模块 系统 LED 报警模块,主要有 4 个 LED 灯组成,它们分别指示当前温湿度 值的状态,数值过低,相应绿色 LED 灯点亮;数值过高,相应的红色 LED 灯 点亮;当温湿度数值处于设定的上下限范围之中时,LED 灯熄灭。LED 报警模 块电路图见图 3.5.2。 图 3.5.2 LED 报警模块电路图 4.软件设计 4.1 软件开发平台 Keil C51 是 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言 在功能上、结构性、可读性、可维护性上有明显的优势。 Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿 真调试器等在内的完整开发方案,通过一个集成开发环境(mVision)将这些部 份组合在一起。运行 Keil 软件需要 Pentium 或以上的 CPU,16MB 或更多 RAM、20M 以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系 统。 C51 工具包的整体结构,其中 mVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整 个开发流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后 分别由 C51 及 A51 编译器编译生成目标文件(OBJ)。目标文件可由 LIB51 创建 生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件(ABS)。 ABS 文件由 OH51 转换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直 接写入程序存贮器如 EPROM 中。 基于 SHT11 传感器的温湿度监控系统仿真为原创设计,文中有五个重要内 容已被省去,它们是: 1. 主程序设计流程流程图; 2. 附录一的仿真总电路图; 3. 附录二的程序和程序注释; 4. 软件抗干扰措施内容; 5. 参考文献; 得到完整 doc 文档、Proteus 仿真文件、Visio 流程图、Keil C 程序以及 参考资料等,请 Subscribe the WeChat Public Number: 交大小将。 分享如下所示: 4.2 主程序设计 主程序就是调用各个子程序的 C 语言文件中定义的函数,实现 SHT11、LCD1602 初始化等操作,然后测量温湿度,调用函数对数据进行处理, 最后进行显示并监测预警当前温湿度信号,主程序流程图如图所示。 4.3 SHT11 程序设计 采集模块的任务是负责温湿度信号的采集以及将采集到的温度模拟量信号 转化为相应的数字量信号提供给单片机。单片机再经过相应的数据处理,数据 采集主要通过 SHT11 温湿度传感器采集当前环境的温度。因为数字式温湿度传 感器 SHT11 能将外界的温度直接转换成数字信号,直接送入单片机处理就行了, 就不用在经过 A/D 转化器将其转化成数字信号,这样就方便了很多而且抗干扰 能力强。软件程序也简化了很多,数据采集模块的程序流程:数据采集的程序 初始化即 SHT11 的程序初始化、采集温湿度、等待温湿度转换、读取温湿度送 给单机处理。如图 4.3 所示: 开始 SHT11模块初始化 测量温湿度命令? 等待读取数据 读取温湿度高字节 读取温湿度低字节 复位 结束 Y N 图 4.3 SHT11 温湿度采集程序流程图 4.4 LCD1602 程序设计 LCD1602 程序设计流程图如图 4.4 所示。 开始 LCD1602液晶初始化 忙信号检测 写入RAM地址 写入显示数据 LCD1602液晶显示 结束 图 4.4 LCD1602 程序设计流程图 4.5报警模块程序设计 图 4.5 为本系统报警模块程序设计流程图。 开始 初始化LED、蜂鸣器 当前温湿度值在限定范围内? LED指示灯显示当前警 告 蜂鸣器警报 结束 LED熄灭,蜂鸣器关闭 N Y 4.6软件抗干扰措施 本系统中,在软件方面的抗干扰措施主要从以下两个个方面来考虑。 5.仿真与测试 本设计的单片机采用 C 语言编程,在 Proteus 软件仿真环境中测试。 5.1 仿真设计平台 Proteus 是目前较为先进手段,在资金以及设备的维护成本高的问题上,它 可以在有限的硬件设备的情况下采用不同的方法,不仅可以直观形象化,也可 以使流程运行可视化并能够获得传统方法不能达到锻炼的效果;它可以提供超 过 27000 模拟装置,能够同时模拟和数字仿真,虚拟可以直接在原理图上编程, 然后显示输出实现这个结果;仿真软件使得它可以使抽象的原理变得形象化, 同时提供了一个虚拟的控制按钮,就可

温馨提示

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

评论

0/150

提交评论