基于单片机实现温度巡回检测系统.doc_第1页
基于单片机实现温度巡回检测系统.doc_第2页
基于单片机实现温度巡回检测系统.doc_第3页
基于单片机实现温度巡回检测系统.doc_第4页
基于单片机实现温度巡回检测系统.doc_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

哈尔滨工业大学华德应用技术学院毕业设计(论文)摘要为保证仓库日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。本系统研制了以AT89C51单片机为控制核心,基于DS18B20及HS1100传感器的温度和湿度自动检测系统。这个系统能够对库区内每个库房中的温度及湿度的变化情况进行实时自动检测,一旦出现异常现象便于及时处理,有效地提高了事故的预见性和工作效率。单片机应用系统主要由单片机最小系统单元、湿度显示单元、温度显示单元、温湿度控制、报警单元等五个单元组成。关键词 AT89C51单片机;温度传感器;湿度传感器;显示AbstractFor guaranteeing the warehouse daily smoothly progress, the major problem is to enhances the monitoring of the temperature and the humidity inside the warehouse . The traditional method is to use testing devices of Hygrometer, Hair Hygrometer, Double Metals measuring and Humidity Paper etc. Passing the labour power proceed examination, to match with the temperature and humidity requesting to proceed ventilating, reducing the Damp and the temperature etc. This kind of artificial testing method Wasted a lot of time and the efficiency is very low,and the error is big. Therefore we need a kind of device that is the price cheaply, usage Conveniently and accurated measure the temperature and the humidity . The design of this system is consist of to the machine of AT89C51MCU that as to control core, according to DS18B20 and HS1100 measure automatically the temperature and the humidity.This system can be getting to the automatic examination for the variety circumstance between the temperature and the humidity of every areas inside the warehouse, once appearing the abnormality phenomenon is easy to handle,therefor the system increases effectively the prediction of the accidents and the work efficiency.SCM application system is mainly from the smallest single-chip system unit, temperature sensor unit, humidity display units,temperature display units, temperature and humidity control of, alarm units five modules. Key wordsAT89C51MCUtemperature sensorhumidity sensordisplay目录摘要IAbstractII第1章 绪论11.1 课题背景11.2 目的及意义11.3 系统要求21.3.1 基本功能21.3.2 主要技术参数21.4 系统概述2第2章 方案设计42.1 温度传感器的选择42.2 湿度传感器的选择52.3 主控部分62.4 本章小结6第3章 硬件设计73.1 系统硬件结构框图73.2 主控模块分析73.2.1 AT89C51概述73.2.2 主要特性83.2.3 引脚说明83.2.4 串口结构103.3 温度信号采集单元133.3.1 DS18B20概述133.3.2 DS18B20内部结构143.3.3 DS18B20工作时序173.3.4 DS18B20与AT89C51的接口设计183.4 湿度信号采集单元193.4.1 湿度传感器193.4.2 HS1101特点203.4.3 HS1101与AT89C51的接口设计213.5 LCD1602显示输出单元233.5.1 LCD1602简介233.5.2 LCD1602 的基本参数及引脚功能233.5.3 LCD1602的指令说明及时序253.5.4 LCD1602硬件设计283.6 报警设计293.7 本章小结30第4章 软件设计及调试314.1 软件程序设计314.1.1 系统总程序设计314.1.2 温度采集模块程序设计314.1.3 湿度采集模块程序设计324.1.4 显示模块程序设计334.1.5 按键模块程序设计344.2 系统硬件调试344.2.1 硬件环境344.2.2 硬件调试344.3 软件程序调试354.3.1 软件环境354.3.2 软件调试364.4 湿度调试374.5 系统联调384.6 本章小结39结论40致谢41参考文献42附录143附录254附录355-IV-哈尔滨工业大学华德应用技术学院毕业设计(论文)第1章 绪论1.1 课题背景近几年据海关统计结果显示,我国粮食进出口同比均呈下降趋势,我国粮食供求开始进入紧平衡阶段。在粮食供给能力逐渐弱化的情况下,我们必须注意到贮存粮食的科学性和有效性。贮粮仓库的现代管理也是当前粮食系统改造的重大项目之一。而在粮仓管理过程当中,最重要的是控制仓内的温度和湿度,温湿度会直接影响粮食的贮存质量。防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。本文介绍一套基于89C51单片机的温湿度测控系统,采用计算机实现自动实时检测与控制,能够明显提高粮食的贮存质量,减少仓储保管人员,带来较大的经济效益。1.2 目的及意义温度和湿度的测量和控制是许多行业的重要工作目标之一,不论是粮食仓库、中药材仓库,还是图书保存,都需要在符合规定的温度和湿度环境条件之中。然而温度和湿度却是最不易保障的指标,针对这一情况,研制可靠且实用的温度和湿度检测与控制系统就显得非常重要。多点温度采集监控系统是用来对多个点和设备的温度进行分散控制,集中管理的系统,在工业生产中有很广泛的应用。这种分散控制包括对温度的检测、控制信息的输出以及温度的实时控制等,实现各回路或生产过程长期可靠地、无人干预地自动运行,湿度也是同样的。该系统可以达到自动控制降温、除湿、通风。根据需要,通过键盘可随时调节仓库温度。1.3 系统要求1.3.1 基本功能本系统的基本功能主要有以下几点:1.温度、湿度的检测;2.显示温度、湿度;3.过限自控及报警1.3.2 主要技术参数 该系统的技术参数有以下几点:1.温度检测范围 : -30-+502.测量精度 : 0.53.湿度检测范围 : 10%-100%RH4.检测精度 : 1%RH5.显示方式 : 温度:液晶显示 湿度:液晶显示6.报警方式 : 三极管驱动的蜂鸣音报警7.自控方式 : 用风扇进行降温湿度1.4 系统概述国外对粮库环境控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的粮库控制技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。我国对于粮库控制技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收发达国家粮库控制技术的基础上,才掌握了人工气候室内微机控制技术,该技术仅限于温度、湿度和CO2浓度等单项环境因子的控制。之后,我国的温室控制技术得到了迅速发展。该控制系统能够监控粮库的温湿度,并能显示当前所检测的值。温湿度检测及控制通过单片机来实现,用温湿度传感器采集当前温度,LCD液晶显示当前温度值。我们设置一个温湿度上限,并保存到单片机中,若当前采集值高于上限时,系统将自动采用控制系统,如控制系统不能正常工作,则会报警。温湿度高于上限时,系统通过控制外设风扇给粮库降温或吹干。本系统采用多点温度采集,即将多个点的温度采集后,将各个点的温度情况传回到主控机上实现实时监控功能。并用按键来切换多点温度值和湿度值的显示及设置温湿度的上限值。该检测控制部分主要由单片机最小系统单元、温度传感器单元、湿度传感器单元、温湿度显示单元、温湿度控制等五个单元组成。单片机最小系统选用增强型AT89C51单片机;温度传感器选用1Wire数字温度传感器DS18B20;湿度传感器选用HS1101型温度传感器。第2章 方案设计当将单片机用作测控系统时,系统总要有被测信号懂得输入通道,由计算机拾取必要的输入信息。对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。2.1 温度传感器的选择方案一:采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准测温范围-200650,百度电阻比W(100)=1.3850时,R0为100和10,其允许的测量误差A级为(0.15+0.002 |t|),B级为(0.3+0.005 |t|)。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50180测温。方案二:采用PT100作为测温电路的温度传感器。PT100传感器是利用铂电阻的阻值随温度变化而变化,并呈一定函数关系的特性来进行测温的具有抗振动、稳定性好、准确度高、耐高压等优点。但使用起来比较复杂PT100输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂。方案三:采用DS18B20作为测温电路的温度传感器。DS18B20的数字温度输出通过“一线总线”( 1-Wire是一种独特的数字信号总线协议,它将独特的电源线和信号线复合在一起,仅使用一条口线;每个芯片唯一编码,支持联网寻址、零功耗等待等,是所需硬件连线最少的一种总线)这种独特的方式,可以使多个 DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大可能性。它在测温精度、转换时间、传输距离、分辨率等方面比其他温度传感器有了很大的进步,给用户带来了更方便的使用和更令人满意的效果。综合以上三种方案,本系统选择了第三种方案的线性输出比较好的DS18B20来作为温度检测。2.2 湿度传感器的选择测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。方案一:采用HOS-201湿敏传感器。HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ1KHZ,测量湿度范围为0100%RH,工作温度范围为050,阻抗在75%RH(25)时为1M。这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。然而,这种传感器只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。方案二:采用HS1100/HS1101湿度传感器。HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。相对湿度在1%-100%RH范围内;电容量由16pF变到200pF,其误差不大于2%RH;响应时间小于5S;温度系数为0.04 pF/。可见精度是较高的。综合比较方案一与方案二,方案一虽然满足精度及测量湿度范围的要求,但其只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。而且还不具备在本设计系统中对温度-3050的要求,因此,我们选择方案二来作为本设计的湿度传感器。2.3 主控部分主控部分采用该芯片具有4KB的可编程/擦除只读存储器EEPROM、256KB片内RAM、2个16位定时计数器、5个中断源,无需进行系统扩展既可满足任务要求,能较大幅度提高系统的性价比。EEPROM指的是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory。它的最大优点是可直接用电信号擦除,也可用电信号写入。EEPROM不能取代RAM的原因是其工艺复杂, 耗费的门电路过多,且重编程时间比较长,同时其有效重编程次数也比较低。片内ROM的特点是程序必须在制作单片微机时写入。5个中断源分别是2个外部中断2个内部中断串行通讯中断。该芯片的最大特点就是片内的4K程序存储器可在线或用编程器重复编程。另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。2.4 本章小结本章主要是对本系统所选用的方案做了一个介绍,由于有的部分可能同时做出合理的多个方案,从而从这些方案中选择出最适合本系统的方案。最终本系统采用的方案是:温度传感器采用DS18B20数字型温度传感器,湿度传感器采用HS1101型湿度传感器,主控部分采用AT89C51。第3章 硬件设计3.1 系统硬件结构框图温湿度检测系统的硬件选用MCS51系列89C51作为主控中心。为实现对系统的处理,将温湿度传感器采集得到的值,通过液晶显示器显示出来并进行控制。本系统的总体硬件结构框图,如图3-1所示。图3-1 系统的总体硬件结构框图3.2 主控模块分析3.2.1 AT89C51概述AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带4K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2.2 主要特性 与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 3.2.3 引脚说明AT89C51是一个40引脚的芯片,芯片引脚如图3-2所示。图3-2 AT89C51引脚图VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 3.2.4 串口结构单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢?SBUF 数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。”实际上SBUF 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址99H。CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H 地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfr SBUF = 0x99;当然你也可以用其它的名称。通常在标准的reg51.h 或at89x51.h 等头文件中已对其做了定义,只要用#include 引用就可以了。SCON 串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON 就是51 芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51 芯片串行口的工作状态。51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON 寄存器。它的各个位的具体定义,如表3-1所示。表3-1 SCOND7(SM0)D6(SM1)D5(SM2)D4(REN)D3(TB8)D2(RB8)D1(TI)D0(RI)01010000SM0、SM1 为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置。SM0 SM1 模式 功能 波特率0 0 0 同步移位寄存器 fosc/120 1 1 8位UART 可变1 0 2 9位UART fosc/32 或fosc/641 1 3 9位UART 可变在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。表中的fosc 代表振荡器的频率,也就是晶振的频率。UART 为(Universal Asynchronous Receiver)的英文缩写。SM2 在模式2、模式3 中为多处理机通信使能位。在模式0 中要求该位为0。REM 为允许接收位,REM 置1 时串口允许接收,置0 时禁止接收。REM 是由软件置位或清零。如果在一个电路中接收和发送引脚P3.0,P3.1 都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0 来禁止接收,在子程序结束处加入REM=1 再次打开串口接收。大家也可以用上面的实际源码加入REM=0 来进行实验。TB8 发送数据位8,在模式2 和3 是要发送的第9 位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。RB8 接收数据位8,在模式2 和3 是已接收数据的第9 位。该位可能是奇偶位,地址/数据标识位。在模式0 中,RB8 为保留位没有被使用。在模式1 中,当SM2=0,RB8 是已接收数据的停止位。TI 发送中断标识位。在模式0,发送完第8 位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI 置位后,申请中断,CPU 响应中断后,发送下一帧数据。在任何模式下,TI 都必须由软件来清除,也就是说在数据写入到SBUF 后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI 不会由硬件清除,所以这时必须用软件对其清零。RI 接收中断标识位。在模式0,接收第8 位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU 取走数据。但在模式1 中,SM2=1时,当未收到有效的停止位,则不会对RI 置位。同样RI 也必须要靠软件清除。常用的串口模式1 是传输10 个位的,1 位起始位为0,8 位数据位,低位在先,1 位停止位为1。它的波特率是可变的,其速率是取决于定时器1 或定时器2 的定时值(溢出速率)。AT89C51 和AT89C2051 等51 系列芯片只有两个定时器,定时器0 和定时器1,而定时器2是89C52 系列芯片才有的。波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600 会被误认为每秒种可以传送9600个字节,而实际上它是指每秒可以传送9600 个二进位,而一个字节要8 个二进位,如用串口模式1 来传输那么加上起始位和停止位,每个数据字节就要占用10 个二进位,9600 波特率用模式1 传输时,每秒传输的字节数是960010960 字节。51 芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12M 的晶振来计算,那么它的波特率可以达到1M。模式2 的波特率是固定在fosc/64 或fosc/32,具体用那一种就取决于PCON 寄存器中的SMOD位,如SMOD 为0,波特率为focs/64,SMOD 为1,波特率为focs/32。模式1 和模式3 的波特率是可变的,取决于定时器1 或2(52 芯片)的溢出速率。那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?可以用以下的公式去计算。波特率(2SMOD32)定时器1 溢出速率上式中如设置了PCON 寄存器中的SMOD 位为1 时就可以把波特率提升2 倍。通常会使用定时器1 工作在定时器工作模式2 下,这时定时值中的TL1 做为计数,TH1 做为自动重装值 ,这个定时模式下,定时器溢出后,TH1 的值会自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定时更准确。在这个定时模式2 下定时器1 溢出速率的计算公式如下:溢出速率(计数速率)/(256TH1)上式中的“计数速率”与所使用的晶体振荡器频率有关,在51 芯片中定时器启动后会在每一个机器周期使定时寄存器TH 的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51 芯片的计数速率为晶体振荡器频率的1/12,一个12M 的晶振用在51 芯片上,那么51 的计数速率就为1M。通常用11.0592M 晶体是为了得到标准的无误差的波特率,那么为何呢?计算一下就知道了。如我们要得到9600 的波特率,晶振为11.0592M,定时器1 为模式2,SMOD 设为1,分别看看那所要求的TH1 为何值。代入公式:11.0592M9600(232)(11.0592M/12)/(256-TH1)TH1FD上面的计算可以看出有一定的误差存在不能产生精确的9600 波特率。当然一定的误差是可以在使用中被接受的,在使用11.0592M 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。3.3 温度信号采集单元3.3.1 DS18B20概述DS18B20是DALLAS公司生产的一线式数字温度传感器,与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量;温度测量范围为-55+125,分辨率可达0.0625;其工作电源既可在远端引入,也可采用寄生电源方式产生;因而使用DS18B20可使系统结构更简单,可靠性更高。3.3.2 DS18B20内部结构DS18B20内部结构如图3-3所示,主要由4部分组成:64位ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端。 图3-3 DS18B20内部结构框图(1) 64位ROM的结构,如表3-2所示。表3-2 ROM结构图8位CRC编号48位序列号8位产品系列编码MSB LSBMSB LSBMSB LSB开始8位是产品类型的编号,接着是每个器件的唯一的序号,共有48位最后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因。非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限。(2) 高速暂存存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM。后者用于存储TH,TL值。数据先写入RAM经校验后再传给E2RAM。而配置寄存器为高速暂存器中的第5个字节,他的内容用于确定温度值的数字转换分辨率,DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义,如表3-3所示。表3-3 字节定义TMR1R011111低5位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,即是来设置分辨率,如表3-4所示(DS18B20出厂时被设置为12位)。表3-4 R1和R0模式表R1R0分辨率温度最大转换时间/ms009位93.750110位187.51011位275.001112位750.00由表3-2可见设定的分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中,分辨率和转换时间权衡考虑。高速暂存存储器除了配置寄存器外,还有其他8个字节组成,其分配如表3-5所示。其中温度信息(第1,2字节)、TH和TL值第3,4字节、第68字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。表3-5 高速暂存存储器温度低位温度高位THTL配置保留保留保留8位CRC当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.0625/LSB形式表示。温度值格式如图3-4所示。图3-4 温度值格式对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。表3-6是对应的一部分温度值。表3-6 部分温度值温度/二进制表示十六进制表示+12500000111 1101000007D0H+25.062500000001 100100010191H+0.500000000 000010000008H000000000 000000000000H-0.511111111 11111000FFF8H-25.062511111110 01101111FE6FH-5511111100 10010000FC90HDS18B20完成温度转换后,就把测得的温度值与TH,TL作比较,若TTH或TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令做出响应。因此,可用多只DS18B20同时测量温度并进行告警搜索。在64位ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前56位来计算CRC值,并且和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。如图3-5图所示。图3-5 DS18B20的内部测温电路框图3.3.3 DS18B20工作时序DS18B20的一线工作协议流程是:初始化ROM操作指令存储器操作指令数据传输。其工作时序包括初始化时序、写时序和读时序,如图3-6、图3-7、图3-8所示。图3-6 DS18B20初始化时序图3-7 DS18B20写时序图3-8 DS18B20读时序3.3.4 DS18B20与AT89C51的接口设计本系统采用的是对DS18B20外部供电,这种方法的优点是在I/O线上不要求强的上拉。总线上主机不需向上连接便在温度变换期间使线保持高电平。这就允许在变换时间内其它数据在单线上传送。此外,在单线总线上可以放置任何数目的DS18B20,而且如果它们都使用外部电源,那么通过发出(Skip)ROM命令和接着发出变换(Convert)T命令,可以同时完成温度变换。注意只要外部电源处于工作状态,GND引脚不可悬空。在总线上主机不知道总线上DS18B20是寄生电源供电还是外部电源供电的情况下,在DS18B20内采取了措施来通知采用的供电方案。总线上主机通过发出跳过(Skip)ROM的操作约定,然后发出读电源命令,可以决定是否有需要强上拉的DS18B20在总线。在此命令发出后主机接着发出读时间片命令。如果是寄生供电,DS18B20将在单线总线上送回“0”;如果由外部电源供电它将送回“1”。如果主机接收到一个“0”,它知道它必须在温度变换期间在I/O线上供一个强的上拉。如图3-9所示。图3-9 DS18B20与单片机连接3.4 湿度信号采集单元3.4.1 湿度传感器测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。基于独特工艺设计的电容元件,这些相对湿度传感器可以大批量生产。可以应用于办公自动化,车厢内空气质量控制,家电,工业控制系统等。在需要湿度补偿的场合他也可以得到很大的应用。3.4.2 HS1101特点 全互换性 在标准环境下不需校正 长时间饱和下快速脱湿 可以自动化焊接包括波峰焊或水浸 高可靠性与长时间稳定性 专利的固态聚合物结构 可用于线性电压或频率输出回炉 快速反应时间有关HS1101的最大参数值、特征参数以及特征曲线,如表3-7、表3-8、图3-10所示。表3-7 最大参数值 (Ta=25 除非特别标定)参数符号参数值单位工作温度Ta-40100存储温度Tstg-40125供电电压Vs10Vac湿度范围RH0100%RH焊接时间T=260T10S表3-8 特征参数 (Ta=25,10KHz,除非特别标定)特征参数符号MinTypMax单位湿度测量范围RH1995供电电压Vs510V标称电容55%RHC177180183pF温度效应Tcc0.04pF/平均灵敏度(33%75%RH)C/%RH0.34pF/%RH漏电流Ix1nA恢复时间150小时结露tr10s迟滞+/-1.5%长时间稳定性0.5%RH/yr反应时间ta5S曲线精度(10%100%)+/-2%RH图3-10特征曲线不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。湿敏电容工作的温、湿度范围如图3-11a所示,湿度-电容响应曲线如图3-11b所示。 图3-11a 湿敏电容工作的温、湿度范围 图3-11b 湿度-电容响应曲线。相对湿度在1%-100%RH范围内;电容量由16pF变到200pF,其误差不大于2%RH;响应时间小于5S;温度系数为0.04 pF/。可见精度是较高的。3.4.3 HS1101与AT89C51的接口设计HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。如何将电容的变化量准确地转变为计算机易于接受的信号,常有两种方法:一是将该湿敏电容置于运方与租蓉组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再A/D转换为数字信号;另一种是将该湿敏电容置于555振荡电路中,将电容值的变化转为与之成反比的电压频率信号,可直接被计算机所采集。设计的电路如图3-12所示。图3-12湿度电路图555芯片外接电阻R8,R9与HS1101,构成对HS1101的充电回路。7端通过芯片内部的晶体管对地短路实现对HS1101的放电回路,并将引脚2,6端相连引入到片内比较器,构成一个多谐波振荡器,其中,R8相对于R9必须非常的小,但决不能低于一个最小值。R7是防止短路的保护电阻。HS1101作为一个变化的电容器,连接2和6引脚。引脚作为R8的短路引脚。HS1101的等效电容通过R8和R9充电达到上限电压(近似于0.67VCC,时间记为T1),这时555的引脚3由高电平变为低电平,然后通过R9开始放电,由于R8被7引脚内部短路接地,所以只放电到触发界线(近似于0.33VCC,时间记为T2),这时555芯片的引脚3变为高电平。通过不同的两个电阻R8,R9进行传感器的不停充放电,产生方波输出。充电、放电时间分别为:T1=C(R8+R9)ln2T2=CR9ln2输出波形的频率和占空比的计算公式如下:f=1/T=1/(T1+T2)=1/C(2R8+R9)ln2=1/180pF129lln2=6208HzD=T1/T=(R8+R9)/(2R8+R9)=(620+51)/(6202+51)=52%由此可以看出,空气相对湿度与555芯片输出频率存在一定线性关系。表2给出了典型频率湿度关系(参考点:25,相对湿度:55%,输出频率:6.208kHz)。可以通过微处理器采集555芯片的频率,然后查表3-9即可得出相对湿度值。表3-9频率输出典型参数(REFERENCE POINT AT 6660Hz FOR 55%RH/25)RH0102030405060708090100Fr73517224710069766853672866006468633061866033555为典型的CMOS类型。TLC555(RH:百分比相对湿度,F:频率Hz)3.5 LCD1602显示输出单元3.5.1 LCD1602简介在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流

温馨提示

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

最新文档

评论

0/150

提交评论