基于单片机的温湿度监控系统 下载本文

XXX大学(学院)

本科生毕业设计

基于单片机的温湿度检测系统

Temperature and humidity detection system based on

Single Chip Microcomputer

学生姓名 所在专业 所在班级 申请学位 指导教师 副指导教师 答辩时间

职称 职称

目 录

设计总说明 ................................................................................................................................. I INTRODUCTION ..................................................................................................................... II 第1章 绪论 .............................................................................................................................. 1 1.1 概述 ................................................................................................................................. 1 1.2 国内外发展现状 ............................................................................................................. 1 1.2.1 国外研究现状 ........................................................................................................... 1 1.2.2 国内研究现状 .......................................................................................................... 1 第2章 系统总体方案设计 ...................................................................................................... 2 2.1 设计要求 ......................................................................................................................... 2 2.2 方案选择 ......................................................................................................................... 2 2.2.1 传感器的选择 .......................................................................................................... 2 2.2.2 单片机的选择 .......................................................................................................... 2 第3章 系统硬件设计 .............................................................................................................. 3 3.1 整体方案设计 ................................................................................................................. 3 3.1.1 系统概述 .................................................................................................................. 3 3.1.2 系统框图 .................................................................................................................. 3 3.2 最小系统模块 ................................................................................................................. 3 3.2.1 STC89C52简介 ........................................................................................................ 3 3.2.2 最小系统电路 .......................................................................................................... 5 3.3 DHT11传感器电路 ......................................................................................................... 7 3.3.1 DHT11简介 .............................................................................................................. 7 3.3.2 接口说明 .................................................................................................................. 8 3.3.3 DHT11模块电路图 ................................................................................................ 10 3.4 液晶显示电路 ............................................................................................................... 10 3.4.1 1602液晶简介 ........................................................................................................ 10 3.4.2 液晶引脚说明 ........................................................................................................ 11 3.4.3 指令介绍 ................................................................................................................ 12 3.4.4 液晶显示模块电路 ................................................................................................ 15 3.5 蜂鸣器模块 ................................................................................................................... 16 3.6 按键输入模块 ............................................................................................................... 17 3.7 LED显示电路 ............................................................................................................... 17 第4章 软件设计 .................................................................................................................... 19 4.1 程序语言及开发环境 ................................................................................................... 19

4.2 程序流程图设计 ........................................................................................................... 20 4.2.1 总体程序流程图设计 ............................................................................................ 20 4.2.2 1602液晶程序设计 ................................................................................................ 21 4.2.3 温湿度DHT11传感器程序设计 .......................................................................... 21 第5章 硬件组装与调试 ........................................................................................................ 22 5.1 元器件的选择与测量 ................................................................................................... 22 5.2 元件的焊接与组装 ....................................................................................................... 22 5.3 电路的调试 ................................................................................................................... 22 5.3.1 调试方法 ................................................................................................................ 23 5.3.2 调试步骤 ................................................................................................................ 23 第6章 总结 ............................................................................................................................ 25 鸣 谢 ...................................................................................................................................... 26 参考文献 .................................................................................................................................. 27 附 录 ...................................................................................................................................... 28 附录一 元件清单 ................................................................................................................ 28 附录二 原理图 .................................................................................................................... 29 附录三 PCB图 .................................................................................................................... 30

设计总说明

温湿度的测量应用范围是很广的,对温湿度测量系统的研究也具有深远意义,本课题针对国内外对温湿度测量系统的研究与发展状况,分析了目前温湿度测量系统存在的主要问题,设计了一种基于单片机的温湿度测量系统,对某些有着特殊要求温度和湿度的场合实现长期、稳定、实时、自动的监测。本设计主要由硬件电路和软件电路两部分组成,系统通过温湿度检测电路,把采集到的信号传给单片机,通过单片机来处理采集到的信号并通过LCD显示出来,如果温湿度过高或过低,报警电路会自动报警。本设计以STC89C52单片机为核心,采用DHT11集成温湿度传感器,实现一种智能、快捷、方便的温湿度测量系统。整个系统由温湿度检测电路、LCD显示电路、键盘电路、报警电路和单片机等组成。设计的系统结构简单紧凑,功耗较低,抗干扰能力强、总体性能比较好,符合了智能仪器仪表小型化的潮流,为今后开发高性能和商品化的温湿度测量仪器奠定了良好的基础。

关键词:单片机;温湿度;液晶

I

INTRODUCTION

