第1章 绪 论
1.1 研究该课题的背景和意义随着科技的快速发展,生活档次在不断的提高,就不满足与物质上的需求了,而转型开始对于生活品质的追求,生活中人体舒适度优良便成了幸福指数之一。而家是人们除工作以外呆的最久的地方,良好的室内气象条件,比如说室内温湿度,是能否让人感到舒适的重要指标之一。温度过高或者太低、环境过于潮湿或者干燥,都会让人体感到不适,它间接干扰着人们生活的舒适度与否以及情绪高低。所以就非常需要对室内温湿度进行监测,方便更好的调控。
传统的室内温湿度监测是靠人工手动完成,利用水银温度计和湿度计等老旧测量仪器来进行检测。然而这种方法特别耗费人力而且测量误差大。同时这种方式也并不能实现温湿度的实时测量。因此大家需要集成性更高,而且精度高,误差小的检测工具来替代传统的手工方式。
由于现代电子技术的快速发展、新材料也与日惧新,由于人们开始追求数据信号采集的准确性和时效性,因此传感器和单片机这几种材料在新时代的需求下凸显出来。人们把单片机,温湿度传感器,显示器整合在一起,外加必要的辅助电路组成一个全新的温湿度检测装置。因为单片机在系统控制方面有很高的精准性和稳定性,在如今的生活生产里面应用范围十分宽广,所以它的作用特别大,在本次课题设计中结合单片机和传感器的应用,也是对家庭温湿度检测装置开创了一个改革性的颠覆。它有效的达到了人们追求的可靠性,精准性,时效性和便捷性。
1.2 研究该课题的主要内容本次的课题设计主要内容是设计一个基于51单片机的家庭温湿度检测装置。要求该装置集成性高,操作简单方便,检测准确高效,并且方便普通人知晓当下的室内温湿度。同时要求该装置有人工设定功能,能够自由设定温湿度的上下限范围,当室内环境温湿度超过检测范围即能实现报警功能,给人们及时的预防和调节。因此要先基于单片机制定课程方案,再配合温湿度检测传感器、LED显示屏、蜂鸣报警器外加必要的辅助电路,最后编写程序导入单片机作出实物。要求是给实体检测装置通电,就可以对室内的温湿度进行检测。
1.3 研究该课题的工作原理本次设计的硬件模块主要有四个主要部分。它们分别是单片机,主要是用来负责信号分析处理的主控模块。然后是传感器,主要是用来对室内温湿度进行环境信号的采集。还有显示器模块,主要是环境数据的显示以便给人们一个更加直观的察觉。最后是蜂鸣报警装置,该装置主要是用来鸣醒提示当下的温湿度是否超常。因此该可以设计的主要原理是:首先肯定是传感器感应然后采集到室内的温度和湿度,然后把采集信号发发送至单片机控制中心来分析处理,经过单片机处理后的数据信号由发送到显示屏显示。同时会在该装置接入一个外联报警装置,人工设定室内温湿度上下限,实现温湿度超常报警的功能,值得注意的是噶装置需要设计两种报警方式,温湿度无论哪一种超过上限会报警,低于下限也会报警。本次课题的研究区域清楚明朗,各个部分之间的链接也是相对比较简单。总而言之,本次设计的主要核心在于能有有效的,准确的,便捷的实现室内当下的温湿度检测系统,倘若室内的温湿度超标,则报警器会发出报警提示,来警示人们需要调节控制温度。
第2章 系统总体方案设计
2.1 设计思路由之前的课题研究主要内容已经知晓这一次的课题研究主体为单片机。它首先通过调控温湿度传感器部分来对温湿度进行环境信号采集处理,接着再把分析此处理后的信号转化成为数据移交给显示屏,从而可以直观看到当前环境下的温湿度数据。同时如果测量数据超过了给定的上下限蜂鸣器则会提示报警。本次研究的课题中,为了让整个装置核简洁明了,节约成本并且实用。所以核心控制部分采用STC89C52单片机,它工作条件范围广,同时运行分析数据速度也很快。同时遵循着简洁明了的原理,温湿度传感器使用DHT11,它集合了温湿度同时采集的功能,避免了繁琐的温湿度单独采集,同时它自身也有很好的数模转化功能,它的连接方式也较为简单,只需要把它直接与单片机相对应的引脚相连即可。显示屏部分也是如此,选用显示器1602,它可以直接与单片机引脚连接,因为他的引脚是插针式的。无形中便简化了很多繁琐的步骤,例如不需要人工手动焊接。实物制作部分连接板采用的是市场上常见的万用树脂板,因此只需将LCD1602显示器和传感器连在单片机上即可。如此方便的插拔式部件思维硬件方便实用,假如部分的零部件损坏,比如说,传感器失灵,显示屏损坏,不需要更换装置,只需要把部分损坏部件更换即可。这样的设计灵活巧便。无形中延长了装置的使用寿命。非常合理的利用资源节约成本,也遵循了当代社会下的生产工艺要求。本文的主要部分是对该装置的硬件部分选用原则进行说明论证,同时为了更方便大家的理解,论文后面对分对程序和烧录进行了详细说明。
2.2 硬件的选择和论证2.2.1 单片机的选择和论证方案一:选择AT89C51。AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器。它具有很多良好的特征,可以反复擦写数据循环1000次,而且储存数据可以保留10年,三级程序存储器锁定很好的保护了数据的保密性 ,还具有28×8位内部RAM,32可编程I/O线,两个16位定时器/计数器,可编程串行通道,低功耗的闲置和掉电模式等功能,是大学期间实验常用的单片机类型
方案二:选择STC89C52。这个单片机包含了上述AT系列单片机的所有基础性能,并且在现有性能上有所提升,因此也有了一些不同。首先第一个不同之处是AT89C51不能够使用ISP烧录程序,但STC89C52可以用USB转串口下载程序,方便使用。第二个不同之处在于STC89C52与AT89C51工作对现有环境要求不同,当电压低于5V时STC89C52可以正常使用,而AT89C51不能正常运行。
因此 比较以上那个两种单片机,不难发现。就性能要求而言,任何一个单片机的性能都满足本设计的需求,但是就实验的方便性,节约性以及简洁性而言,学校学习单片机课程期间多数用的是STC系列单片机,因此本次课程设计我选用STC89C52。
2.2.2 传感器的选择和论证方案一:使用温湿度独立测量方式。
温度检测部分采用DS18B20传感器。湿度检测部分采用HS1100传感器。DS18B20为数字式传感器,使用环境介于-55度和125之间,误差在-0.5摄氏度或+0.5度。而湿度传感器HS1100的使用环境介于-60度和140度之间,湿度范围0到100 %RH
方案二: 使用DHT11温湿度一体式传感器
DHT11内部自带模数转换,收集到外界信号后首先会进行模数转化,然后把信号发送给单片机,而且这个传感器结合了温湿度检测于一体,很符合实验的简洁性。DHT11中的NTC测温零件是用来检测温度的。电阻式感湿零件用来检测湿度。而且这个传感器反应快,精确度非常好。
因此,比较上述两个方案,方案一中单独测量精度更好,但是会增加设计成品的体型体积,不符合试验设计的简便性原则。上述两种方案中的传感器精度均满足本次试验需求,因此,性价比高,设计精巧,简洁会更好,所以本设计使用方案二。
2.2.3 显示器的选择和论证方案一:应用液晶显示屏LCD1602。它能够显示2行16列32个字符。它组成于一些5x7或5x11的点阵字符位,每个位点阵字符能够显示一个字符,有间隔之间的距离,有每行之间的间隔,起到了字符间距和行间距的影响,所以不能够很好的显示图形。
方案二:应用液晶显示屏12864。它即可以显示汉字也可以显示图形,里面包含了128个字符和64x256点阵显示RAM。可直接与CPU相连。
比较上面的两个方案可得,两方案都能很好的实现本设计的显示模块功能。本着性价比原则,由于市面上的12864液晶屏价格都很昂贵,相比而言液晶屏1602的价格比较低廉,故本次设计选用的是1602液晶屏来实现显示。
第3章 系统硬件设计
3.1 系统总框图图2-1 系统总框图
这一次的设计总体分为四部分,它们分别为单片机,传感器,显示器和报警器。
3.2 主控模块设计3.2.1 STC89C52芯片的简介单片机STC89C52生产于STC公司,它是基于MCS-51单片机开发的,再经过一系列的改进。所以此单片机即具备了51系列单片机的兼容性,又比51系列单片机更加的灵活,可靠。也因此STC89C52单片机更多的用于嵌入式控制系统中。
基本功能特性:它的I/O口线位数为32,内存为512字节,具有8k字节Flash,里面还有4KB EEPROM,定时器和计数器为3个16位,包含MAX810复位电路,4个外部中断,一个7向量4级中断结构,看门狗定时器,全双工串行口。除此之外,此单片机还有节电模式功能和掉电保护功能。节电模式下只有RAM、串口、中断和定时计数器继续工作,其他地方停止工作。掉电保护则是当系统失去供电时,RAM内的内容不会丢失,而是被保存,其他部分则全部停止工作。持续到复位或者下一个中断为止。
STC89C52单片机的引脚图如下图3-1所示:
图3-1 STC89C52芯片
管脚说明[1]:
VCC:供电电压。
GND:接地。
P0口:P0口有8个引脚,其为开放电路。每当P1口在首次写入1时,P0口就被定义为了高阻抗输入。它能够被表示为第八位的数据或地址,这是当P0口用作于外部的程序存储器的时候。P0口通常作为输入的原代码在系统编程的时候,当对程序进行检查的时候,P0则输出原码。
P1口:P1口也有8个引脚,它们是双向的上拉电阻。当P1口输入为1的时候,它里面被拉高,这时候为输入作用。相反的它里面被拉低的时候为输出,这些取决于内部上拉电阻。
P2口:P2口有8个引脚,且它作为其内部的上拉电阻的一个,它不仅仅能够作为输入端也能够作为输出端。
P3口:P3口是一个双向口且内部也有一个上拉电阻,它能够收到4个TTL门电流。用作输入的时候写为1。当它的外部下拉为低的时候,将作为输出。
P3口的一些特殊功能如下表3-1所示:
管脚备选功能[1]:
表3-1 P3口的第二功能
RST:复位输入。只有恒定RST脚处于高电平才能够用作复位器件。
ALE/PROG:当系统在编程的时候,该引脚的作用是发送编程脉冲。振荡器的频率为1/6,ALE周期正脉冲信号恒定,能够用于外部的输出脉冲或计时目的。当它作用于外部数据存储器的时候,ALE脉冲被跳过,这个引脚会稍微拉高。此外,当微处理器执行外部状态ALE,则该集合无效。
/PSEN:此引脚的作用主要是用作外面的程序保存器的选择通道信号。
3.2.2 主控模块电路原理图系统起始为传感器感应采集环境的温湿度,然后以数字量发给单片机来分析处理,然后再通过单片机发送到显示屏来实现温湿度的显示,同时要连接一个报警系统,通过给定的上下限,实现过限报警功能。
电路原理图如下图3-2所示:
图3-2 STC89C52模块电路原理图
3.3 DHT11传感器模块设计3.3.1 DHT11传感器简介DHT11为一种具备模数转换功能的传感器,采集到信号后会先进行处理,将所得到的信号先进行模数转换,然后再发给单片机。此传感器集合了温度采集和湿度采集,是一款复合型传感器。它里面的NTC测温元件负责采集温度。还有一个负责采集湿度的元件电阻式感湿元件。每一个传感器在出厂前都要经过非常精确的校验,确认其精度,并且校准后的标准系数会以程序形式存储与传感器内部。每次使用时,传感器都会先调用此程序,校准传感器让传感器处于精准状态。正是因为如此,DHT11传感器具有极高的精度,并且性价比也很高。因此现代的工业生产中,涉及温湿度检测控制的设备大多都使用此类传感器。它越来越多的使用与人们的生产生活中。
DHT11实物如下图3-3所示:
图3-3 DHT11温湿度传感器实物图
(1)引脚介绍[3]:
Pin1:接电源
Pin2:单总线,数据为串行
Pin3: 空脚,请悬浮。
Pin4:接地端
(2)接口说明 :
电路图如下图3-4所示。
图3-4 DHT11应用电路图
(3)数据帧的描述[9]:
DATA的作用是连接传感器与单片机,并保持它们之间的通讯与数据的同步。具体说明如下:
(1)遵循高位先出原则,一次传输40bit。
(2)8bi温度整数数据+8bit温度小数数据+数据格式为8bit湿度整数数据+8bit湿度小数数据
(3)正常的情况下VDD 为 5伏,T 为25度,特别的情况则不同,特殊电气特性具体如下表3-2所示[8]:
表3-2 DHT11的电气特性
(5)时序描述:
首先单片机发送起始信号后,然后传感器接收起始信号后会从低功耗模式变成高效率模式,然后起始信号过后,传感器就会响应,然后发送40位的数据且采集一次信号。反之如果并未接收到信号,则传感器不会采集温湿度。
通讯过程如图3-5所示:
图3-5 DHT11通讯过程图
电平在总线空闲时,单片机会等待传感器的响应,总线一定要大于18ms,确保传感器能测量到信号。当传感器收到从单片机发送的信号后,等到开始信号结束后,便发送一个80us的低电平响应信号。单片机启动信号后,等待20到40us后,读取传感器的响应信号。此外,单片机信号启动后,能够转换到输入模式,或高输出功率、平均总线通过更高的负载电阻。
图3-6 DHT11信号接收发送过程图
当总线是低电平的时候,表示此时传感器发送了响应信号,其中数据位是1或者0决定于高电平的长短。
传感器0信号的时如下图3-7所示:
图3-7数字0信号的表示方法
数字1信号表示方法如下图3-8所示
图3-8数字1信号表示方法
3.3.2 DHT11传感器模块电路设计由于DHT11传感器可以直接与STC89C52单片机相连。首先将传感器的Pin2口与单片机的P2.0口连接,这为数据口,用来数据的接收与发送。然后再将传感器的Pin1口与单片机的VDD连接,Pin4口需接地。Pin3悬浮放置即可。
原理电路图如下图3-9所示:
图3-9 DHT11电路原理图
3.4 LCD1602液晶显示模块设计3.4.1 LCD1602液晶显示屏简介[7]LDC1602液晶显示屏能够实现显示2行16列。它常用于人们的生产生活中,比如常见的计算机,电子表等都有用到液晶显示屏,它的使用也越来越普遍。而在单片机应用系统中使用它有以下优点:
(1)此显示屏为数字式,因而它能够直接连接单片机的引脚,简单方便。而且它为插针式,更换简单,实用性强。
(2)传统的阴极射线管显示屏需要要不断的刷新新亮点来显示,因此显示屏会闪烁。而液晶屏则避免了这一缺点,它能够保持色彩和亮度。
(3)相比于传统的显示屏,液晶屏的耗电量更少,实用性更高,有效的利用了资源。
(4)液晶屏的结构简单,因此重量比传统的显示屏轻很多,所以在系统中使用时减少了系统的体积,更加合理的利用了系统空间。
LCD1602液晶显示屏实物图如下3-10所示:
图3-10 液晶屏实物图
(1)引脚说明[3]:
第1脚:接地。
第2脚:接5V的电压。
第3脚:用来改变显示屏上的对比度的端口。对比度最强的时候应是接正电源的时候,最弱的时候端口接地。
第4脚:液晶屏的寄存器口,接高电平或低电平时分别作为为数据寄存器或指令寄存器。
第5脚:读写信号线口,接高电平或低电平时分别为读操作或写操作。
第6脚:E端口称之为使能端,液晶模块想要执行命令的前提是要让E端由高电平转变到低电平。
第7脚到14脚:双向数据线。
第15脚:背光源正极。
第16脚:背光源负极。
(2)LCD1602的RAM地址映射及标准字库表
液晶模块内部的存储器是已经存储有常用的符号、英文字母的大小写、阿拉伯数字等60个不同点阵字符图形。相对的代码对应着相对的字符。显示屏内部地址显示如下图3-11所示[6]:
图3-11 1602内部显示地址
当输入显示地址的时候需要最高的地址D7要保持在高电平1,因而正确的写数据应该是01000000 B(40H)+ 10000000 B(80H)= 11000000 B(C0H)。由于它在显示的时候光标会自动移到最右边,不需要进行其它的操作。
3.4.2 LCD1602液晶显示模块的电路原理图液晶屏显示的原理就是给予不同的地方不同的电压值,来确定是否显示,有电的地方就显示,没电的地方就不会显示了。这是是否显示的原理,而显示屏也有薄厚之别,其中液晶的厚度薄,非常的轻便,向我们生活中用到的液晶电视,电脑显示屏,数码相机的屏幕等等都是运用液晶显示屏实现的。所以它普遍的应用在人们的生产生活中。
1602显示模块图如下图3-12所示[11]:
图3-12 1602显示模块
3.5 报警模块3.5.1 蜂鸣器介绍蜂鸣器的原理就是利用电来发声,采用集成的电声结构,通以稳定的直流电源即可。它的使用之处更是普遍,像学校的上下课铃声,汽车的喇叭,电子手表的响声等等。
3.5.2 蜂鸣器的工作原理[5]
图3-13 蜂鸣器工作原理图
第4章 系统软件设计
想要构成总的程序模块,首先要设计出各个子模块,建立相应的流程图。然后基于对课题的了解把各个子模块连接起来。这样便构成了总的程序模块。
系统总流程图如下图4-1所示:
图 4-1 主程序流程图
4.1 1602液晶显示模块设计LCD1602液晶显示模块流程图如下4-2所示。首先单片机发送开始信号到显示屏,显示屏先初始化,然后调用显示屏内部的程序,延时后先设置第一行的显示位置,然后显示内容。再然后设置第二行显示位置,显示第二行内容。
图4-2 1602液晶显示模块程序流程图
4.2 传感器模块设计DHT11温湿度传感器模块的软件流程图如下图4-3所示。首先单片机发送起始信号后,然后传感器接收起始信号后会从低功耗模式变成高效率模式,然后起始信号过后,传感器就会响应,然后发送40位的数据且采集一次信号。反之如果并未接收到信号,则传感器不会采集温湿度。
图 4-3 DHT11传感器模块程序流程图
第5章 系统分析与调试
本设计的程序编写编译是在Keil软件中完成的,Keil软件编程这块比较简单易学。在对软件简单的学习之后,再结合C语言,就可以开始编程了。编程好了之后就需要对程序进行烧录,也就是把所编辑的程序下载保存到实物的单片机里面,这就要使用到STC_ISP_V480程序烧录软件。使用前要对软件进行一些设置。首先在页面中的MCU Type选项中选择STC89C52。然后打开一个文件名后缀为.hex的文件,这就是我们之前已经编译好的程序。最后核对COM选项,选择正确的端口即可。最后点击下载。它就自行烧录了[11]。
Keil C程序运行如图5-1所示
图5-1 keil C运行图
图5-2 程序烧录运行图
通过以上步骤,便初步完成了系统程序的编写、编译与烧录。下面要做的就是试用实物了,也就是演示系统是否可行。首先给系统供电,由于之前程序已经烧录进了单片机,单片机会自动保存程序,所以供电后就可以看见显示屏上显示出了当前环境下的温度和湿度。显示屏没有问题了就要测试传感器模块和报警模块是否正常,可以用手轻捏传感器,发现温度逐渐上升,所以传感器模块没有问题。再用按钮把限值调到当前温度内,发现蜂鸣器报警,所以报警模块也正常。通过以上的检查测试,表明了此设计系统可行,实物运行正常。
系统实物如下图5-3所示:
图5-3 系统实物图
如图中所示,显示屏第一行显示的为温度数值,15表示为当前环境下所测量到的温度值,H30-L10表示系统所设定的温度上下限为10度到30度。显示屏第二行显示的为湿度数值,67%表示为当前环境下所测量到的湿度值,H90-L10表示系统所设定的湿度上下限为10%到90%。DHT11传感器为图中蓝色器件。图左边圆形黑色器件为蜂鸣报警器。图中4个报警指示灯,分别代表温度过高(左红灯)、温度过低(左黄灯)、湿度过高(右红灯)、湿度过高(右黄灯)。图中三个按钮的功能,右按钮为将显示器光标移动一个位并且闪烁显示光标;左按钮为当前光标所在位置的数值加一;中间按钮为当前光标所在位置的数值减一[14]。
在家庭中应用此系统实物,便能清晰明了的得到当前家庭内的温湿度数值。且可以根据所在家庭要求的不同,用按钮调整温湿度的区间。当系统报警时,也可以清楚的从报警指示灯中看出结果,是温度过高过低,还是湿度过高过低。从而更准确的进行处理。
第6章 结论与展望
现如今的工业生产中,机械化生产与自动化生产越来越广泛。工业机器人越来越多的应用与生产生活中,机器人在生产方面有很多强于人类的地方,比如它可以长时间的,不停的重复一道工序而不感到枯燥;它也可以代替人类去完成一些高难度,高危险的工作。所以现代工业生产中机器人的使用越来越多。而机器人的系统中,最基本的一种硬件就是传感器,各类的传感器。它用来感应与测量,再将所得的数据发给系统的主控模块,一般为单片机,来进而控制机器人的运动,这种技术也就是测控技术。这样的技术极大的改进了传统的生产生活方式,让工艺生产更加的高效。
本毕业设计为基于单片机的家庭温湿度监测系统。设计中以单片机STC89C52为核心模块,再结合传感器与液晶显示屏,便可以很好的实现对当前环境温湿度的采集与显示,再配合报警器便可以过限报警。此系统不仅仅可以用在储物家庭中,还可以用在房间,实验室,蔬菜大棚等室内系统中。不仅仅如此,本系统还可以扩展延伸,比如加上升温降温系统,加湿除湿系统等等。所以本设计还有良好的延伸扩展能力
参考文献
[1] 徐新艳.单片机原理、应用与实践[M]. 北京:高等教育出版社,2005.
[2] 陈明荧.8051单片机课程设计实训教材[M]. 北京:清华大学出版社,2003.
[3] 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M]. 北京:清华大学出版社,2002.
[4] 王千.实用电子电路大全[M]. 电子工业出版社,2001.
[5] 张毅刚.MCS-51单片机应用设计[M]. 哈尔滨工业大学出版社,2004.
[6] 冯博琴.微型计算机原理与接口技术[M]. 北京:清华大学出版社,2004.
[7] 张淑清,姜万录等.单片微型计算机接口技术及应用[M]. 国防工业出版社,2003.
[8] 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M]. 北京:清华大学出版社,2001.
[9] 张毅刚.MCS-51单片机应用设计[M]. 哈尔滨工业大学出版社,2004.
[10] 冯博琴.微型计算机原理与接口技术[M]. 清华大学出版社,2004.
[11] 赵亮,侯国锐.单片机C语言编程与实例[M]. 北京:人民邮电出版社,2003.
[12] 王振红,李洋,郝承祥.ISD4004语音芯片的工作原理及其在智能控制系统中的应用[J]. 电子器件2002年3月第25卷第1期.
[13] ANALOG DEVICES.The technology of AT89C51[EB/OL].White Paper,Spe.28.2000.
[14] R.L.Geiger,P.E.Allen,N.R.Strader.VLSI.Design Techniques for Analog And Digitial Ciruits,McGraw-Hill Inc.1990.

