摘 要
温湿度参数的检测已经成为人们日常生产生活中的一个重要的参数指标。温湿度是环境参数中最为基础的两个参数,其在化工业、制药业等生产行业中有着重大意义,对于环境温湿度检测的一点点偏差就可能对生产形成非常严重的影响。随着社会的高速发展以及人们对于生活需求和生活水平的逐步攀升,温度与湿度这两个最基础的环境参数也逐渐步入人们的日常生活中。因此对于环境温湿度检测的研究有着重要的意义。
本设计能实现实时检测当前环境下的温湿度参数值,并且通过LCD12864将数值显示出来,在超过设定的阈值时会进行声光报警。还可以实现时间和日历的显示功能,对时、分、秒进行显示,并且带有闹钟功能。通过按键,还可以调节温湿度的上下限;调节日期和时间;调节闹钟的时间以及闹钟的开关。采用DS1302时钟芯片、纽扣电池以及AT24C02芯片,这样可以对设置的报警值、闹钟、时间等信息实现掉电存储。
关键词:单片机;温湿度;万年历;闹钟
第1章 引言
对温湿度的检测及控制已成为当今社会研究的热门项目,并且其不仅仅在实验室、粮仓和大棚等工业、农业中起到关键的作用,在日常生活中也是非常重要的。
最常见的温度测量方法是通过水银温度计来测量;测量湿度的方法则是干湿球湿度检测法,此种方法过程复杂不易操作。并且这两种测量方法都是通过人工进行检测以及读数,有着十分强的随机记录导致产生误差。正因如此,我们就更要找到价格优惠、能够便捷的进行使用而且数据精准的温湿度测量仪器。所以我选择利用DHT11温湿度传感器来实现对温湿度的检测,利用单片机来为这个温湿度测量仪器增加万年历功能,让其实现多功能。这个温湿度测量仪器不但具有操作简单、测量精度高、性价比高等特点,而且硬件电路简单,显示结果也方便记录,能够很好的满足工艺要求以及功能要求。
本论文的主要内容是介绍以STC89C52为主控制器,DHT11作为温度传感器以及湿度传感器,DS1302作为时钟模块,AT24C02作为存储模块,配备电位器调节灰度模块,蜂鸣器模块,LED指示灯模块,按键模块,通过LCD12864显示温湿度,时间,日期和闹钟的温湿度检测系统。硬件电路部分包括:DHT11温湿度检测模块、单片机最小系统、LCD12864液晶显示模块、DS1302时钟模块、AT24C02存储模块、电位器调节灰度模块、蜂鸣器模块、LED指示灯模块、按键模块。
1.1设计背景和意义
随着社会的发展,人们对生活质量的要求越来越精细,对于温湿度的把控也已经与人们生产生活越来越密不可分。并且近年来,随着智能设备终端的快速发展,人们对温湿度的检测也有着向智能化发展的趋势。高精度的温湿度测量仪器,智能化的温湿度显示方式成为了人们对于温湿度这一常见测量指标的一个要求。传统的温度检测方法是通过水银温度计,该温度计具有度数不方便,测量精度不高,操作繁琐等缺点。并且目前人们对于湿度数值的检测基本上还是采用比较传统的干湿球显示法,但是此方法的测量过程相对复杂而且对于湿度数值的测量结果精确度并不高。并且人工读取温湿度的方式也让检测结果存在一定的误差,在一定程度上影响了测量的结果。
本论文内容中介绍的以STC89C52型单片机设计为核心控制器的多功能温湿度检测系统,可以实时检测出当前环境的温湿度值,并且有很好的准确度。将此系统应用到日常生活当中便可以帮助人们实时掌握环境的温湿度状态,在超出温湿度范围时能及时采取措施。对于大棚种植、花圃和花卉栽培这种对温湿度有要求的地方,对温度信息和湿度信息进行即时的监测就尤为重要。本系统就能适用于这些场景,能够满足温湿度范围调节的要求,并且为了体现“多功能”,本次设计中还加入了万年历以及闹钟的功能,可以观察时间以及设定闹钟。
1.1.1设计目标
设计并完成一个核心技术采用的是STC89C52单片机的温湿度检测以及万年历显示系统,其中该设计需要实现的基本功能为∶
(1)测量温度分辨力为0.1℃,测量湿度的分辨力为1%;
(2)系统允许误差范围为 ±0.5℃和 ±5%以内;
(3)用户可通过按键来调节温湿度的上下限,当超出设定的阈值时系统将进行声光报警。
(4)用户可以在LCD12864显示屏上看到当前的日期、对应的农历日期以及时间,并且能通过按键对其进行调整。
(5)该系统还有闹钟的功能,可以通过按键来设定闹钟的时间,设定的时间一到,闹钟便会响起。同样也可以通过按键来控制闹钟的开关。
(6)该系统可以将实时采集到的温湿度信息以及时间信息显示在液晶屏上面方便查看。
第2章 系统总体设计方案
2.1系统总框图
本多功能数字温湿度计的硬件部分如下图所示。该系统主要由以下几个模块组成:以STC89C52单片机为核心的主控制系统、以DHT11为核心的温湿度监测系统、以DS1302为核心的时钟模块、以LCD12864为核心的显示模块以及以AT24C02为核心的存储模块,同时配备了蜂鸣器、按键以及LED指示灯,使其能调节温湿度上下限、时间以及实现超出阈值时发出声光报警的效果。
图2.1 总体设计框图
STC89C52单片机作为本温湿度监测系统的主控制器,DHT11温湿度传感器将采集到的温度信息和湿度信息一并发送给单片机进行数据处理,再由单片机将DS1302初始化后,DS1302读取时分秒、星期以及年月日寄存器,接下来单片机把数据处理完成之后发送显示指令给液晶显示屏将数据显示出来。按键模块中的按键可以对温湿度上下限、日历、时钟以及闹钟进行检查和修正。
2.2设计方案选择
2.2.1单片机的选择
方案一:AT89C52单片机是由XATMEL公司生产出来的,该单片机的运行电压很低,但运行性能却十分优秀,是一种类属CMOS型的八位单片机,整个器件所采取的技术是ATMEL公司所独有的存储技术,这种技术的密度很高,并且安全性很高,不容易丢失。这个单片机还能与MCS-51指令系统互相兼容,单片机内装置的是通用的8位中央处理器(CPU),运行性能非常优秀,还有Flash存储单元,使得整体的功能十分值得称赞。此单片机内的8K程序存储器的制作方法采取的是FLASH,因为由FLASH工艺制得的单片机可以不要求高配的开发设备,更加高效的开发。除此之外,使用这种工艺所制得的单片机内部的程序可以进行加密操作,使得可以很好的保护开发出的产品不被破坏。与此同时,市面上常见的物美价廉的单片机有8031,而AT89C52的价格比这个价格还要低一些,在市场上被流通销售的数量也足够多,足以供给使用者的需求。AT89C52的系统是目前市面上最小的一种,应用系统在合理范围内被最大程度上的缩小,使整个系统的性能更加可靠,并且使得整个开发过程的成本大大降低了。如果整个程序的长度可以不超过8K,4个I/O口无论哪一个都可以提供给用户使用。在编程的过程中,采用的电压大小仅为五伏,擦写的时间也极短,仅为10ms。AT89C51芯片所采取的加密方式是以三级程序为主的存储加密,这是一种硬加密手段,这种加密方法不仅非常灵活,而且可靠性很强,采取这种加密方式可以保证程序本身以及整个系统可以不被恶意的模仿。PO口属于一种三态的双向口,通常情况下我们将其称之为数据总线口,之所以有这个名称是因为要想对外部的存储器进行读的操作和写的操作只能通过PO口来进行。
方案二:虽然说STC89C52这一系列的单片机所配备的指令系统的兼容性很强,兼容范围很广阔,可以和AT89C52系列的单片机达到非常完美的兼容状态,但是在实际操作应用过程当中,想达到这种状态是很难得的:
(1)要想下载AT89C52就需要用下载器才能达到目的,简单的ISP是不行的。要想下载STC89C52,可以通过USB转串口来实现,如果还有软件的需求,还可以去STC厂家网上进行下载满足需求。
(2)ATC89C52的执行速度不算缓慢,但STC单片机在对命令的执行速度这一方面明显更胜一筹,是前者的三倍到三十倍不等,虽然运行速度快本是一个好事,但是正因为两种单片机的运行速度不同,因此在ATC89C52上可以进行良好运行的程序在STC单片机上运行的并不顺利。举个很简单的例子,在运行过程当中,某些模块对于时序的要求是很高的,将程序从AT转到STC上后,就需要将延时加长,至于具体需要调整多少参数需要在实践中自己摸索调整。
(3)STC与AT所能适应的工作环境是不同的,后者对于工作环境的要求更高于前者一些。在采用STC时,即使电压的大小已经低于五伏,STC还是可以正常进行运转的,但是这样的工作环境换给AT就是完全不可以的。因此如果在一个已经被应用了的系统由应用STC转为使用AT无法正常工作的话,就可以通过检查内部的工作电压来消除问题的所在。
将以上提出的两种方案作出一个对比,在校期间,我们学习了数字电路和单片机原理,基本掌握了C所涉及的技巧与能力,考虑到学生的身份所能获得的资源的是有限的,将实际情况与问题需求相结合,我选择在此次设计中应用STC系列的芯片。不仅如此,学校为我们所提供的基础实验设施使得选择STC这一系列更加方便,成功率更高。在该系统中,主要的核心控制芯片采取的是STC89C52单片机,足以支撑整个系统及程序的运行,除此之外,价格更容易让人接受,也十分方便的就可以下载程序。
2.2.2传感器的选择
方案一:首先需要考虑测量温度这一部分,我们选择的是DS18D20温度传感器。这种温度传感器的接口方式非常特别,采用的是单线式。其所能测得的温度范围较为广阔,零下五十五度到一百二十五度,零下十度到85度都是可以的,误差范围也是可以接受的范围内,在上下不超过零点五摄氏度之间,它最精密的精度可以达到0.0625摄氏度。
其次需要考虑的就是湿度的测量问题。我们采用的是HS1101电容式湿度传感器,它可以测量的范围同样十分广阔,在0%RH到100%RH之间,误差同样是可以接受的程度,在上下不超过2%RH之间。
方案二:温湿度传感器作为一体来选取,采用DHT11这种集成属性的传感器,可以同时将温度与湿度通过数字化的方式展现出来。
这个温湿度一体传感器所采用的技术是数字模块采集技术和温湿度传感技术相结合才呈现出来的,这能够保证传感器的性能非常稳定的发挥出来并且得到的数据是可靠的。整个传感器是由电阻式感湿元件、NTC测温元件以及性能得到一致认可的8位单片机相连接的。正因硬件配备十分到位,该设备的品质十分值得夸奖,响应速度极快,还有很强的抗干扰能力,综合下来,性价比非常高。它的测量范围在20%RH到90%RH,零度到五十度之间,湿度的误差上下不超过5RH,温度的误差上下不超过2摄氏度。和本次毕业设计所需的要求完全符合。综上所述,采取方案一虽然能使实验所得到的数据更加的精确,但是整个操作流程下来十分麻烦。方案二相比方案一虽然误差更大一些,但是已经足够满足本次设计所提出的需求了,而且整个操作过程以及实验过程都能够更方便一些,因此在本次设计中选择方案二进行试验。
2.2.3显示器的选择
方案一:采用静态显示方法,静态显示模块的硬件制作较复杂及功耗大,要用到多个移位寄存器,但不占用端口,只需两根串口线输出。
方案二:采用动态显示方法,动态显示模块的硬件制作简单,段扫描和位扫描各占用一个端口,总需占用单片机14个端口,采用间断扫描法功耗小、硬件成本低及整个硬件系统体积相对减小。
方案三:采用LCD的方法,具有硬件制作简单可直接与单片机接口,显示内容多,功耗小,成本低等优点,LCD12864可显示很多个字符,采用LCD的缺点是显示不够大。
比较以上三种方案:方案一硬件复杂体积大、功耗大;方案二硬件简单、功耗小;方案三硬件简单,显示内容多,功耗小,成本低等。本系统设计要求达到功耗小、体积小、成本低,显示信息多等要求,权衡三种方案,选择方案三。
2.2.4时钟芯片的选择
方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以这种方案不予采用。
方案二:采用DS1302时钟芯片来实现时间及日期,DS1302芯片属于时钟芯片,它的性能十分优秀可靠,可智能的对秒、分、时、日、周、月、年以及闰年补偿的年进行计算与显示,并且得到的结果十分准确,还含有RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.
2.2.5最终决定方案
综上各方案所述,对此次作品的方案选定: 以STC89C52单片机为核心的主控制系统、以DHT11为核心的温湿度监测系统、以DS1302为核心的时钟模块、以LCD12864为核心的显示模块以及以AT24C02为核心,同时配备了蜂鸣器、按键以及LED指示灯。
第3章 软硬件系统设计
3.1硬件电路设计
STC89C52 单片机是本次设计中的核心部件,其起着获取温度传感器和湿度传感器检测到的数据功能,并且通过其控制LCD 液晶显示屏显示采集到的温湿度实时信息值以及接收到的时钟信息。数字式温湿度传感器 DHT11的数据通信引脚 DATA 脚与STC89C52单片机的 P1.0 口相连。时钟芯片与单片机的P1.1~P1.3接口相连。12864液晶显示屏连接在单片机的P2.5~P2.7口上。通过LCD12864将数值显示出来,在超过设定的阈值时会进行声光报警。还能实现时钟日历的显示功能以及时、分、秒的显示,并且带有闹钟功能。通过按键,能调节温湿度的上下限;调节日期和时间;调节闹钟的时间以及闹钟的开关。采用DS1302时钟芯片、纽扣电池以及AT24C02芯片,设置的报警值、闹钟、时间等信息都可以实现掉电存储。
3.2软件部分设计
图3.1 计算阳历程序流程图
当接通电源开始工作后,单片机中的程序开始运行,其将对DHT11进行初始化。完成初始化后DHT11环境温湿度进行检测并传送数据回单片机,同时DS1302将读取是分秒、星期以及年月日寄存器,单片机把数据经过处理之后发送显示指令给12864液晶显示屏显示出来。按键模块中的按键可以对温湿度上下限、日历、时钟以及闹钟进行调整。
图3.2 系统流程图
第4章 系统调试
4.1硬件测试
因为本次论文中介绍的多功能温湿度计的电路系统的规模相比较之下比较宏大,因此,在对其进行焊接的过程中一定要十分仔细,一旦在焊接上出现了一处错误,就可能会影响整个系统的功能,严重的错误还会导致整个系统毫无反应。并且面对这么大的电路系统,错误的排查也是比较困难的,非常的费时费力。值得一提的是因为此系统中电路的交线情况复杂并且数量很多,一些锋利的电路引脚可能会将导线外部的包皮刺破的情况,导致电路短路,不能正常运作。所以说在焊接这一步骤上需要格外的仔细。
4.2软件测试
本次设计的温湿度计的功能多种多样,数字型可以看到当前的日期信息和具体时间,能自动换算农历日期,并且可以设置闹钟。因为功能比较多,因此设计所需的程序内容自然复杂一些,所以在程序的编译和编写上出现了许许多多难题。最终,反复操作错误排查,错误修改,将代码逐步的检查与完善,最终将编程部分的问题全部解决。以下是在编译和编写代码过程中遇到的几个比较大的问题:
1.烧入程序后,温度显示85℃不变。
解决:首先检查硬件电路是否有虚焊或者漏焊的情况,其次,检查程序中有无编写错误的地方,最后是在程序检查时发现了原来是ds18b20在数据读写时间部分没有写上延时,没有给温度足够的时间复位,所以导致了问题的产生。
2.将日期修改后或者将时间修改后不能自动跳转到对应的农历。
解决:首先把与农历内容无关的部分暂时屏蔽处理,防止干扰,抛开整个程序主体,讲子程序作为研究对象进行调试,最后发现在调用农历自动更新时,在处理十进制和十六进制的过程中出现了问题,所以才在此处发生了一系列的错误。之后我对与十六进制相对应的十进制进行检查与修正,使得十六进制匹配正确的十进制,这个问题就解决了。
4.3测试结果分析与结论
4.3.1 测试结果分析
DS1302要将数据与微处理器进行交换,其过程如下,电路会接收到从微处理器为起点所发出的命令字节,MSB(D7)是命令字节的最高位,在发送过程中,它必须保证逻辑是1,当D7=0时,则不允许写DS1302,也就是写保护;当D6=0时,系统将时钟数据指定下来,当D6=1时,就会将RAM数据指定;当然,D5~D1也有其特定的功能,寄存器需要特定的指定,这一工作就由其来实现;D5~D1 指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作, 也就是指输入操作,当D0=1时,指定读操作,也就是输出操作。
位于DS1302 的时钟日历或RAM 的数据在传送时,DS1302 要进行的准备工作就是发送命令字节。如果传送的类型是单字节,在8 位命令字节全部传送到指定位置过后,在下两个SCLK 周期的上升沿这一位置将数据字节输入进去,也可以在下八个SCLK 周期的下降沿这一位置将数据字节进行输出操作。
DS1302 与RAM 相关的寄存器一共被分为两种类型:一类是单个RAM 单元,这类单元一共有三十一个单元,一个八位的字节构成一个单元组态,其命令控制字为C0H~FDH,如果是奇数,就进行读的操作,如果是偶数,就进行写的操作;另一类为突发方式下的RAM 寄存器,在突发方式下,所有的RAM 的31 个字节都可以一次性进行读的操作和写的操作。
备用电源B1需要特别强调一下,这一部分可以采用电池或者超级电容器(0.1F 以上)都是可以达到目的的。虽然DS1302 在主电源掉电后的耗电量与其他相比之下是比较小的,但是,由于始终需要在很长一段时间内保持正常运作的状态,因此小型充电电池是最佳的选择。可以用老式电脑主板上的3.6V 充电电池。当断电时间相对来说比较短(几小时或几天)时,可以采取漏电较小的普通电解电容器代替发挥作用。100 μF 就可以保证1 小时的正常走时。DS1302 在第一次加电后,要将整个部分初始化。初始化后就可以按正常方法调整时间。
4.3.2 测试结论
多次试验,我们收集了数据进行了深度的分析,可以进一步掌握电路的原理,更加熟悉电路的工作过程,提高对于电路的分析能力和设计电路的能力。在软件编程方面,同样得到了一定幅度的提升,使以往所学的知识真正应用到了实践当中,得到了提升。
第5章 结论或结语
经过近两个月的奋斗,从最初的毕业设计选题、开题答辩、元器件选型、电路图设计、硬件电路焊接、软件调试等每一个过程都是一次自我的成长和对自己所学的知识的一次检验。本设计是基于单片机的数字温湿度计设计,开始对于单片机、温湿度传感器都不是很了解熟悉,软件设计中使用 C 语言进行软件编写也不是很了解。由于本设计是由软件和硬件电路两部分组成,而我是首先从软件编写入手,然后进行硬件电路设计,因此由于软件编程的缺陷导致硬件电路设计不美观。在本次设计中,有很多地方都是从头学起的,如蓝牙通信模块和手机串口调试等。本次毕业设计,锻炼了我的自学能力,动手能力以及问题的发现解决思路和解决的方法等很多都是在平时课堂里面无法通过课本知识获取到的,实践出真理,实践得真知。在实践中磕磕碰碰的学习获取知识,这对于我们自身的成长的有着极大帮助的。
参考文献
[1]张萍.基于数字温度计DS18B20的温度测量仪的开发[J].自动化仪表.2007(06):12-17
[2]赵海兰,赵祥伟.智能温度传感器DS18B20的原理与应用[J].现代电子技术.2003(14):25-26
[3]周立功.单片机实验与实践[M].北京航空航天出版社,2008: 118-125.
[4]朱滨峰,徐桂云,李俊敏. 单片机在温湿度测量系统中的应用[J].仪器仪表标注化与计量.2006(1): 13-20.
[5]姚福安.电子电路设计与实践[M].山东:山东科学技术出版社,2002: 105~118.
[6]潘新民. 单片微型计算机实用系统设计[M]. 北京:人民邮电出版社,2003:1~154.
[7]吴炳胜. 80C51单片机原理与应用技术[M]. 上海:贻金工业出版社,2001:1~200.
[8] Leon W. couch.Digital and Analog communication systems.北京: 科学出版社,2002: 90~110.
[9] 陈曾平.《电路设计基础》[M].第二版.北京:北京高等教育出版社,2003:100~110.
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:打字小能手,如若转载,请注明出处:https://www.447766.cn/chachong/63753.html,