Temperature and humidity measurement application range is very wide, the research on temperature and humidity measurement system has the profound meaning, aiming at domestic and foreign to the temperature and humidity measurement system research and development situation, analyzes the main problems existing in current temperature and humidity measuring system, the design of a temperature and humidity measuring system with single chip microcomputer based on the monitoring, some special requirements for temperature and humidity to achieve long-term, stable, real-time situations, automatic. Mainly by the design of hardware circuit and software circuit composed of two parts, the system through the temperature and humidity detection circuit, the acquisition of signal to the microcontroller, through the microcontroller to handle the signal collected and displayed through the LCD, if the temperature and humidity is too high or too low, alarm circuit will automatically alarm. It takes AT89C52 microcontroller as the core, adopts SHT11 integrated temperature and humidity sensor to achieve an intelligent, fast, convenient temperature and humidity measuring system, the whole system consists of temperature and humidity detection circuit, clock circuit, LCD display circuit, keyboard circuit, alarm circuit and MCU etc.. The system design of the structure is simple and compact, low power consumption, strong anti-interference ability, better overall performance, in line with the intelligent instrument miniaturization trend, has laid the good foundation for the future development of temperature and humidity measuring instrument of high performance and commercialization.

KEYWORDS: Single Chip Microcompute; Temperature and humidity; Liquid crystal

II

第1章 绪论

1.1 概述

温湿度测量是现代检测技术的重要组成部分,在保证产品质量,提高产品产量,节约资源和安全生产方面起着非常重要的作用。因此,能够确保快速、准确的测量温湿度的技术及其装置受到各国的重视。随着信息产业的发展及其工业化的进步,温度和湿度不仅仅表现在以上几个方面直接或间接影响人类基本生活条件,还表现在对农业生产、生物用品、医药卫生、科学研究、国防建设等方面的影响。针对以上情况,实现对温湿度的准确可靠测量显的尤其重要。近年来,利用智能化数字式温湿度传感器以及实现温湿度信息的在线检测已成为温湿度检测技术的一种发展趋势。

本设计以STC89C52为核心控制芯片,采集DHT11温湿度一体传感器,利用单片机读取传感器的温湿度后送到1602液晶进行显示。并且可以通过按键对温度、湿度的报警范围进行设置,一旦超出范围,蜂鸣器鸣叫,对应的指示灯点亮。

1.2 国内外发展现状 1.2.1 国外研究现状

国外对温湿度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温湿度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。

1.2.2 国内研究现状

我国对于温湿度测控技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收发达国家温湿度测控技术的基础上,才掌握了温湿度室内微机控制技术,该技术仅限于对温湿度的单项环境因子的控制。我国温湿度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。我国温湿度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。

1

第2章 系统总体方案设计

2.1 设计要求

1)可同时进行温度和湿度的测量。

2)采用1602液晶显示温湿度数据。

3)可通过按键设置温度和湿度的报警范围,并实现报警值的断电保存。 4)一旦超出报警范围,蜂鸣器鸣叫。

5)有相应的指示灯指示是哪个数据超出范围。

2.2 方案选择 2.2.1 传感器的选择

方案一:选用DS18B20温度传感器和HS1101湿度传感器。DS18B20是一线式数字温度传感器,具有独特的单线式接口方式,测量温度范围在-55℃—125℃,-10℃—85℃,误差为±0.5%。最高精度可达0.0625℃。HS1101是电容式湿度传感器,可测相对湿度范围在0%—100%RH,误差为±2%RH。

方案二:选用DHT11作为温湿度检测模块。DHT11是一款数字输出的复合传感器,包含一个电阻式干事元件和NTC式温度检测元件,可测20—90%RH湿度,误差为±5%RH,0—50℃,误差范围±2℃。

综上所述,虽然方案一具有较高的测试范围和精度,但由于本设计所测试的是一般的环境温度和湿度,选取方案二的DHT11温湿度传感器已经能够满足设计的要求,并且,DHT11复合了温湿度传感器,且价格便宜,故本模块采用方案二。

2.2.2 单片机的选择

方案一:采用DSP作为系统控制器。DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。DSP具有对元件值的容限不敏感,受温度、环境等外部因素影响小,容易实现集成,可分时复用,共享处理器,方便调整处理器的系数实现自适应,可用于频率非常低的信号等优点。但DSP硬件电路比较复杂,且价格昂贵,数字系统由耗电的有源器件构成,没有无源设备可靠。

方案二:采用单片机作为系统控制器。单片机具有可靠性强、性价比搞、电压低、功耗低等优点得到迅猛发展和大范围推广,单片机算术运算功能强,软件编程灵活,自由度大,可用软件编程实现各种逻辑功能,本身带有定时器、计数器,可以用来定时和计数,并且其功耗低,体积小,计数成熟和成本低等优点。

基于以上分析,拟定方案二,用STC89C52单片机作为控制器。

2

第3章 系统硬件设计

3.1 整体方案设计 3.1.1 系统概述