附 录
附录A 外文原文
附录A 外文翻译基于 USB 接口的温湿度测量系统设计
Yuchan Xie
摘要:为了扩大使用范围,本文介绍一种基于USB接口的温湿度测量方法,将SHT10作为温湿度数据采集传感器,并且以温度补偿相对湿度,通过USB接口芯片CH340T把接收到的数据传输至PC进行处理,本文从硬件和软件两个方面对系统进行了详细的介绍,实验表明,这种方式具有良好的测量效果。
关键词:温度测量 湿度测量 USB 接口
第一章 介绍
随着社会的发展,温度和湿度的测量已经在越来越多的工业和农业现场应用 [1, 2]。例如,在食品中,医药中烟草等家庭中,温度和湿度需要实时监测,特别在半导体生产环境中有严格的要求,太热或太湿会导致其性能变差,因此,温度和湿度需要严格检查和控制。
传统方法中测量温度和湿度需要分开测量,而传感器间的相容性较差,因此测量过程特别容易受到干扰,而且测量电路过于复杂,所以它已经不能满足现代科学技术发展的需要 [3]。
目前,温湿度检测系统与上位机的通信大多通过RS-232串口连接 [4]。
为了适应接口开发的发展,系统采用USB接口,使它既可以作为读写磁盘,也可以作为外设系统与PC机进行通信,从而达到理想的智能温湿度测试要求,而且系统结构简单,智能度高,测量精度高。
第二章 设计方案
STC89C52芯片作为系统的核心来控制整个系统,如图1所示。
图1 系统结构
SHT10作为测量温度和湿度传感器,DS1320生成时间信息,液晶显示屏 LCD1602显示温度和湿度值,而且每5s会有一组温度和湿度数据存储AT24C02,并通过USB 接口芯片CH340T传输到PC,PC可以通过串口协助接收数据。
第三章 硬件设计
STC89C52外围电路如图2所示。
图2 STC89C52外围电路
3.1 温湿度传感器
SHT10通过两条线路与STC89C52 通信,STC89C52中的P1.3与SHT10依靠DATA连接传输数据,而P1.4与SCK连接以生成时间信号,SHT10中的VDD与电源相接,GND接地,SH10和STC89C52之间的连接如图3所示。
图3 SHT10与STC89C52之间的连接
内存芯片AT24C02与主控制芯片连接,如图4所示;AT2402中的地址行是用来确定芯片硬件地址的,它们是接地在系统中的,主控芯片与P2.1通过数据线连接
图4 AT24C02与控制针连接
模拟数据通过IIC总线传输,SCL与P2.0连接,时间信号由主控制芯片生成,WP是接地,允许正常读写操作。
Ch340T和STC89C52的串行通信由两条数据线连接,其中P3.0与TXD连接,P3.1与RXD连接展示在图5。
图5 CH340T与主控制销连接
第四章 软件设计
4.1 温湿度测量
与温湿度传感器SHT10相关的主要程序包括:书写部分、读写节数、温湿度测量、温湿度值变换、温度补偿等, 如图6所示。
图6 温湿度测量流程图
·信号取样: 控制引脚开始传输时间如图6所示。当时间信号 SCK 从低电平变为高电平时,数据线就会变低,在下一次SCK变高后,数据波形就会变成为高电平,已完成度量值初始化后,测量过程在测量指令下达后开始执行,测量指令和测量精度根据测量时间不同而不同,当数据再次变低低时,测量结束,当 "数据准备" 完成,读出信号,如图7所示;
图7开始发送温度和湿度测量的设计
· SHT10 的温度测量具有良好的线性度。
温度t可以直接由方程得到:
T =d1 +d2⋅SOT
其中, SHT10是从SHT10的输出温度数据,d1和d2是常数,可以通过查找手册获得。
·相对湿度可由以下等式获得:
RH =C1+C2⋅SORH + C3⋅SORH2
其中,SORH是从SHT10输出湿度数据,C1,C2,和C3是常数,这可以通过查找手册获得
·相对湿度的补偿如果测量温度与25°C之间有很大的差异,则湿度值需要通过温度来校正。补偿公式如下所示:
HTRUE=( T°C -25) ⋅ (t1+t2⋅SORH)+RH
T °C 数据是来自SHT10的温度,其单位是摄氏度,SORH是输出湿度数据,RH是相对湿度,t1和t2是常数,同样可以通过查找手册获得。
4.2 数据存储和读写
· 储存过程: 在AT24C02有7行地址代码,4行高地址代码是固定的,都是1010。另外3行低代码,是A2,A1,A0根据他们的水平区分。当主控芯片在书写时,其 (R/W)引脚设置为0。7行地址码是通过数据线SDA发送的。在储存完成后,开始读写。
读写过程:读写时,pin (R/W) 和7地址代码中的 "0" 在不确定的数据线SDA中发送。在确认该线路中的代码是其地址信息后,AT24C02 在网上发出响应信号,然后,将第一个地址发送到AT24C02,接下来等待响应信号,当其引脚 (R/W)响应信号为"1",控制芯片发送设备地址到AT24C02。接收到设备响应后, 表示在线上的数据正在读取。
数据传输:测量系统通过CH340T与PC机进行通信传输,在 PC上安装驱动器程序后,串行端口协助可以接收数据,在测量系统和个人计算机之间采取异步通信,为了保证收发端的协调一致, 传输装置和接收装置具有相同的数据格式和传输速度。
它以字节作为异步通信单元.字符之间的时间间隔是任意的,但每个字符中的位都在固定的时间内传输,即同一字符中的之间的距离是最小间隔的整数倍。
第五章 仿真实验
在温湿度测量系统中,数据采集使用传感器SHT10,数据在单片机STC89C52中进行处理。温度、湿度和时间均显示在LCD1602,数据存储在AT24C02,并通过 CH340T传输到PC,模拟练习是基于EDA仿真软件。其结果如图8所示,在 LCD 中,时间信息显示在上面的行中,度和湿度参数显示在下面的行中,每5秒都会有一组温度和湿度数据将存储在 AT24C02,并由串口协助接收。实验表明,各模块在温湿度测量仪中工作正常,实现了基本功能,实际测试结果如图9所示;
图8 仿真结果
图9真实测试结果
第六章 结论
温湿度检测系统由新型的数字集成温湿度传感器SHT10、大容量存储器芯片 AT24C02、方便可靠的 USB接口组成,通过传输到PC,根据这些,可以在任何时候无需人工干预即可获取和保存温度和湿度,能在许多场合工作,测试系统结构简单,数据可靠,使用方便。
©出版社柏林海德2016935
Q. Liang et al. (eds.), 2015国际通信、信号处理和系统会议论文集,电气工程386,DOI10.1007/978-3-662-49831-6_97
附录B 硬件原理图
完整的Word格式文档51黑下载地址(内含源码与清晰图片):