毕业设计(论文)基于at89c51单片机温湿度显示报警系统设计_第1页
毕业设计(论文)基于at89c51单片机温湿度显示报警系统设计_第2页
毕业设计(论文)基于at89c51单片机温湿度显示报警系统设计_第3页
毕业设计(论文)基于at89c51单片机温湿度显示报警系统设计_第4页
毕业设计(论文)基于at89c51单片机温湿度显示报警系统设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

基于AT89C51单片机温湿度显示报警系统设计1引言11选题背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快1。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势2。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法3。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命4。单片机模块中最常见之一的是传感器,温湿度显示报警系统是一种基于单片机的用数字电路技术实现温湿度控制的装置,在实践社会生产当中拥有广泛的应用。12目的和意义随着社会的发展,人们对时间和环境中的温度及湿度的要求越来越高,尤其在日常的生活中和人们的生活和健康有着紧密的联系,特别是当人们乘坐公共交通工具时,温湿度以及实时时间和人们的出行都有着密切的联系。温湿度控制在日常生活中使用比较普遍,如各种仪器控制箱、温室或生产车间的温度湿度控制、空调列车车厢空气环境的控制等5。常见的低端产品多采用机械指针式或水银柱式温湿度计,体积小、质量轻、价格低、安装简便。但是,此类产品测量精度低,没有LED显示屏,不能向智能化方向发展,不利于进行功能扩展,如不能自动报警6。目前,虽然在工业生产中和科研实验中通过对温湿度测量来进行自动控制的设备越来越普及,应用场合也越来越多。但是,随之而来的问题是如何能够测得精确的温湿度以保证自动控制设备能够正确地发出控制指令来控制生产过程。另一方面,如果温度或者湿度过高过低可能会对一些设备中的一些半导体元器件造成损坏7。因此,对于自动温湿度报警的需求也在逐渐增加。本文基于以上方面的考虑,研究并设计了一种基于单片机的自动温湿度显示与报警系统。一般温湿度控制系统中的温湿度测量均采用热敏电阻与湿敏电容,这种传统的模拟式温湿度传感器一般都需要设计信号调理电路并经过复杂的校准和标定过程,因此测量精度难以保证,且在线性度、重复性、互换性等方面也存在一定问题8。这种传感器只适合那些测量点数较少,对精度要求不高的场合。因此设计出一款基于单片机的精度高、稳定性好、成本低的温湿度显示报警系统具有重要实际意义。13技术要求和设计范围现代社会越来越多的实验都要求在严格的环境条件下完成,而温度和湿度是实验室最基本的环境条件,也是对实验影响较大的因素。一般温湿度控制系统中的温湿度测量均采用热敏电阻与湿敏电容9,这种传统的模拟式温湿度传感器一般都需要设计信号调理电路并经过复杂的校准和标定过程,因此测量精度难以保证,且在线性度、重复性、互换性等方面也存在一定问题。这种传感器只适合那些测量点数较少,对精度要求不高的场合。因此设计出一款精度高、稳定性好、成本低的温湿度检测控制系统将具有一定的市场。本系统采用具有高精度10、防干扰等优点的数字式传感器SHT11,不需要外部元件,可适配各种单片机。这为开发新一代的温湿度测控系统提供了有利条件,同时也有助于将温湿度测控技术提高到新的水平。14发展现状单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段11。(1)SCM即单片微型计算机阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。(2)MCU即微控制器阶段12,主要的技术发展方向是不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。(3)单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素13,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展14,基于SOC的单片机应用系统设计会有较大的发展。智能温度传感器在20世纪90年代中期问世。它是微电子技术、计算机技术和自动测试技术的结晶。目前,国际上已开发出多种智能温度传感器系列产品。智能温度传感器内部包含温度传感器、A/D传感器15、信号处理器、存储器和接口电路。有的产品还带多路选择器、中央控制器、随机存取存储和只读存储器。智能温度传感器能输出温度数据及相关的温度控制量,适配各种微控制器,并且可通过软件来实现测试功能,温度计也越来越智能化。跟电子温度计一样湿度计随着湿度传感器的发展趋于成熟。随着智能检测系统的飞速发展,基于单片机的温湿度检测系统将多传感器系统结合在一起。如何把多传感器集中于一个检测控制系统,综合利用来自多传感器的信息,获得对被测对象的可靠了解和解释,以利于系统做出正确的响应、决策和控制以及报警,是智能检测控制统中需要解决的重要问题。2方案论证21方案设计思路温湿度报警系统的设计以单片机AT89C51为核心,通过控制单片机的P1口的一些端口来调节当前温湿度的显示,完成了温湿度的显示报警功能,在程序中设置温湿度范围后,达到指定范围后让LED灯的闪亮来实现温湿度控制的效果,让LED1602液晶屏接到单片机的串口上,赋值来控制1602的显示。因此,整个方案设计包含四个部分,即单片机最小系统部分、显示部分、温湿度数据采集部分、报警部分。22方案选择方案单片机编程,用单片机设计电路,充分利用好AT89C51单片机的I/O口,使用软硬件结合的方式,具体的基本框图如图161所示单片机AT89S51温湿度传感器被测对象显示部分报警部分图1单片机设计电路的基本框图方案选择从上述原理图看来,这种设计方案电路结构简单,条理清晰,调试也相对方便,易于实现。23设计流程对于温湿度显示报警系统的设计,先用PROTEUS做电路仿真,再在KEIL软件中编写程序生成源代码,最后将PROTEUS和KEIL连接起来进行在线仿真。设计流程如图172所示。图2系统设计流程图24软件环境241PROTEUS软件本设计主要用PROTEUS75电子设计软件进行电子线路的设计和仿真。PROTEUS软件的功能很强大,它不仅可以在线仿真模拟电子,数字电子和单片机,还可以将设计直接转换成PCB版图18,因此,受到众多电子工程师的喜爱。电路原理图的设计是仿真中的第一步,也是非常重要的一步。电路原理图设计得好坏将直接影响到后面的工作。首先,原理图的正确性是最基本的要求,因为在一个错误的基础上所进行的工作是没有意义的;其次,原理图应该布局合理,这样不仅可以尽量避免出错,也便于读图、便于查找和纠正错误;最后,在满足正确性和布局合理的前提下应力求原理图的美观。电路原理图的设计过程可分为以下几个步骤(1)置电路图纸参数及相关信息根据电路图的复杂程度设置图纸的格式、尺寸、方向等参数以及与设计有关的信息,为以后的设计工作建立一个合适的工作平面。PROTEUS电路设计源程序设计生成目标代码基于PROTEUS仿真(2)装入所需要的元件将所需的元件装入设计系统中,以便从中查找和选定所需的元器件。(3)设置元件将选定的元件放置到已建立好的工作平面上,并对元件在工作平面上的位置进行调整,对元件的序号、参数、显示状态等进行定义和设置,以便为下一步的仿真工作打好基础。(4)连线电路图利用PROTEUS所提供的各种工具、命令进行画图工作,将事先放置好的元器件用具有电气意义的导线、网络标号等连接起来,布线结束后,一张完整的电路原理图基本完成。(5)调整、检查和修改利用PROTEUS所提供的各种工具对前面所绘制的原理图做进一步的调整和修改。(6)补充完善对原理图做一些相应的说明、标注和修饰,增加可读性和可观性。(7)仿真这部分工作主要是对设计完成的原理图结合KEIL在线仿真,调试并修改程序。242KEILC51软件KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KEILC51软件提供丰富的库函数和功能强大的集成开发调试工具,全WINDOWS界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KEILC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种KEIL软件图标是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,KEIL软件是目前最流行开发MCS51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持KEIL即可看出。KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些部份组合在一起。运行KEIL软件需要PENTIUM或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么KEIL几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。下面详细介绍KEILC51开发系统各部分功能和使用。(1)KEILC51单片机软件开发系统的整体结构C51工具包的整体结构,其中UVISION与ISHELL分别是C51FORWINDOWS和FORDOS的集成开发环境IDE,可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件OBJ。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件ABS。ABS文件由OH51转换成标准的HEX文件,以供调试器DSCOPE51或TSCOPE51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。(2)使用独立的KEIL仿真器时,注意事项仿真器标配110592MHZ的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。仿真器上的复位按钮只复位仿真芯片,不复位目标系统。仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。3过程论述31AT89C51单片机最小系统311AT89C51单片机最小系统原理图最小系统包括晶体振荡电路、复位开关和电源部分19。下面图3为AT89C51单片机的最小系统电路图。图3单片机最小系统电路图312电源引脚VCC40电源端GND20接地端工作电压为5V,另有AT89LV51工作电压则是276V,引脚功能一样。313外接晶体引脚XTAL119XTAL218图4晶振连接的内部、外部方式图晶振连接的内部、外部方式如上图4所示。XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHZ,时钟频率就为6MHZ。晶振的频率可以在1MHZ24MHZ内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHZ,电容应尽可能的选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。314复位RST9在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用6MHZ时,C取22F,RS约为200,RK约为1K。复位操作不会对内部RAM有所影响。常用的复位电路如下图6所示图5常用复位电路图315输入输出引脚1P0端口P00P07P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部FLASH程序存储器编程时,接收指令字节校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址低8位/数据总线,访问期间内部的上拉电阻起作用。2P1端口P10P17P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部FLASH程序存储器编程时,接收低8位地址信息。3P2端口P20P27P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部FLASH程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。4P3端口P30P37P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部FLASH程序存储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,具体如下表1。表1P3端口引脚兼用功能表P3引脚兼用功能P30串行通讯输入(RXD)P31串行通讯输出(TXD)P32外部中断0(INT0)P33外部中断1(INT1)P34定时器0输入T0P35定时器1输入T1P36外部数据存储器写选通WRP37外部数据存储器写选通RD32LCD1602显示系统321LCD1602显示系统液晶显示器普遍地用于直观地显示数字系统或字符的运行状态和工作数据,按照材料及产品工艺20,单片机应用系统中常用的显示器有发光二极管LED显示器、液晶LCD显示器、CRT显示器等。LCD显示器是现在最常用的显示器之一,其仿真电路图如下所示。图6LED1602显示器的符号322液晶显示器简介(1在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。在单片机系统中应用晶液显示器有以下几个优点显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。(2液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。(3液晶显示器的分类液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(STATIC)、单纯矩阵驱动(SIMPLEMATRIX)和主动矩阵驱动(ACTIVEMATRIX)三种。(4一般1602字符型液晶显示器实物如图所示21图7型液晶显示器实物图323LCD1602引脚功能说明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脚背光源负极。324LCD1602的指令说明及时序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地址设置。指令8DDRAM地址设置。指令9读忙信号和光标地址BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10写数据。指令11读数据。1602液晶模块内部的控制器共有11条控制指令,如表2所示。表21602液晶模块内部的控制器的11条控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回0000000013置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L6置功能00001DLNF7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容基本操作时序表与读写操作时序如表3和图8,9所示。表3基本操作时序表读状态输入RSL,R/WH,EH输出D0D7状态字写指令输入RSL,R/WL,D0D7指令码,E高脉冲输出无读数据输入RSH,R/WH,EH输出D0D7数据写数据输入RSH,R/WL,D0D7数据,E高脉冲输出无图8读操作时序图9写操作时序325程序流程图详细程序见附录图10程序流程图33SHT10传感器331温湿度传感器电路图图11温湿度传感器电路图显示第二行内容开始LCD初始化设第一行显示位置设第二行显示位置延时显示第一行内容332产品简介SHT10属于SENSIRION温湿度传感器家族中的贴片封装系列22。传感器将传感元件和信号处理电路集成在一块微型电路板上,输出完全标定的数字信号。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与14位的A/D转换器以及串行接口电路实现无缝连接。因此,该产品具有品质卓越、响应迅速、抗干扰能力强、性价比高等优点。传感器芯片此说明书适用于SHT1XV4。SHT1XV4是第四代硅传感芯片,除了湿度、温度敏感元件以外,还包括一个放大器,A/D转换器,OTP内存和数字接口。材质传感器的核心为CMOS芯片,外围材料顶层采用环氧LCP,底层为FR4。传感器符合ROHS和WEEE标准,因此不含PB,CD,HG,CR6,PBB,PBDE。333SHT10引脚图12SHT10引脚图(1)电源引脚VDD、GNDSHT10的供电电压范围为2455V,建议供电电压为33V。在电源引脚(VDD,GND)之间须加一个100NF的电容,用以去耦滤波。SHT10的串行接口,在传感器信号的读取及电源损耗方面,都做了优化处理;传感器不能按照I2C协议编址,但是,如果I2C总线上没有挂接别的元件,传感器可以连接到I2C总线上,但单片机必须按照传感器的协议工作。(2)串行时钟输入SCKSCK用于微处理器与SHT10之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCK频率。(3)串行数据DATADATA引脚为三态结构,用于读取传感器数据当向传感器发送命令时,DATA在SCK上升沿有效且在SCK高电平时必须保持稳定。DATA在SCK下降沿之后改变。为确保通讯安全,DATA的有效时间在SCK上升沿之前和下降沿之后应该分别延长至TSUANDTHO参见图11。当从传感器读取数据时,DATATV在SCK变低以后有效,且维持到下一个SCK的下降沿。为避免信号冲突,微处理器应驱动DATA在低电平。需要一个外部的上拉电阻(例如10K)将信号提拉至高电平。上拉电阻通常已包含在微处理器的I/O电路中加重的DATA线由传感器控制,普通的DATA线由单片机控制有效时间依据SCK的时序图13时序图图14启动传输时序图后续命令包含三个地址位(目前只支持000”),和五个命令位。SHT1X会以下述方式表示已正确地接收到指令在第8个SCK时钟的下降沿之后,将DATA下拉为低电平(ACK位)。在第9个SCK时钟的下降沿之后,释放DATA(恢复高电平)。334传感器的通讯(1)启动传感器首先,选择供电电压后将传感器通电,上电速率不能低于1V/MS。通传感器需要11MS进入休眠状态,在此之前不允许对传感器发送任何命令。(2)发送命令用一组“启动传输”时序,来完成数据传输的初始化。它包括当SCK时钟高电平时DATA翻转为低电平,紧接着SCK变为低电平,随后是在SCK时钟高电平时DATA翻转为高电平。参见图12。“启动传输“时序后续命令包含三个地址位(目前只支持000”),和五个命令位。SHT1X会以下述方式表示已正确地接收到指令在第8个SCK时钟的下降沿之后,将DATA下拉为低电平(ACK位)。在第9个SCK时钟的下降沿之后,释放DATA(恢复高电平)。命令代码预留0000X温度测量00011湿度测量00101读状态寄存器00111写状态寄存器00110预留0101X1110X软复位,接口复位,状态寄存器复位即恢复为默认状态在要发送下一个命令前,至少等待11MS(3)温湿度测量23发布一组测量命令(00000101表示相对湿度RH,00000011表示温度T)后,控制器要等待测量结束。这个过程需要大约20/80/320MS,分别对应8/12/14BIT测量。确切的时间随内部晶振速度,最多可能有30的变化。SHT1X通过下拉DATA至低电平并进入空闲模式,表示测量的结束。控制器在再次触发SCK时钟前,必须等待这个“数据备妥”信号来读出数据。检测数据可以先被存储,这样控制器可以继续执行其它任务在需要时再读出数据。接着传输2个字节的测量数据和1个字节的CRC奇偶校验(可选择读取)。UC需要通过下拉DATA为低电平,以确认每个字节。所有的数据从MSB开始,右值有效(例如对于12BIT数据,从第5个SCK时钟起算作MSB;而对于8BIT数据,首字节则无意义)。在收到CRC的确认位之后,表明通讯结束。如果不使用CRC8校验,控制器可以在测量值LSB后,通过保在测量和通讯结束后,SHT1X自动转休眠模式。(4)通讯复位时序如果与SHT1X通讯中断,可通过下列信号时序复位当DATA保持高电平时,触发SCK时钟9次或更多,参阅图13。接着发送一个“传输启动”时序。这些时序只复位串口,状态寄存器内容仍然保留。图15复位时序(5)CRC8CHECKSUM计算数据传输的可靠性由CRC8的校验来保证它确保可以检测并去除所有错误数据。状态寄存器SHT1X的某些高级功能可以通过给状态寄存器发送指令来实现,如选择测量分辨率,电量不足提醒或启动加热功能等。在读状态寄存器或写状态寄存器之后,8位状态寄存器的内容将被读出或写入,如图所示。图168位状态寄存器的内容335信号转换(1)相对湿度湿度的非线性补偿请参阅下图,为获得精确的测量数据,建议用以下公式进行信号转换。LINEAR12RH3RHRHCCSOCSORH图17从SORH到相对湿度的转化(2)湿度信号的温度补偿由于实际温度与测试参考温度2577的显著不同,湿度信号需要温度补偿。温度校正粗略对应于012RH/50RH。TRUEC12RHLINEARRHT25TTSORH温度由能隙材料PTAT正比于绝对温度研发的温度传感器具有极好的线性。可用如下公式将数字输出SOT转换为温度值,温度转换系数如下图所示。12TTDDSO图18温度转换系数1(3)露点SHT1X并不直接进行露点测量,,但露点可以通过温度和湿度读数计算得到。由于温度和湿度在同一块集成电路上测量,SHT1X可测量露点。露点的计算方法很多,绝大多数都很复杂。对于4050C温度范围的测量,通过下面的的公式可得到较好的精度,参数见下图所示。图19露点TD计算参数336环境稳定性如果传感器用于装备或机械中,要确保用于测量的传感器与用于参考的传感器感知的是同一条件的温度和湿度。如果传感器被放置于装备中,反应时间会延长,因此在程序设计中要保证预留足够的测量时间。传感器在其它测试条件下的性能,我们不予保证,尤其是在用户需要的特定场合。337传感器原理流程图如下报警输出是否异常是温湿度判断开始温湿度采集温湿度转换数据处理否图20传感器原理流程图34报警系统341报警电路图当启动仿真程序时,用手调节传感器上的按键时,可以调节温度与湿度的数据转换和相应的温湿度显示数据的递增或递减。(详细编写程序见附录)图21报警电路图4仿真与调试41实验目的与原理在此介绍一下我设计温湿度控制系统的工作原理论文目标温度范围1827度,湿度4070。超范围报警具体要求(1)传感器采用SHT10集成传感器(2)LED温湿度显示,精确到一位小数(3)超范围发光二极管报警第一步实现将SHT10中的数据读入到单片机中然后显示到1602上第二步调节SHT10上的数据为N,若N在温度1827范围内则正常显示到1602上,若超出范围则报警,二极管点亮(红)同理,若N在湿度4070范围内则正常显示到1602上,若超出范围则报警,二极管点亮(绿)42仿真原理图用PROTUES软件,根据要求画出温湿度显示报警系统的的原理图如下图图22温湿度显示报警系统的的原理图43系统仿真以及显示结果用PROTUES和KEIL软件联调,运行期间仿真软件调试程序结果如图23所示,当调节传感器使湿度在87时,1602显示湿度为9188,中间产生了部分误差,在误差允许范围之内,湿度超出设置范围,红灯亮,开始报警,运行结果如图24,25,26所示;当调节传感器使温度在29度时,1602显示温度为2884度,中间产生了部分误差,在误差允许范围之内,温度超出设置范围,绿灯亮,开始报警,运行结果如图24,25,26所示;图23仿真运行结果图图24SHT10运行结果图图25报警运行结果图图26LCD1602运行结果图44结果分析及测试总结采用PROTEUS进行单片机仿真,可以大大缩短单片机的开发周期。它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。本系统很好的完成了本次毕业设计的各项任务和要求,通过温湿度显示报警系统程序,成功的完成了温湿度采集功能、显示功能、报警功能。通过控制P10、P11、P12来调节当前温湿度数据的显示,很好的完成了显示功能。设置温湿报警范围后,LED灯也能很好的体现报警的效果,在超出设置的正常显示范围后,LED灯亮,很好的体现了报警功能。连接电路图后,通过编译程序来控制液晶显示屏的显示,通过仿真结果也很好的体现了其显示功能。5结束语本文的温湿度显示报警系统设计是以单片机(AT89C51)为核心,SHT10温湿度感应器等部分组成。具体介绍KEILC51软件调试程序和PROTEUS的ISIS软件进行单片机系统的设计与仿真。在这次设计中,我完成了核心控制部分、显示部分、报警部分等基本功能。通过这次设计单片机有了一个更深的认识,对于LCD1602以及SHT10的使用过程有了一定的掌握,同时对KEILC51软件和PROTEUS软件有了更熟练的操作。本文设计到的内容还不是很完善,我会在以后的学习和工作中会做进一步的学习和探索,以取得更大的进步。但是通过这次毕业设计,我也学到了很多东西,感觉自己应用基础知识及专业知识解决问题的能力有了很大的提高。总之,这次毕业设计收获还是蛮大的。参考文献1李洪超基于AT89C51的温度控制系统设计J微计算机信息嵌入式与SOC,20108,26(122)87882周乐安基于MSP430单片机温湿度控制器J四川兵工时报,20088,29(2)1131143杨学存,侯媛彬基于MSP430单片机温湿度控制器的实现J煤矿机械,20056,(9),64654钟晓伟,宋蛰存基于单片机的实验室温湿度控制系统设计J林业机械与木工设备20108,38(1)39425刘攀,俞杰,张海明基于单片机的温度测控系统J兰州交通大学学报自然科学版,20059,2461031066朱魏峰基于单片机的温度监控系统J工业控制计算机,20116,241091927张为基于单片机的温湿度测量系统设J阴山学刊,20106,24(3)26298张妮,段文强,邵婷婷基于单片机的温湿度监控系统设计J延安大学学自然科学版,20105,29(2)50529刘翔基于单片机的自动温度测量报警系统设计J电子设计工程,20118,19(1)12512710章昕,黄秋,汤彬,方方智能温度报警系统的研制J自动化技术与应用,20094,28(7)10310511郑冬强,万琰,张平川基于UC/OSII的温湿度测控系统设计与实现J微计算机信息嵌入式与SOC,20095,2512686912方言,王晓明一种智能温湿度控制器的设计J智能仪器仪表,200610666713余泽辉,伍建军,陈洁基于单片机的数字温度计的研究与设计J黑龙江工程学院学报自然科学版,20076,(12)151614罗兴垅,黄隆盛基于AT89C51控制的001数显温度计的设计J微计算机信息,20063,22(5)707215闫怀兵,李维宁如何选用湿度传感器产品J制造业自动化,19995,5101516严怀龙基于单片机的数据采集系统J广西轻工业,20068,6343517江太辉,邓展威DS18B20数字式温度传感器的特性与应用J电子技术,20037,12565818张娟,陈杰,蔡振江基于多传感器数据融合的温室温度采集J微计算机信息20072,271115315419顾启民,吕庭单片机系统中复位电路可靠性设计J电子测量技术,20017,3252620何立民单片机应用系统设计M北京,北京航空航天出版社,L99021张立科单片机通信技术与工程实践M北京人民邮电出版社,200510911122李光弟,朱秀月,王秀山单片机基础M修订本北京北京航空航天大学出版社,200123丁明亮,唐前辉51单片机应用设计与仿真M北京北京航空航天大学出版社,2009附录/端口定义P10SCKSHT10P11DATASHT10P0DB0DB7LCD1602P20RSLCD1602P21RWLCD1602P22ELCD1602/INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINETEMPUP28/温度上限DEFINETEMPDOWN17/温度下限DEFINEHUMDOWN70/湿度上限DEFINEHUMUP40/湿度下限SBITLCDRSP20/1602液晶端口定义SBITLCDRWP21SBITLCDENP22SBITLED1P30/报警灯端口定义SBITLED2P34SBITACC0ACC0SBITACC7ACC7BITSTARTUCHARSTR7/向LCD写入命令或数据DEFINELCD_COMMAND0/COMMANDDEFINELCD_DATA1/DATADEFINELCD_CLEAR_SCREEN0X01/清屏DEFINELCD_HOMING0X02/光标返回原点/设置显示模式DEFINELCD_SHOW0X04/显示开DEFINELCD_HIDE0X00/显示关DEFINELCD_CURSOR0X02/显示光标DEFINELCD_NO_CURSOR0X00/无光标DEFINELCD_FLASH0X01/光标闪动DEFINELCD_NO_FLASH0X00/光标不闪动/设置输入模式DEFINELCD_AC_UP0X02DEFINELCD_AC_DOWN0X00/DEFAULTDEFINELCD_MOVE0X01/画面可平移DEFINELCD_NO_MOVE0X00/DEFAULTUNSIGNEDCHARLCD_WAITVOIDVOIDLCD_WRITEBITSTYLE,UNSIGNEDCHARINPUT/1602液晶显示部分子程序/VOIDDELAYUINTZ/延时函数UINTX,YFORXZX0XFORY110Y0YVOIDLCD_WRITEBITSTYLE,UNSIGNEDCHARINPUTLCDRSSTYLEP0INPUTDELAY5LCDEN1DELAY5LCDEN0VOIDLCD_SETDISPLAYUNSIGNEDCHARDISPLAYMODE/设置输出LCD_WRITELCD_COMMAND,0X08|DISPLAYMODEVOIDLCD_SETINPUTUNSIGNEDCHARINPUTMODE/设置输入LCD_WRITELCD_COMMAND,0X04|INPUTMODEVOIDLCD_INITIAL/初始化LCD函数LCDEN0LCD_WRITELCD_COMMAND,0X38/8位数据端口,2行显示,57点阵LCD_WRITELCD_COMMAND,0X38LCD_SETDISPLAYLCD_SHOW|LCD_NO_CURSOR/开启显示,无光标LCD_WRITELCD_COMMAND,LCD_CLEAR_SCREEN/清屏LCD_SETINPUTLCD_AC_UP|LCD_NO_MOVE/AC递增,画面不动VOIDGOTOXYUNSIGNEDCHARX,UNSIGNEDCHARY/液晶字符输入的位置IFY0LCD_WRITELCD_COMMAND,0X80|XIFY1LCD_WRITELCD_COMMAND,0X80|X0X40VOIDPRINTUNSIGNEDCHARSTR/将字符输出到液晶显示WHILESTR0LCD_WRITELCD_DATA,STRSTRVOIDZHUANHUANFLOATA/浮点数转换成字符串函数MEMSETSTR,0,SIZEOFSTRSPRINTFSTR,“F“,AVOIDWELCOME/初始界面函数LCD_INITIALGOTOXY0,0PRINT“WELCOME“GOTOXY0,1PRINT“CODEOFSHT10“DELAY200VOIDDELAY_N10USUINTN/延时N个10US12M晶振UINTIFORINI0I_NOP_NOP_NOP_NOP_NOP_NOP_/第一部分LCD1602设置END/第二部分SHT10设置START/SBITSCKP10/定义通讯时钟端口SBITDATAP11/定义通讯数据端口TYPEDEFUNIONUNSIGNEDINTI/定义了两个共用体FLOATFVALUEENUMTEMP,HUMI/TEMP0,HUMI1DEFINENOACK0/用于判断是否结束通讯DEFINEACK1/结束数据传输/ADRCOMMANDR/WDEFINESTATUS_REG_W0X06/00000110DEFINESTATUS_REG_R0X07/00000111DEFINEMEASURE_TEMP0X03/00000011DEFINEMEASURE_HUMI0X05/00000101DEFINERESET0X1E/00011110/定义函数/VOIDS_TRANSSTARTVOID/启动传输函数VOIDS_CONNECTIONRESETVOID/连接复位函数CHARS_WRITE_

温馨提示

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

评论

0/150

提交评论