整个系统以STC89C52单片机为核心器件,配合电阻电容晶振等器件,构成单片机的最小系统。其它个模块围绕着单片机最小系统展开。其中包括,传感器输采用DHT11温湿度一体的传感器,负责采集温度和湿度的数据后发给单片机;按键部分使用市面上常见的轻触按键作为系统的输入设置模块;显示设备为1602液晶;报警则采用蜂鸣器+LED的形式;电源供电则采用USB 5V供电。

3.1.2 系统框图

DHT11温湿度一体传感器 按键设置输入

1602液晶显示 蜂鸣器 LED指示灯

单片机 最小系统

3-1 系统框图

3.2 最小系统模块 3.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)主要功能特性

? ?◆兼容MCS51指令系统;

? ?◆8k可反复擦写(>1000次)Flash ROM; ? ?◆32个双向I/O口;

?◆256x8bit内部RAM ;

? ?◆3个16位可编程定时/计数器中断;

3

?◆时钟频率0-24MHz; ? ?◆2个串行中断;

? ?◆可编程UART串行通道; ? ?◆2个外部中断源; ? ?◆共8个中断源; ? ?◆2个读写中断口线; ? ?◆3级加密位;

? ?◆低功耗空闲和掉电模式;

?◆软件设置睡眠和唤醒功能; (3)8051单片机的引脚功能

MCS-51系列单片机一般采用40个引脚,双列直插式封装,用HMOS工艺制造,其外部引脚排列如图3-2所示。其中,各引脚的功能为:

① 主电源引脚

?图3-2 STC89C52引脚图

VCC(40脚),接+5V电源正端; GND(20脚),接+5V电源地端; ② 外接晶体或外部振荡器引脚

XTAL1(19脚),接外部晶振的一个引脚。在单片机内部,它是一个反相放大器

的输入端。当采用外部振荡器时,此引脚应接 地。

XTAL2(18脚),接外部晶振的另一个引脚。在片内接至反相放大器的输出端和内部时钟电路的输入端。当采用外部振荡器时,此脚接外部振荡器的输出端。 RESET(9脚),复位信号输入端,复位/掉电时内部RAM的备用电源输入端。 ALE(30脚),地址锁存允许/编程脉冲输入,用ALE锁存从P0口输出的低8位地址。在对片内EPROM编程时,编程脉冲由此输入。

PSEN(29脚),外部程序存储器读选通信号,低电平有效。

EA(31脚),访问外部存储器允许/编程电压输入。EA为高电平时,访问内部存储器;低电平时,访问外部存储器。

4

③ 控制信号线

④ 多功能I/O口引脚

8051单片机设有4个双向I/O口(P0、P1、P2、P3),每一组I/O口线都可以独立地用作输入或输出口,其中:

P0口(32~39脚)——双向口(三态),可作为输入/输出口,可驱动8个LSTTL门电路。实际应用中常作为分时使用的地址/数据总线口,对外部程序或数据存储器寻址时低8位地址与数据总线分时使用P0口:先送低8位地址信号到P0口,由地址锁存信号ALE的下降沿将地址信号锁存到地址锁存器后,再作为数据总线的口线对数据进行输入或输出。

P1口(1~8脚)——准双向口(三态),可驱动4个LSTTL门电路。用作

输入线时,口锁存器必须由单片机先写入“1”,每一位都可编程为输入或输出 线。

P2口(21~28)——准双向口(三态),可驱动4个LSTTL门电路。可作

为输入/输出口,实际应用中一般作为地址总线的高8位,与P0口一起组成16 位地址总线,用于对外部存储器的接口电路进行寻址。

P3口(10~17脚)——准双向口(三态),可驱动4个LSTTL门电路。双

功能口,作为第一功能使用时,与P1口一样;作为第二功能使用时,每一 位都有特定用途,其特殊用途如表3.1所示:

表3.1 P3口第二用途

端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD TXD /INT0 /INT1 T0 T1 /WR /RD 注 释 串行口数据接收端 串行口数据发送端 外中断请求0 外中断请求1 定时/计数器0外部计数信号输入 定时/计数器1外部计数信号输入 外部RAM写选通信号输出 外部RAM读选通信号输出

3.2.2 最小系统电路

STC89C52的最小系统如图3-3所示,整个最小系统由三个部分组成,晶振电路部分、复位电路部分、电源电路等三个部分组成。

晶振电路包括2个30pF的电容C2和C3,以及12M的晶振X1。电容的作用在这里是起振作用,帮助晶振更容易的起振,取值范围是15-33pF。晶振的取值也可以是24M,晶振的取值越高,单片机的执行速度越快。在进行电路设计的时候,晶振部分越靠近单

5

片机越好。

单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。

