温度湿度论文.doc_第1页
温度湿度论文.doc_第2页
温度湿度论文.doc_第3页
温度湿度论文.doc_第4页
温度湿度论文.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

哈尔滨工业大学华德应用技术学院毕业设计(论文)摘 要 本文主要介绍的是基于单片机的温湿度计的设计,通过LCD显示所测量的温湿度。系统采用集温湿度传感器与A/D转换器为一体的SHT11芯片,通过单片机处理进行显示,文中详细说明了温湿度计数据采集与传输、液晶显示、加湿等功能以及实现这些功能而进行的硬件电路设计和软件程序设计。本文给出了硬件电路原理图、主程序和部分子程序流程图,通过软、硬件设计使得该款温湿度计具有智能化、高精度、高可靠性等优势,具有广阔的应用前景。此系统结构简单、实用、提高了测量精度和效率。关键词:单片机、温湿度传感器、液晶显示器 Abstract Are mainly introduced in this paper based on single-chip microcomputer temperature and humidity meter design, through the LCD display measured by the temperature and humidity. System adopts sets and humidity sensor and A/D converter for the integration of SHT11 chip microcontroller processing, through that explained temperature and humidity data collection and transmission project, LCD display, humidifying functions and achieve these functions and design of hardware circuit and the software programming. This paper also presents the hardware circuit principle diagram, the main program and the terrorists program flowcharts, through the software and hardware design makes duckshot almost temperature and humidity plan has intelligence, high accuracy, high reliability, etc advantages, has wide application prospects. This system structure is simple, practical, improve the measurement accuracy and efficiencyKeywords:MCU、Temperature Humidity Sensor、LCD目 录摘 要IAbstractII第1章 绪论11.1 课题背景11.2 目的意义11.3 技术指标1本章小结1第2章 方案选择22.1 方案选择22.2 整体电路的设计3本章小结4第3章 硬件电路的设计53.1 单片机电路53.1.1 单片机概述53.1.2 MCS-51的硬件结构73.2 振荡电路123.3 复位电路133.4 温湿度采集与传输模块143.4.1 选用SHT11的原因143.4.2 SHT11温湿度传感器143.4.3 SHT11与单片机的接口电路设计163.5 显示模块 LCD1602173.5.1 选用1602字符型LCD的原因173.5.2 LCD1602液晶显示173.6 按键电路设计223.7 加湿部分22本章小结23第4章 整机工作原理24本章小结24第5章 软件程序设计255.1 主程序255.3 温湿度显示子程序275.4 IC总线读写程序29本章小结29第6章 系统调试306.1 硬件调试306.2 软件调试306.2.1 测试工具306.2.2 测试过程31本章小结33结 论34致 谢35参考文献36附录1 译文37附录2 英文资料40附录3 电路原理图43附录4 软件程序44附录5 元件清单列表53-54-第1章 绪论1.1 课题背景如今温度和湿度两者在具体的控制过程中已经不再是相互独立的参数,而是相互关联的。在工农业生产、气象、环保、国防、科研等部门及日常生活中,经常需要对环境温度与湿度进行测量及控制。准确测量温湿度对于生物制药、食品加工、造纸等行业更是至关重要。在温湿度测量技术不断发展完善的今天,温湿度计也正在朝着集成化、智能化的方向发展。主要表现在以下两个方面:(1)温湿度传感器正从分立元件向集成化、智能化、系统化的方向发展,为开发新一代温湿度测控系统创造了有利条件;(2)在温湿度测量系统中普遍采用线性化处理、自动温度补偿和自动校准湿度等几项新技术。温湿度计能够满足许多场合经常需要对环境温度与湿度进行测量的需求,为人们提供一种快捷高效、低成本的数字化测量工具。具有广阔的应用前景和较高的推广价值。随着人民生活水平的提高,人们更看重的不是金钱和权力而是人本身的健康,此款设计是在温湿度计的基础上增加了对空气进行加湿,当室内的湿度达到某一值时,对空气进行加湿保持一定的湿度,从而净化空气以减少疾病的发生,所以在以后的生活中,这款设计会给人们的生活带来很大的方便。1.2 目的意义目的:本设计目的是设计一款基于温湿度传感器SHT11、AT89S51单片机,用超声波雾化器实现加湿功能,由1602字符型LCD显示的温湿度计。意义:随着人们生活水平的提高,现在在日常生活中为了人们的身体健康,经常需要对室内空气温度与湿度进行测量,当湿度达到一定值时对空气进行加湿,以减少疾病的发生,本设计为之提供一种快捷高效、低成本的测量工具。1.3 技术指标 1、时时检测当前温度和湿度; 2、当湿度达到某一数值时启动加湿功能;3、采用LCD作为显示。本章小结本章主要介绍了基于单片机的温湿度计这个设计的课题背景、目的意义和所要达到的技术指标。第2章 方案选择2.1 方案选择方案一:采用单总线的DS18B20的温度传感器和HS110X相对湿度传感器为主要芯片的温湿度计。图2-1 HS110X温湿度传感器方案二:采用集温湿度传感器于一体的SHT11芯片为主要芯片的温湿度计。图2-2 SHT11温湿度传感器由于方案一中采用的是传统的模拟式湿度传感器,一般不仅要设计信号调理电路,还要经过复杂的校准和标定过程,其测量精度难以保证。而SHT11是瑞士Sensiri-on公司生产的具有二线串行接口的单片全校准数字式新型相对湿度和温度传感器,可用来测量相对湿度、温度和露点等参数,具有数字式输出、免调试、免标定、免外围电路及全互换的特点。该传感器将CMOS芯片技术与传感器技术融合,为开发高集成度、高精度、高可靠性的温湿度测控系统提供了解决方案。所以本设计采用的是方案二。2.2 整体电路的设计本设计的核心部件为AT89S51,信号采集及处理部分由SHT11构成,进入单片机后经过处理后通过LCD1602显示温湿度,信号显示采用的液晶屏为5X7点阵,一行可显示16字,四行。当湿度达到某一数值时启动加湿功能,这里用超声波雾化器对空气进行加湿。在软件设计部分对测量的湿度进行设定,当测量的湿度超过限定值,通过超声波雾化器对空气进行加湿从而启动加湿功能。硬件中包括一个开关,为复位开关。开机后,所有器件初始化,温湿度传感器SHT11开始进行温湿度测量和计算,最后通过LCD1602液晶显示器显示结果。在测量结果中有超过设定的湿度的,通过超声波雾化器做出反应。整体电路方框图如下:单片 机排风或加湿装置温湿度传感器按键控制显示电路图2-3 基于单片机的温湿度计的整体电路方框图本章小结本章主要论述了设计的方案选择并最终确定了适合本设计的最佳方案同时对整体电路设计进行了简单的介绍,比如电路实现什么功能以及用到的芯片和电路器件,并画出了整体电路方框图。第3章 硬件电路的设计温湿度计要想自动完成温湿度数据的采集、处理与显示,必须具有三个基本的模块:温湿度采集与传输模块、控制模块和显示模块。在进行硬件电路设计时,本设计分别选用数字温湿度传感器SHT11、AT89S51单片机和1602字符型LCD。由于在实际应用中,当湿度达到某一数值时,超声波雾化器要进行喷雾从而对空气进行加湿,因此本设计中增加了加湿功能。3.1 单片机电路3.1.1 单片机概述1.单片机的产生与发展单片机出现的历史并不长,但发展十分迅猛。它的产生与发展和微处理器的产生与发展大体同步,自1971年美国Intel公司首先推出4位微处理器以来,它的发展到目前为止大致可分为5个阶段:第1阶段(19711976):单片机发展的初级阶段。1971年11月Intel公司首先设计出集成度为2000只晶体管/片的4位微处理器Intel4004,并配有RAM、ROM和移位寄存器,构成了第一台MCS-4微处理器,而后推出了8位微处理器。它们虽然说还不是单片机,但从此拉开了研制单片机新技术的序幕。第2阶段(19761980):低性能单片机阶段。以1976年Intel公司推出的MCS-48系列为代表,采用将8位CPU、8位并行I/O接口、8位定时器电路、RAM和ROM等集成于一块半导体芯片上的单片结构,虽然其寻址范围有限(不大于4KB),也没有串行I/O,RAM、ROM容量小,中断系统也比较简单,但功能可满足一般工业控制和智能化仪器、仪表等的需要。这种采用将CPU与计算机外围电路集成到一块芯片上的技术,标志着单片机与通用CPU的分道扬镳,在构成新型工业微控制器方面取得了成功,为进一步发展单片机开辟了成功之路。第3阶段(19801983):高性能单片机阶段。这一阶段推出的高性能8位单片机普遍带有串口,多级中断处理系统,多个16位定时器/计数器。片内RAM、ROM的容量加大,且寻址范围可达64KB,个别片内还带有A/D转换接口。其典型为1980年Inter公司推出的MCS-51系列单片机,其它代表产品有Motorola公司的6810和Zilog公司的Z8等。这类单片机拓宽了单片机的应用领域,使之能用于智能终端、局部网络的接口等。因而,它是目前国内外产品的主流,各制造公司还在不断地改进和发展它。第4阶段(198380年代末):16位单片机阶段。1983年Intel新的制造工艺,使芯片集成度高达12万只晶体管/片列,随后公司又推出了高性能的16位单片机MCS-96系列。CPU为16位,支持16位算术逻辑运算,并具有32位除16位的进一步增大;除两个16位定时器片内RAM和ROM容量更大外,还可以设定4个软件定时器;具有8个中断源;片内带有多通道;运算速度和控制功能大幅度提高,具有很强的实时处理能力。高精度A/D转换和高速输入、输出部件(HSIO)。第5阶段(90年代):单片机在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。如:CPU的位数有8位、一步采用双CPU结构或内部流水线结构16位、32位。而结构上更进,以提高处理能力和运算速度;时钟频率高达20MHz,使指令执行速度相对加快;提供新型的串行总线结构,为系统的扩展与配置打下了良好的基础;增加新的特殊功能部件(例如:PWM输出、监视定时器WDT、可编程计数器阵列PCA、DMA传输、调制解调器、通信控制器、浮点运算单元等);半导体制造工艺的不断改进,使芯片向高集成化、低功耗方向发展等等。以上这些方面的发展,使单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等方面得到大量应用。2.单片机的应用由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。按照单片机的特点,其应用可分为单机应用与多机应用。(1)单机应用在一个应用系统中,只使用一片单片机称为单机应用,这是目前应用最多的一种方式。单机应用的主要领域有:测控系统、智能仪表、机电一体化产品、智能接口、智能民用产品等。(2)多机应用单片机的多机应用系统可分为:功能集散系统、并行多机处理及局部网络系统。综上所述,目前单片机已用于工业控制、机电一体化、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等各个领域。3.1.2 MCS-51的硬件结构1.MCS-51系列单片机内部结构MCS-51系列单片机的内部结构框图如图3-1所示。MCS-51单片机是把那些作为控制应用所必需的基本功能部件都集中在一个尺寸有限的集成电路芯片上。随着大规模集成电路技术的发展,其控制系统已能够取代以前利用复杂电子线路或数字电路构成的控制系统,还可以用软件控制来实现,并能够实现智能化。它由如下功能部件组成:微处理器(CPU)。MCS-51单片机中有1个8位的CPU,它由运算器和控制器等部件组成。CPU是单片机的核心部件,决定了单片机的主要功能特性。数据存储器(RAM)。片内为128byte(52子系列为256byte外数据存储器的寻址)其片址范围为64KB,用于存放可读写的数据,如运算的中间结果或最终结果等。程序存储器(ROM/EPROM/EEPROM/FLASH EEPROM)(8031和8032没有此部件)。其片外最多可扩只读存储器的容量至64KB,主要用于存放已编写的程序,也可以存放一些原始数据和表格。中断系统。具有5个中断源,可编程为2个优先级的中断系统。它可以接收外部中断申请,定时器/计数器中断申请和串行口中断申请。常用于实时控制,故障自动处理,计算机与外设间传送数据及人机对话等。定时器/计数器。片内有2个16位定时器/计数器(52子系列有3个16位定时器/计数器),具有四种工作方式。它可以设置为计数方式对外部事件进行计数,也可以设置为定时方式进行定时。计数或定时的范围由软件来设定,一旦计数或定时到则向CPU发出中断请求,CPU根据计数或定时的结果对计算机或外设进行控制。1个片内振荡器及时钟电路。4个8位并行I/O接口(PO口、P1口、P2口、P3口)32条可编辑I/O线,用于并行数据的输入或输出。1个串行I/O接口。它可使数据一位一位地在计算机与外设之间串行传递,可用软件设置为4种工作方式,用于多处理机和通讯、I/O口扩展或全双工通用异步接收器(UART)。特殊功能寄存器SFR。特殊功能寄存器共有21个,用于控制和管理内部接口工作。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能RAM区。由此可见,MCS-51单片机的硬件结构具有功能部件种类全、功能强等特点。图3-1 MCS-51系列单片机内部结构框图2.89S51单片机的引脚89S51单片机芯片为40个引脚,HMOS工艺制造的芯片采用双列直插(DIP)方式封装,其引脚示意图如图3-2所示。AT89S51为40个引脚中有电源引脚,时钟引脚,控制引脚以及I/O口引脚。 下面结合图3-2来介绍各引脚的功能。(1)电源引脚电源引脚接入单片机的工作电源Vcc(40脚):接+5V电源正端。Vss(20脚):接地端。图3-2 89S51单片机引脚示意图(2)时钟引脚两个时钟引脚构成了一个振荡器,它为单片机提供了时钟控制信号。两个时钟引脚XTAL1、XTAL2外接晶体与片内的反相放大器构成可外接独立的晶体振荡器。XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端,来自反向振荡器的输出。(3)控制引脚此类引脚提供控制信号,还具有其他功能。RST/VPD(9脚) RST即为RESET,是复位信号输入端,高电平有效。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平时,就可完成复位操作,使单片机恢复到初始状态。在单片机正常工作时,9脚应小于或等于0.5V的低电平。VPD为本引脚的第二功能,即备用电源输入端。当主电源Vcc发生故障时,降低到规定值的低电平或掉电时,该引脚将+5V电源将自动接入到RST端,为内部RAM提供备用电源,以保证片内RAM中的数据不丢失,从而使单片机在复位后能继续正常运行。ALE/(Address Latch Enable/PROGramming,30脚)ALE为地址锁存允许信号,当单片机正常工作后,ALE引脚不断输出正脉冲信号。当单片机访问外部存储器时,ALE输出信号的负跳沿用作单片机发出的8位地址(经外部锁存器锁存)的锁存控制信号。即使不访问外部存储器,ALE端仍有正脉冲信号输出,此频率为时钟振荡器频率的1/6。应当注意的是,每当MCS-51访问外部数据存储器时(即执行的是MOVX指令),在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。因此,严格来说,用户不宜用ALE作精确的时钟源或定时信号。ALE端可以驱动8个LS型TTL负载。为本引脚的第二功能。在对片内EPROM型单片机编程写入时,此引脚作为编程脉冲输入端。 (Program Strobe Enable,29脚)程序存储器允许输出控制端,低电平有效。在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿作为读外部程序存储器的选通信号。此脚接外部程序存储器的OE(输出允许端)。取指期间,每个机器周期两次/PSEN均有效,以通过数据总线口读回指令或常数。当访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/VPP(Enable Address/Voltage Pulse of Programming,31脚)功能为内/外程序存储器选择控制端。 当 脚为高电平时,单片机访问片内程序存储器,但在PC超过OFFFH(4Kbyte地址范围,对8051,8751)时,将自动转向执行外部程序存储器内的程序。当脚为低电平时,单片机则只访问外部程序存储器,不论是否有内部程序存储器。对于8031,因其无内部程序存储器,所以该脚必须接地。功能为内/外程序存储器选择控制端。Vpp为本脚的第二功能。在对EPROM型单片机8751片内EPROM固化编程时,用于施加较高的编程电压;对于89S51来说,则加在Vpp脚的编程电压为+5V。(4)I/O口引脚P0口(39脚32脚):P0.0P0.7统称为P0口。当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部存储器或扩展I/O接口时,P0口为地址/数据分时复用口,它分时提供8位地址总线和8位双向数据总线。P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻态。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口(1脚8脚):P1.0P1.7统称为P1口,可作为准双向I/O接口使用。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。对EPROM编程和进行程序验证时,P1口接收输入的低8位地址。在FLASH编程和校验时,P1口作为第八位地址接收。P2口(21脚28脚):P2.0P2.7统称为P2口,P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流,这是由于内部上拉的缘故。当P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口(10脚17脚):P3.0P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入/输出或第二功能。P3口的第二功能,如下所示:P3.0 RXD(串行输入口)。P3.1 TXD(串行输出口)。P3.2 (外部中断0)。P3.3 (外部中断1)。P3.4 T0(定时器0外部计数输入)。P3.5 T1(定时器1外部计数输入)。P3.6 (外部数据存储器写选通)。P3.7 (外部数据存储器读选通)。P3口同时为闪烁编程和编程校验接收一些控制信号。3.2 振荡电路单片机的定时控制功能是由片内的时钟电路和定时电路来完成的,时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍的工作,因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性,常用的单片机时钟电路有两种方式:内部时钟方式和外部时钟方式,如图3-3(a)、(b)所示。采用内部时钟方式时,如图3-3(a)所示。MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2,这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器,向内部时钟电路提供振荡时钟。电路中的电容C1和C2典型值一般都选为30pf左右,对外接电容的值虽然没有严格的要求, 但是电容的大小会影响振荡频率的高低和振荡器的稳定性以及起振的快速性,晶体的振荡频率的范围通常是在1.2MHz12MHz之间,晶体的振荡频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。但是反过来运行速度快对存储器的速度要求越高,对印刷电路板的工艺要求也高,即要求线间的寄生电容要小,MCS-51单片机常选择振荡频率6MHz或12MHz的石英晶体。12MHz(a) 内部振荡器方式 (b)外部振荡器方式图3-3 MCS-51单片机时钟产生方式采用外部时钟方式时,如图3-3(b)所示。外部振荡信号通过XTAL2端直接接至内部时钟电路,这时内部反相放大器的输入端XTAL1端应接地。通常外接振荡信号为低于12MHz的方波信号。本次设计中本电路选用内部振荡器方式,晶体振荡器频率为12MHz,如图3-3(a)所示。选用内部振荡器比选用外部时钟电路简单并且易于实现,最重要的是此电路易于调试,而且精度高。3.3 复位电路复位电路可分为上电复位和外部复位两种方式。电路如图3-4所示,通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。MCS-51单片机在时钟电路工作以后,在RST/VPD端持续给出2个机器周期的高电平就可以完成复位操作(一般复位正脉冲宽度大于10ms)。上电复位是在单片机接通电源时,对单片机的复位。上电复位电路如图3-4(a)所示,在上电瞬间RST/VPD端与VCC电位相同,随着电容上电压的逐渐上升,RST/VPD端电位逐渐下降。上电复位所需的最短时间是振荡器振荡建立时间加2个机器周期。复位电路的阻容参数通常由实验调整。图3-4(a)参考电路中,电路参数C取22uF,R取1K,可在RST/VPD端提供足够的高电平脉冲,使单片机能够可靠地上电自动复位。图3-4(b)所示既可进行上电自动复位,也可外部手动复位的电路示意图,R1可取200左右。当需要外部复位时,按下复位按钮即可达到复位目的。本文采用的是上电/外部复位电路,如图3-4(b)所示。复位电路比上电复位电路在应用上更加实用、易于随时对单片机复位。 (a)上电复位电路 (b)上电/外部复位电路 图3-4 复位电路的两种方式此外,基于89S51设计有稳态逻辑,以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.4 温湿度采集与传输模块3.4.1 选用SHT11的原因本设计共涉及两类数据温度和湿度,因此需要两个传感器芯片,一个负责温度采集,另一个负责湿度采集。若采用独立式传感器芯片,会给程序带来不变,也会给单片机增加负担。因此,本设计选用一款集温度、湿度测量于一体的复合式传感器SHT11。数字温湿度传感器是一款含有已校准数字信号输出的复合式传感器。芯片内部主要由相对湿度传感器,温度传感器,校准存储器,14位A/D转换器,信号放大器和IC总线接口构成。SHT11具有温度和相对湿度测量,露点值计算输出、全部校准、数字输出、免外围电路、低功耗等优点。是本设计理想的温湿度测量与传输芯片。3.4.2 SHT11温湿度传感器(1)SHT11简介SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。其主要特点如下:高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上;提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;测量精度可编程调节,内置A/D转换器(分辨率为812位,可以通过对芯片内部寄存器编程来选择);测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能;封装尺寸超小(7.62 mm5.08mm2.5 mm),测量和通信结束后,自动转入低功耗模式;高可靠性,采用CMOSens工艺,测量时可将感测头完全浸于水中。(2)SHT11的引脚功能SHT11温湿度传感器采用SMD(LCC)表面贴片封装形式,接口非常简单,引脚名称及排列顺序如图3-5所示:图3-5 SHT11引脚图脚1和4信号地和电源,其工作电压范围是2.45.5V;脚2和脚3-二线串行数字接口,其中DATA为数据线,SCK为时钟线;脚58空脚。(3)SHT11的内部结构和工作原理温湿度传感器SHT11将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的A/D转换器;最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在恒湿或恒温环境内进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT11内部还集成了一个加热元件,加热元件接通后可以将SHT11的温度升高5左右,同时功耗也会有所增加。此功能主要为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(95RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT11温度升高、相对湿度降低,较加热前,测量值会略有差异。 微处理器是通过二线串行数字接口与SHT11进行通信的。通信协议与通用的IC总线协议是不兼容的,因此需要用通用微处理器IO口模拟该通信时序。微处理器对SHT11的控制是通过5个5位命令代码来实现的,命令代码的含义如表3-1所示:表3-1 SHT11控制命令代码命令代码 含义00011测量温度00101测量湿度00111读内部状态寄存器00110写内部状态寄存器11110复位命令,是内部状态寄存器恢复默认值,下一次命令前至少等待11ms其他保留3.4.3 SHT11与单片机的接口电路设计由于SHT11是一个串行器件,而AT89S51不具备IC总线接口,故需要用单片机通用I/O口线来虚拟IC总线,本设计利用P1.5口线来模拟时钟线,P1.6口线来模拟数据线。为避免信号冲突,单片机应驱动DATA在低电平,需要加一个外部上拉电阻将信号拉至高电平,本设计采用两个10K的电阻分别作为时钟线和数据线的上拉电阻;另外,为了达到去耦滤波的目的,应在VCC和GND端接入一个0.1uF的电容;SHT11有三个地址位,由于目前只支持“000”,4个NC引脚悬空。SHT11与单片机的接口电路如图3-6所示:图3-6 SHT11与单片机接口电路3.5 显示模块 LCD16023.5.1 选用1602字符型LCD的原因目前,市场上比较常见的显示器有两种:LED数码管和LCD液晶显示器。相比之下,LCD显示质量高,功耗低。因此,本设计采用液晶显示器。考虑到该款温湿度计涉及温度和湿度两类数据,故选用双行显示的1602字符型LCD。1602字符型LCD是一种专门用于显示字母、数字、符号等点阵式液晶显示模块,显示容量为162个字符;模块的最佳工作电压为5.0V,工作电流为2.0mA;字符尺寸为2.954.35(WH)mm。1602LCD分为带背景光和不带背景光两种,在应用中二者并无差别,为了便于在光线较弱的环境中读数,本设计采用带背景光的。3.5.2 LCD1602液晶显示(1)1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm(2)引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明:第1脚:VSS为接地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。在本设计中用到的1602的主要引脚有5个,见表3-2:表3-2 1602主要引脚功能表引脚功能VL液晶显示器对比调整端RS寄存器选择R/W读写信号线E使能端D0D78位双向数据线LED+,LED-背景光正、负极 (3)1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令。1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明: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:读数据。与HD44780相兼容的芯片时序表如下:表3-3 基本操作时序表读状态输入RS=L R/W=H E=H输出D0D7=状态字写指令输入RS=L R/W=L D0D7=指令码 E=高脉冲输出无读数据输入RS=H R/W=H E=H输出D0D7=数据写数据输入RS=H R/W=L D0D7=数据 E=高脉冲输出无读写操作时序如图3-7和3-8所示:图3-7 读操作时序图3-8 写操作时序(4)1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3-9是1602的内部显示地址。图3-9 1602LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图3-10所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”图3-10 字符代码与图形对应图(5)1602LCD的一般初始化(复位)过程延时15ms写指令38H(不检测忙信号)延时5ms写指令38H(不检测忙信号)延时5ms写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置3.6 按键电路设计由于该款温湿度计应用于对空气中的温湿度进行测量,当湿度达到某一数值时需要启动加湿功能,因此需要设定一个湿度值。为此,本设计增加了4个按键,其中K1键为设定键,K2键为光标右移键,K3为循环加1键,K4为确定键,分别与单片机的P1.0、P1.1、P1.2、P1.3口相连。按键未被按下时,4个I/O口均为高电平;一旦按键按下,对应的I/O口被拉为低电平。以此来实现软件程序设计中的按键扫描。按键电路如图3-11所示:图3-11 按键电路3.7 加湿部分此部分采用超声波雾化器,当湿度达到某一数值时电路启动加湿功能,即超声波雾化器实现喷雾功能从而对空气进行加湿。超声波雾化器利用电子高频震荡(振荡频率为1.7MHz 或2.4MHz,超过人的听觉范围,该电子振荡对人体及动物绝无伤害),通过陶瓷雾化片的高频谐振,将液态水分子结构打散而产生自然飘逸的水雾,不需加热或添加任何化学试剂。与加热雾化方式比较,能源节省了90%。另外在雾化过程中将释放大量的负离子,其与空气中漂浮的烟雾、粉尘等产生静电式反应,使其沉淀,同时还能有效去除甲醛、一氧化碳、细菌等有害物质,使空气得到净化,减少疾病的发生。加湿电路如图3-12所示:图3-12 加湿电路加湿电路工作原理为:当温湿度传感器SHT11检测到室内的湿度超过设定值时,单片机通过P1.5、P1.6引脚采集到此数据,此时单片机的P2.4口送出一个高电平,通过三极管驱动超声波雾化器,使超声波雾化器工作,超声波雾化器喷出水雾从而对室内空气进行加湿,这就实现了加湿功能。本章小结本章主要介绍了温湿度传感器的硬件电路设计,具体分为了控制模块、温湿度采集模块、液晶显示模块、加湿模块,并对这几个模块的硬件设计进行了具体的描述,详细说明了每个模块将要完成什么样的功能,对所涉及的芯片进行了具体的介绍,例如单片机、温湿度传感器、LCD1602等。第4章 整机工作原理整机电路原理图见附录3,通过整机电路图可知整机电路工作原理为:接通电源,按下电源开关后电路上电后,通过软件进入LCD测试程序,通过P2.3点亮LCD显示器,此时说明电路已经可以开始工作;通过按复位开关使程序复位,这样可以保证对LCD显示器初始化以及对温湿度传感器(SHT11)时时检测,使电路正常运行。通过按键对温湿度的数值范围进行预先的设定,作为是否启动超声波雾化器的条件,通过4个按键完成这部分功能。温湿度传感器(SHT11),采用串行通信,传输线就比较简单只需要单片机的P1.5,P1.6两个引脚就可以实现数据传输。单片机只需要时时检测P1.5,P1.6两个引脚就可以完成数据的采集,再通过调用LCD显示的子程序就可以实现时时显示温湿度的情况,同时还要判断是否已超出已设定好的温湿度的范围,如果超出,就通过单片机的P2.4送出一个高电平,作为启动超声波雾化器的控制信号。与此同时依然通过温湿度传感器(SHT11)对温湿度时时监测,已达到预设定的温湿度要求。第5章 软件程序设计5.1 主程序首先,单片机通过IC总线读写程序将温湿度数据从SHT11中读出来,然后,根据温湿度补偿(主要指非线性补偿)公式计算出当前温湿度值并送到1602显示;接着,单片机将温湿度值读取出来,若湿度达到设定的值时,单片机令P2.3为高电平,超声波雾化器开始加湿。程序流程图:开始初始化清屏读取实时温度值显示有无按键按下送显示设定值=实验值?结束否否是加湿控制是图5-1 基于单片机的温湿度计的主程序流程图5.2 温湿度采集子程序(1)设计思路单片机首先向温湿度传感器SHT11发出启动传输命令,然后通过写总线子程序将温度测量指令(地址位000+命令位00011)或者湿度测量指令(000+命令位00101)写入SHT11。传感器正确接收到温度测量指令后,就会进行数据采集,单片机要等到测量完成,随后SHT11向单片机传送两字节测量数据(MSB和LSB)与1字节CRC校验码,单片机则通过读总线子程序将温湿度数据读取出来。读子程序流程图:图5-2 获取温湿度子程序(2)SHT11时序问题从SHT11中读取数据以及往SHT11中写指令都涉及到了时序问题,下面简要介绍一下SHT11相关时序:启动传输时序:当SCK为高时DATA翻转为低电平,紧接着SCK变为低电平,然后在SCK位高电平时DATA翻转为高电平。测量时序:当单片机发出了启动传输命令,且SHT11正确接收到温(湿)度测量命令后,单片机就要等到测量完成。为表明测量完成,SHT11会使数据线为低,此时单片机必须重新启动SCK。然后SHT11向单片机传送两字节测量数据(MSB、LSB)与1字节CRC校验码。在传输过程中控制器必须通过使DATA为低来确认每一字节,所有的测量值从右算MSB列于第一位。通讯在确认CRC数据位后停止。如果没有用CRC-8校验码,则单片机需要在测量数据LSB后,保持ACK为高来停止通讯。连接复位时序:当DATA线处于高电平时,触发SCK9次以上(含9次),并随后发一个前述的“传输开始”命令。5.3 温湿度显示子程序(1)设计思路由于温湿度传感器的非线性因素的影响,单片机直接从SHT11读取的温湿度数据并不准确,必须经过相对湿度和温度的非线性补偿公式、相对湿度对于温度的依赖性补偿公式进行修正。然后,单片机通过往1602写数据子程序将修正后的数据写入1602显示出来。送显之前,单片机会通过1602写指令子程序往1602中写入显示字符地址,来设定显示位置。特别值得注意的是,液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则指令失效。因此,单片机往1602写指令或数据之前,都要确认液晶模块空闲。读子程序流程图:图5-3 显示温湿度子程序流程图湿度补偿设置湿度显示位置显示湿度显示温度设置温度显示位置温度补偿结束开始(2)温湿度修正公式温度非线性补偿公式:t1=ntemp0.01-40相对湿度非线性补偿公式: Flt0=0.0405nhum-0.0000028nhumnhum-4相对湿度对于温度的依赖性补偿公式: Flt1=(t1-25) (0.01+0.00008

温馨提示

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

最新文档

评论

0/150

提交评论