复位电路由10uF的极性电容C1和10K的电阻R4构成。利用电容电压不能突变的性质,可以知道,当系统一上电,RESET脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RESET脚的高电平持续两个机器周期以上就将复位,所以适当组合RC的取值就可以保证可靠的复位。

在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K×10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在0-3.5V增加,这个时候RESET引脚所接收到的电压是5V-1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RESET引脚接收到的高电平信号时间为0.1S左右)。

最后一个是电源部分,采用5V的USB直接供电,可采用手机充电器、电脑USB口、移动电源等设备进行供电。

此外,除了单片机最小系统的3个部分之外,这里还多了一些外部电路。 由于STC89C52的P0口是漏极开路输出,因此在P0口接了一个10K的排阻R1,使得P0口可以作为普通的I/O口使用,本设计用P0口来做液晶的数据口。

特别注意的是,对于31脚(EA),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。由于我们的程序存储在了单片机内部,所以EA要接高电平,保证单片机是从内部读取程序去执行的。

图3-3 单片机最小系统 6

3.3 DHT11传感器电路 3.3.1 DHT11简介

?◆相对湿度和温度测量

?◆全部校准,数字输出 ?◆卓越的长期稳定性 ?◆无需额外部件

?◆超长的信号传输距离 ?◆超低能耗 ?◆4 引脚安装 ?◆完全互换 (1)DHT11产品概述

DHT11(图3-4)数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。

图 3-4

(2)应用领域

?◆暖通空调 ?◆测试及检测设备 ?◆汽车 ?◆数据记录器 ?◆消费品

7

?◆自动控制

?◆气象站 ?◆家电 ?◆湿度调节器 ?◆医疗 ?◆除湿器

3.3.2 接口说明

(1)接口说明

建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的

图3-5 DHT11典型连接图

上拉电阻。

(2)引脚说明

Pin1:(VDD),电源引脚,供电电压为3-5.5V。 Pin2:(DATA),串行数据,单总线。 Pin3:(NC),空脚,请悬浮。 Pin4(VDD),接地端,电源负极。 (3)串行接口 (单线双向)

DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明。当前小数部分用于以后扩展,现读出为零。操作流程如下:一次完整的数据传输为40bit,高位先出。

数据格式为8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据+8位校验和,数据传送正确时校验和数据等于“8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据”所得结果的末8位。

用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。

通讯过程如图3-6所示。

8

图 3-6 DHT11与单片机的通讯过程

总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号。主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。通讯初始化要求如图3-7所示。

图3-7 通讯初始化

总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。

图3-8 数字0信号的表示方法

9

数字0信号表示方法如图3-8所示。

数字1信号表示方法如图3-9所示。

图3-9 数字1信号的表示方法

3.3.3 DHT11模块电路图

DHT11的模块电路图如下图所示:

图3-10 DHT11模块连接图

3.4 液晶显示电路 3.4.1 1602液晶简介

液晶显示器是一种显示器件,具有小体积、轻重量、低功耗等特色。由于其功耗低、显示的信息量大(例如,文本,图形,曲线等)、无电磁辐射、使用寿命长,它已被广泛应用在便携式电子产品。

本系统显示采用了工业字符型液晶模块1602,可显示2行16个字符,能方便显示英文字母大小写、阿拉伯数字、常用符号等。通过自定义还可显示简单的汉字。

本系统采用的1602是一款物美价廉的液晶显示屏,可以显示2行标准字符,每行共有16个字符。在通信系统,智能操作仪表和办公设备的自动化中被广泛的应用,主要功能是显示ASCII字符,因此被称为“字符型显示装置”。当在内部没有适合的汉字库的液晶类型显示器想要表达汉字的时候,第一步就是要获得想要的汉文或者图形的子模数据。子模块的软件不能直接提取的子模块的数据5×8点阵,可以从手工提取汉字的字体以模具。第二步,把取得的汉字子模数据保存在液晶存储器里面。

10

1602液晶分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图(图3-11)所示:

图3-11 液晶尺寸说明

1602LCD主要技术参数: ?◆显示容量:16×2个字符 ?◆芯片工作电压:4.5—5.5V ?◆工作电流:2.0mA(5.0V) ?◆模块最佳工作电压:5.0V ?◆字符尺寸:2.95×4.35(W×H)mm

3.4.2 液晶引脚说明

1602的引脚如表3-2所示:

表3-2 1602液晶引脚说明 编号 1 2 3 4 5 6 7 8 符号 VSS VDD VL RS R/W E D0 D1 引脚说明 电源地 电源正极 液晶显示偏压 数据/命令选择 读/写选择 使能信号 数据 数据 编号 9 10 11 12 13 14 15 16 符号 D2 D3 D4 D5 D6 D7 BLA BLK 引脚说明 数据 数据 数据 数据 数据 数据 背光源正极 背光源负极 第一脚:接地电源VSS。 第二脚:5V正电源为VDD。

第三脚:VL为液晶显示器对比度调整的端口,对比度的强弱由接电源的不同决定,对比度的调整可以通过一个10k的电位器。

11

第四脚:RS是寄存器选择,高水平的数据寄存器,低选择指令寄存器。 第五脚:R / W的读和写信号线,高水平低的读操作,写操作。其中RS与R/W的关系决定了当时状态,例如两端共同为0时能够写入命令或者显示其地址,当两端同为1时可以读忙碌信号,当RS为1,R/W为0时能够将数据录入。

第六脚:使能端E,当E端由1至0时,液晶模块中的命令开始被运行。 第七至十四脚:D0-D7为8位双向数据线。 第十五脚:背光源正极。 第十六脚:背光源负极。

3.4.3 指令介绍

(1)清屏指令

指令如表3-3所示

表3-3 清屏指令功能表

功能:

1)能够将液晶显示屏删除,就是讲DDRAM所有内容都添加进“空白”的ASCII

码20II;

2)能够使光标回到原始位置,就是把光标重新摆放回液晶显示屏的左上方; 3)把地址显示器即AC的数值归位零

(2)光标归位指令

指令如表3-4所示

表3-4 光标归位指令功能表

功能:

1)将光标重新摆放回显示器的左上方; 2)地址计数器即AC的数值被设为零; 3)DDRAM所有的内容将保持原内容不会变化;

(3)进入模式设置指令

指令如表3-5所示

表3-5 进入模式设置指令功能表

12

功能:当定入一位数据之后光标移动的方向将被设置,参数设定的情况如下:

(4)显示开关设置指令

指令如表3-6所示

表3-6 显示开关设置指令功能表

功能:能够控制显示器的开关与否,光标的显示或者关闭,光标是否需要闪烁,参数设定的情况如下:

(5)设定显示屏或光标移动方向指令

指令如表3-7所示

表3-7 设定显示屏或光标移动方向指令功能表

功能:将光标移动或者整个显示屏幕移动位置,参数设定的情况如下:

13

(6)功能设定指令

指令如表3-8所示

表3-8 功能设定指令功能表

功能:数据总线的位数何所显示出来的行数字型将被设定,参数设定情况如下:

(7)设定CGRAM地址指令

指令如表3-9所示

表3-9 设定CGRAM地址指令功能表

功能:下一次被存入数据的CGRAM地址将被设置,字符号为DB5DB4DB3即未来显示此字符的时候被采用的字符的地址(000-111)可同时定义八个字符,行号为DB2DB1DB0 (000-111)八行。

(8)设定DDRAM地址指令

指令如表3-10所示

表3-10 设定DDRAM地址指令功能表

功能:下一次要存入数据的DDRAM地址将被设置。

(9)读取忙或AC地址指令

指令如表3-11所示

表3-11 读取忙或AC地址指令功能表

14

功能:下一次要存入数据的DDRAM地址将被设置。

1)HF(忙碌信号)读取,假如液晶显示器忙碌的时候则BF=1,暂时不能接收被单片机送出的数据和指令,当BF=0的时候则相反。

2)地址计数器(AC)内容被接收。

(10)数据写入DDRAM或者CGRAM指令

指令如表3-12所示

表3-12 数据写入DDRAM或者CGRAM指令指令功能表

功能:

1)DREAM被写入字符码,液晶显示屏随即显示出相应的字符; 2)OGRAM被存入由使用者设计的图案

(11)从CGRAM或者DDRAM读出数据的指令

指令如表3-13所示

表3-13 从CGRAM或者DDRAM读出数据的指令功能表

功能:DDRAM或OGRAM中的内容被读写。

3.4.4 液晶显示模块电路

本液晶模块的电路的连接图如图3-12所示,第1脚和第2脚分别接到了电路的GND和VCC,这2个脚是液晶工作的电源输入脚。第3脚通过一个10K的电位器连接到地端,可通过调节该电位器来调节液晶的对比度。第4脚是液晶的寄存器控制脚,接到了单片机的P12脚上。第5脚是液晶的读写控制脚,接到了单片机的P13脚上。第6脚是液晶的使能脚,接到了单片机的P14脚上。第7脚到第14脚是液晶的数据/地址8位总线,接到了单片机的P0口上。最后第15脚和第16脚是液晶的背光电源脚,直接连接系统VCC和GND。

15

图 3-12 液晶模块连接图

3.5 蜂鸣器模块

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。

蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。当接通电源后多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。本设计使用的是电磁式蜂鸣器。

此外,蜂鸣器还有有源蜂鸣器与无源蜂鸣器的区别。注意这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫;而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫,必须用2K-5K的方波去驱动它。本设计使用的是有源蜂鸣器。

由于蜂鸣器工作时,需要的电流比较大,单片机的IO口输出的电流又比较小,所以这里利用三极管的开关管功能来控制蜂鸣器发音,本设计选用的三极管型号是PNP三极管S8550,而且本设计选用的蜂鸣器属于有源蜂鸣器,即在蜂鸣器内部已经内置了震荡电路,单片机无需连续发出高低电平来驱动它,而只要输出高(或低)电平即可,这大大简化了单片机程序的设计。由于选用的是PNP型而单片机上电IO口默认是高电平的,所以上电时蜂鸣器是不会发出鸣叫的。蜂鸣器电路如图3-13所示。

图3-13 蜂鸣器电路

16

3.6 按键输入模块

键盘是人与单片机打交道的主要设备。站在系统监控软件设计的立场上来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则,人们在操作键盘就容易引起误操作和操作失控现象。在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。其次就是消除在按键过程中产生的“毛刺”现象。这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。

本设计中由于采用的按键数量较少,只有3个按键,分别是“设置”、“减”、“加”,故采用了独立键盘的方式。按键的连接图3-14所示:

图3-14 按键电路

3.7 LED显示电路

发光二极管简称为LED。由含镓(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成。当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。

它是半导体二极管的一种,可以把电能转化成光能。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光,

17

氮化镓二极管发蓝光。

发光二极管的反向击穿电压大于5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过二极管的电流。

本设计中采用了4颗LED灯,2颗红色和2颗绿色,红色代表过高,绿色代表过低,其电路连接如图3-15所示:

图3-15 LED电路

18

第4章 软件设计

4.1 程序语言及开发环境

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔实验室的Dennis M. Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件、三维、二维图形和动画,具体应用例如单片机以及嵌入式系统开发。

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

19

4.2 程序流程图设计 4.2.1 总体程序流程图设计

本系统的软件流程图如图4-1所示,最开始先进行液晶的初始化,包括液晶功能初始化和液晶显示内容初始化。接着就开始判断设置按键是否被按下,是的话,则进入了报警范围设置,接着判断刚刚读取到的温湿度是否超出报警范围,如果超出正常范围的话,则蜂鸣器鸣叫报警,并且点亮对应的指示灯。之后进行简短的演示,然后重新进入温湿度读取的操作,如此循环重复执行。

开始 液晶初始化 读取DHT11数据 显示并处理 按键是否 被按下? 否 是 进入温湿度报 警范围设置 温湿度 超限? 是 延时 启动报警 结束 图4-1 程序流程图

20

4.2.2 1602液晶程序设计

定位行列坐标 液晶初始化

否 显示一个字符 数据显示完? 是 图4-2液晶显示流程图

4.2.3 温湿度DHT11传感器程序设计

读取校验和 发出读取命令 读取湿度 读取温度

图4-3温湿度传感器程序流程图

校验数据是否出错? 是 丢弃当前数据 否 21

第5章 硬件组装与调试

5.1 元器件的选择与测量

本次设计的元器件主要有:STC89C52单片机、晶振、电阻、电容、按键、开关、电源座、三极管、发光二极管、蜂鸣器、传感器、液晶等。这些元器件的引脚需要我们认真查找资料,了解每个器件的特性再进行焊接。这些元器件直接根据型号到电子元器件市场就很容易买到。其中焊接时要注意元件正负极性,电阻电容大小、芯片引脚顺序等细节。一般电阻的大小可以通过色环读取,或直接用万用表进行测量;电容和晶振等的大小会标准在元件本身;元件的正负可以遵循长正短负的原则,一些特殊元件可以通过查找资料获知正负极。

5.2 元件的焊接与组装

组装电路通常采用焊接和在面包板上插接两种方法,无论采用哪种方法均应注意以下几方面。

(1)所有元器件在组装前应尽可能全部测试一遍,以保证所用元器件均合格。 (2)所有集成电路的组装方向要保持一致,以便于正确进行焊接合理安排布线。 (3)分立元件时应仔细辨明器件的正反向,标志应处于比较容易观察的位置方便检查和调试。对于有正负极性的元件,例如电解电容器、晶体二极管等,组装时一定要特别注意极性,否则将会造成实验失败。

(4)为了便于焊接查线以及后期的检查电路,可根据电路中接线的不同作用选择不同颜色的导线。一般习惯是正电源用红色线、负电源用蓝色线、地线用黑色线、信号线用黄色线等。当然使用一种颜色也是可以的。

(5) 在实际焊接中连线需要尽量做到排版简洁连线方便。连线不跨接集成电路芯片上,必须从其周围通过。同时应尽可能做到连线不相互穿插重叠、尽量不从电路中元器件上方通过。

(6)为使电路能够正常工作与调测,所有地线必须连接在一起,形成一个公共参考点。

正确的组装方法和合理的布局,不仅可使电路整齐美观、工作可靠,而且便于检查、调试和排除故障。如果能在组装前先拟订出组装草图,则可获得事半功倍之效果,使组装既快又好。

5.3 电路的调试

调试是指系统的调整、改进与测试。测试是在电路组装后对电路的参数与工作状态进行测量,调整则是在测试的基础上对电路的某些参数进行修正,使满足设计要求。在进行调试前应拟订出测试项目、测试步骤、调试方法和所用仪器等,做到心中有数,保证调试工作圆满完成。

22

5.3.1 调试方法

调试方法原则有两种。第一种是边安装边调试的方法。它是把复杂的电路按原理框图上的功能分成单元进行安装和调试,在单元调试的基础上逐步扩大安装和调试的范围,最后完成整机调试。这种方法在新设计的电路中比较常用。第二种方法是在整个电路系统全部焊接完毕后,实行一次性调试。这种方法比较适用于电路相对来说比较简单,系统不复杂的电路调试。

5.3.2 调试步骤

(1)通电前检查

电路焊接完毕后, 不要急于通电,首先要根据原理电路认真对照检查电路中的接接线是否正确,包括错线(连线一端正确、另一端错误),少线(安装时漏掉的线),多线(连线的两端在电路图上都是不存在的)和短路(特别是间距很小的引脚及焊点间),并且还要检查每个元件引脚的使用端数是否与图纸相符。查线时最好用指针式万用表“Ω×1”档进行检查, 或是用数字万用表“Ω”档的蜂鸣器来测量,而且要尽可能直接测量元器件引脚,这样同时可以发现接触不良的地方。

(2)通电观察

在电路安装没有错误的情况下接通电源(先关断电源开关,待接通电源连线之后再打开电路的电源开关)。但接通电源后不要立即进行电路功能的测试,首先要充观察整个电路有无异常现象,电路中元器件是否有发热烧坏等现象,是否有漏电现象,电源是否有短路和开路现象等。如果电路在测试过程中出现异常,首先应该立即关闭电源,检查后排除故障再重新通电测试。然后再按要求测量各元器件引脚电源的电压,而不只是测量各路总电源电压,以保证元器件正常工作。

(3)单元电路调试

在调试单元电路时应明确本部分的调试要求。调试顺序应按照电路原理图中信号流向进行,这样可以把整个电路进行分步调试,把前面调试好的电路的输出信号作为后一级电路的输入信号。从而保证电路的调试更加顺利方便。

单元调试包括静态和动态调试。静态调试一般是指在没有外加信号的条件下测试电路各点的电位,特别是有源器件的静态工作点。通过它可以及时发现已经损坏和处于临界状态的元器件。动态调试是用前级的输出信号或自身的信号测试单元的各种指标是否符合设计要求,包括信号幅值、波形形状、相位关系、放大倍数和频率等。对于信号产生电路一般只看动态指标。把静态和动态测试的结果与设计的指标加以比较,经深入分析后对电路与参数提出合理的修正。在调试过程中应有详尽记录。

(4)整机联调

各单元电路调试好以后,并不见得由它们组成的整体电路性能一定会好,因此还要进行整体电路调试。整体电路调试主要是观察和测量动态性能,把测量的结果与设计指

23

标逐一对比,找出问题及解决办法,然后对电路及其参数进行修正,直到全部电路的性能完全符合设计要求为止。

24

第6章 总结

经过三个多月的努力,本次毕业设计的任务——基于单片机的温湿度设计已经完成。这个设计题目并不是新的,但从中能体现到一个系统开发设计的过程,足于让我们受益。能够从设计、论证、制板、编程到最终的调试成功。完成整个系统的设计,这是一次难得的实践机会。

温湿度物理量是工业和农业中最常见的基本的工艺参数,任何物理和化学变化的过程都与温度密切相关。所以,在生产过程中常需对温湿度进行检测和控制。本文研究设计的温湿度检测系统采用了单片机+DHT11温湿度一体传感器+1602液晶的组合方式,整机设计合理,元件价格合理,采购方便,很适合大批量生产。

理论联系实践,体现出大学生的动手能力。通过查资料和收集有关的文献,培养了自学能力和动手能力。并且由原先的被动接受知识转换为主动寻求知识,这可以说是学习方法上的一个很大突破。在以往的传统学习模式下,我们可能会记住很多书本知识,但是通过毕业设计,我们学会了如何将学到的知识化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题,把握重点,攻克难关,活学活用。

设计论证和完成本次设计的过程,将单片机原理、C语言程序、模拟电路基础与数字电路基础等多门课程的内容有机地结合应用在了一起。通过实际的分析与应用深化了对这些主干知识的认识。此外掌握了从系统的需求、方案论证、功能模块的划分、原理图的设计和绘制、PCB板制作、程序设计到软硬件调试的设计流程,积累了硬件设计的经验。单片机的功能日益强大,但其基本原理是相对不变的。因此虽然本次设计任务的功能较为简单,但是能够较全面的涉及单片机各项基本知识,提高了自己的单片机设计能力,是一次将理论能力向实践能力转化的好机会。

通过这次毕业设计,我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。虽然在这次设计中对知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这三个月的设计是对过去所学知识的系统提高和扩充的过程,今后我将不断加深理论基础和实践能力,在以后的工作学习中取得更大的进步。

在设计过程中由于时间仓促有很多地方难免存在不足之,但在以后的工作中,我们会严格要求自己最求完美。

回头再看看该设计,还可以将设计的扩展功能增强:1可添加多个采集点。2可将采集到的数据通过串口传给上位机,方便记录温湿度数据。

25

鸣 谢

本设计的研究工作是在我的导师的精心指导和悉心关怀下完成的。从开题报告到论文结束,我所取得的每一个进步、编写的每一段程序都无不倾注着导师辛勤的汗水和心血。导师严谨的治学态度、渊博的各科知识、无私的奉献精神使我深受启迪,从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在今后的学习工作中,我将铭记恩师对我的教诲和鼓励,尽自己最大的努力取得更好的成绩。

在此我要向我的导师致以最衷心的感谢和深深的敬意!

在三年的大学学习期间,每位老师对我的学习、生活和工作都给予了热情的关心和帮助,使我的水平得到了很大的提高,取得了长足的进步。 在此,向所有关心和帮助过我的老师、同学和朋友表示由衷的谢意!

最后,衷心感谢在百忙之中评阅论文和参加答辩的各位专家、教授。

26

参考文献

[1] 郭天祥.51单片机C语言教程[M]. 北京:电子工业出版社,2009.

[2] 刘建清.轻松玩转51单片机C语言[M]. 北京:航空航天大学出版社,2011. [3] 张绪光,刘在娥.电路与模拟电子技术[M]. 北京:北京大学出版社,2010. [4] 徐晓光.数字逻辑与数字电路[M]. 北京:机械工业出版社,2008. [5] 黄智伟.印刷电路板设计技术与实践[M]. 北京:电子工业出版社,2013. [6] 张俊谟.单片机中级教程[M]. 北京:北京航天航空大学出版社,2006. [7] 谢维成.单片机原理与应用及C51程序设计[M]. 北京:清华大学出版社,2009. [8] 赵健,吴顺伟.基于单片机的温湿度测量系统的研究与设计[M].电子技术 [9] 张艳丽,杨仁弟.数字温湿度传感器及其应用[J].工矿自动化,2007.6第3期

27

附 录

附录一 元件清单

STC89C52 单片机座子 12M晶振 30pF独石电容 电解电容10uF 电解电容220uF 电阻1K 电阻4.7K 电阻10K 排阻10K 轻触开关 1602液晶 1602液晶座子 10K电位器 DHT11传感器 DHT11座子 有源蜂鸣器 S8550(PNP)三极管 绿色led灯 红色led灯 电源开关 DC3.5电源座 7*9洞洞板 电源线 1片 1个 1个 2个 1个 1个 4个 1个 1个 1片 3个 1个 1个 1个 1个 1个 1个 1个 2个 2个 1个 1个 1张 1根

28

附录二 原理图

U1DHT11VCCVCCIONCGNDQ18550BEEP1GNDGNDGNDR8103R1VCC10312345678910111213141516VCCGNDC4220uF123654SW1LCD1VSSVCCVORSRWEND0D1D2D3D4D5D6D7AK16021234GNDVCCC110uFR510KR24.7KU2VCCGNDGNDVCCD1GREEND2REDD3GREEND4REDR31kR41kR61kR71kC230pF1X12C330pFGNDpowerJ1GNDK1K2K31234567891011121314151617181920P10P11P12P13P14P15P16P17RESETP30/RXDP31/TXDP32/INT0P33/INT1P34/T0P35/T1P36/WRP37/RDXTAL2XTAL1GNDVCCP00P01P02P03P04P05P06P07EAALEPSENP27P26P25P24P23P22P21P204039383736353433323130292827262524232221VCC123456789LCD 160212M

29

附录三 PCB图

12345678910111213141516123456789140393837363534333231302928272625242322212212345678910111213141516171819201122222223CBE1122111111121212121654112322212341111112222212

30