基于单片机的仓储环境监测系统设计_第1页
基于单片机的仓储环境监测系统设计_第2页
基于单片机的仓储环境监测系统设计_第3页
基于单片机的仓储环境监测系统设计_第4页
基于单片机的仓储环境监测系统设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

开题报告毕业设计(论文)题目基于单片机的仓储环境监测系统设计题目类型工程设计(项目)√论文类R作品设计类□其他□一、选题简介、意义选题简介:指导老师命题内,学生自主选题。意义:

随着国民经济的快速发展和科学技术的普及,高性能设备发展快,对温度和湿度环境的要求也越来越高的企业也越来越多。传统模式的温湿度环境监测是以人为基础,依靠人工抄数值,人工巡回查看等方式来测量和记录环境状况的数据。在这种模型中,不仅效率低不利于人才资源的管理分配,以及缺乏科学性,许多重大事故都是由人为因素造成的,人工维护缺乏完整的管理系统。该监控系统可以解决资源的人力浪费,管理不及时的问题。

二、课题综述(课题研究,主要研究的内容,要解决的问题,预期目标,研究步骤、方法及措施等)研究的内容本课题拟设计一种基于单片机的仓储环境监测系统。该系统通过采用单片机、各种传感器、数码管或LCD显示模块、键盘联合实现。系统主要功能是通过传感器采集仓库的环境信息,实现对仓库安全的实时监控和管理。通过毕业设计,学生应该掌握基于单片机的仓储环境监测系统开发技术。

要解决的问题

研究基于单片机的仓储环境监测系统的重点和难点在于对基于单片机的仓储环境监测系统方案设计及对它功能的实现,监测系统方案的设计决定了后面系统的功能,同样,想要研究个什么样功能的基于单片机的仓储环境监测系统决定了系统设计方案。课题主要包含几个部分:系统方案设计、硬件设计、电路设计、软件设计、软硬件联合调试等。因此,完成此课题必须要有丰富的相关专业知识和认真细致的学习态度。研究步骤第一步:搜集资料;第二步:立论依据、研究目的及意义;第三步:分析问题;最后解决问题。方法及措施收集资料。通过国内外对基于单片机的仓储环境监测系统研究入手收集各种关于基于单片机的仓储环境监测系统的资料,重点对基于单片机的仓储环境监测系统的资料论文进行收集并结合所收集的各种资料,对基于单片机的仓储环境监测系统进行结构的设计和计算。基于单片机的仓储环境监测系统结构设计好后,利用专门软件对其进行编程调试。三、设计(论文)体系、结构(大纲)第一章绪论(一)课题设计要求(二)课题研究的背景及意义第二章系统总体设计(一)系统总体设计框图(二)系统工作流程(三)系统的功能介绍第三章硬件系统设计(一)硬件结构及设计原理(1)单片机AT89S51(2)MC14433A/D转换器(3)环境采集系统(二)硬件各单元电路结构(1)上电手动复位电路(2)环境测量电路(3)YM19264与AT89S51显示连接电路第四章软件设计分析(一)程序开发环境及设计原则(二)软件结构各模块流程图(三)主要模块代码总结参考文献致谢指导教师意见:签字:年月日院(系)审批意见:签章:2018年3月9日基于单片机的仓储环境监测系统设计摘要:本篇论文主要是基于AT89C51单片机的仓储环境检测系统设计,运用了三个DS18B20分别用于收集3个温度通道。LCD1602可以显示仓库中实时通道的数量和电路的温度,用来监控仓库的实际环境。这一篇设计中涵盖了温度传感器DS18B20、单片机AT89C51和LCD1602。硬件电路中涵盖了温度检测电路、温度控制电路和部分的接口电路。软件设计里涵盖了液晶显示程序、温度检测程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序。设计电路的的基本规律是先用三块DS18B20温度传感芯片测试每个不同电路的电流温度,然后把测试完的数据依次分开的录单片机中;然后再用AT89C51芯片给刚测试完得到的数据进行计算和交换,把最后的额数据传到液晶显示模块上。若测到的结果大于了预定的只,单片机就要把信号传给报警电路单元;最后,LCD1602芯片在把这些得到的数据轮流传到液晶显示屏上。关键字:AT89C51单片机;温度传感器DS18B20;LCD1602芯片DesignofStorageEnvironmentMonitoringSystemBasedonSingleChipMicrocomputerAbstract:ThispaperismainlybasedonAT89C51microcontrollerwarehouseenvironmentdetectionsystemdesign,usingthreeDS18B20tocollectthreetemperaturechannels.LCD1602candisplaythenumberofreal-timechannelsandthetemperatureofthecircuitinthewarehousetomonitortherealenvironmentofthewarehouse.ThisdesigncoverstemperaturesensorDS18B20,singlechipAT89C51andLCD1602.Thehardwarecircuitincludestemperaturedetectioncircuit,temperaturecontrolcircuitandpartoftheinterfacecircuit.ThesoftwaredesignincludesLCDdisplayprogram,temperaturedetectionprogram,temperatureconversioncommandsubroutine,temperaturecalculationsubroutineandrealdatarefreshsubroutine.ThebasicruleofthecircuitdesignistotestthecurrentandtemperatureofeachcircuitwiththreeDS18B20temperaturesensorchips,thenrecordthetesteddataseparatelyinasinglechipcomputer,thencalculateandexchangethedatajusttestedwithAT89C51chip,andtransmitthefinalamountdatatotheLCDmodule.Iftheresultisbiggerthantheexpectedone,thesinglechipcomputerwilltransmitthesignaltothealarmcircuitunit.Finally,theLCD1602chiprotatesthedatatotheLCDscreen.Keywords:AT89C51MCU;temperaturesensorDS18B20;LCD1602chip目录TOC\o"1-3"\h\u第1章绪论 71.1论文研究的背景和意义 71.2温度传感器在国内和国外的发展现状 7第2章系统设计 82.1方案设计 82.1.1设计方案一 82.1.2设计方案二 82.1.3设计方案三 82.2系统的整体设计 9第3章电子器件介绍 93.1AT89C51单片机 103.1.1单片机的结构 103.1.2AT89C51简介 103.1.3AT89C51引脚功能 113.1.3芯片擦除 123.2DS18B20温度传感器 123.2.1温度传感器DS18B20的主要特性 123.3LCD1602液晶显示器 13第4章硬件电路设计 144.1系统的硬件组成 144.2单片机的典型电路 144.2.1时钟电路 154.2.2上电复位电路 154.3显示电路 154.4温度检测电路 164.5温度报警电路 16第5章软件设计 175.1主程序 175.2温度检测程序 185.2.1温度传感器DS18B20初始化 185.2.2读DS18B20程序 185.2.3写DS18B20程序 205.3温度交换命令子程序 215.4计算温度子程序 225.5显示数据的刷新子程序 22第6章仿真、实物制作和系统调试 236.1仿真结果 236.2实物制作 246.3系统调试 25总结 25参考文献 26致谢 27第1章绪论1.1论文研究的背景和意义21世纪,现在信息技术的发展越来越快,电子科学技术也在快速的发展着。社会上有很多不同的行业对不同的信息指数的准备和精确性的要求在几何层上都有了很大的提高。比如说怎么才能更快、更准的得到这些参数,这就要看现在的信息基础发展水平了。在下面这三大信息采集(传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器技术是一种新技术革命和信息社会的最基础的技术,是以现在的科学技术的先驱,同样它还是很重要的一个标志。传感器技术、通信技术、计算机技术和信息技术的收集、运输和解决相对的都是现代科学技术的重要发展,特别是传感器技术,现在已经被很多国家使用了,也就是说它们已经进入了社会的每一个领域了。现在人们的生活和环境的温度是密切相关的,在现在工业生产和农业的生产中,必须要实时的测试环境温湿度。所以,探究环境温湿度的监测系统在社会生活的每个领域里取得的大范围使用,甚至在人们很难靠近存有货物的仓库中也的到了大范围的使用,检测控制系统它的惯性很大、变量需要通过一段时间才能完全作用于被解释的变量等等这些不确定的因素。很难创建出一个精准的数学模型,这样会使控制系统的性能变差,可能还会出现系统不稳定或者失控的现象。这个设计主要采用了数字温度传感器DS18B20。因为他的内部组成了一个A/D转换器,他的电路结构非常的简单,降低了温度测量转换的时候精度损失,让温度测量变得更加准确。数字温度传感器DS18B20现在只需要一个插脚就可以单片机的通讯,现在严重减少了布线的麻烦,让单片机能够更好的扩展开来。在这个基础上,我们的设计主要是以AT89C51位核心的,组成了一个稳定的温度控制系统。结合了DS18B20芯片的小型化,数字温度传感器DS18B20可以由一条数据线和主电路进行相连。对仓库的所有地方进行渗入,这样不仅仅可以提高实用性,还可以把很多数字温度传感器串联起来。DS18B20主要用于多通道的温度监测。1.2温度传感器在国内和国外的发展现状现在的传感器已经成为了信息技术的前沿产品了,特别是温度传感器,现在已经大量的被用于工业生产和生活中了,在所有的传感器排名中排到了第一的位置上。温度传感器的发展经历了三个阶段:传统的分离式温度传感器(包括敏感元件)、模拟集成式温度传感器/控制器以及数字温度传感器。现在,新型的温度传感器已经从模拟发展到数字,从集成化发展到智能化和网络化了。与此同时,温度传感器还拥有很高的一直串模干扰能力、分辨率要高、线性度好和成本低的优点。每一个仓库里面都需要做的几件事就是防潮、防霉、防腐和防爆,这些是比较仓库管理质量的重要的标准,他可以直接影响到储备材料的使用寿命和能够一直被依赖和信任的标准。为了让以后的工作都顺利的进行,首先的一个问题就是要加强对仓库温度的监控;因为,传统的方法是达不到温度测试的要求的,我们要要求仓库能够通风、除湿和冷却。这样的手工测试方法不光费时间、费力气,而且效率很低、温度的误差也比较大、随机性很强。所以我们就需要能有一个成本很低有便于大家使用和精确的温度检测系统。我们要让这个系统不仅仅用于仓库监控之外,还要它能够适用于机房、图书馆、档案馆、文物馆、生物制药和无菌室等等这些都需要环境监控的地方。现在中国的科学技术和生产额技术发展的越老越快,都是以温度传感器为基础的温度测量技术才会更有意义。第2章系统设计2.1方案设计2.1.1设计方案一LM35温度传感器用于在温度变化时将电压转换成相等的比例,然后通过数码管进行数字显示。本电路图的核心部分是用ICL7107完成功能转换。ICL7107是一种被很多东西都能够运用到的集成电路。它由三个1/2位AD转换器组成,可以直接驱动LED数码管。具有参考电压、独立模拟开关、逻辑控制、显示驱动、自动衰落等功能。制作数字显示器时,共阳极为数码管,2K可调电阻最好选用多回路电阻,分接电阻采用金属膜电阻,误差小,其它器件采用正品。只要稍加修改,许多电路就可以改进,如数字电流表、数字温度计等。无声电流的温度依赖性。硬件电路很难,软件调试也很那难,同时它的生产成本还很高,但是精度却不高,不能够在高精度场合中使用。2.1.2设计方案二温度监测和控制常常用于日常生活和工农业的生产中。传统的温度测量元件包括热电偶和热电阻。热电偶和热电阻通常测量电压,然后将其转换成相应的温度,这就需要更多的外部硬件支持、复杂的硬件电路、复杂的软件调试和较高的生产成本。本设计采用DALLAS半导体公司在DS1820之后开发的改进型智能温度传感器DS18B20作为检测元件。DS18B20可直接读取被测温度,采用三线制与单片机连接,降低了外部硬件电路,具有成本低、使用方便的特点。根据系统设计功能的要求,系统由主控制器、温度测量电路和显示电路三个模块组成。监控系统控制器采用AT89C51,温度传感器采用DS18B20和LCD1602液晶显示温度。该电路温度精度高,电路简单可靠,能在较高的环境要求下准确测量温度。因此可以采用该方案。2.1.3设计方案三采用集成温度传感器AD590,设计制造了一种基于AT89C51的四位数字温度计。它的电路简单,硬件和软件结构模块化,简单容易实现。数字温度计采用了AD590集成温度传感器和接口电路测量温度然后转换成模拟的电压信号。它转换成数字信号,由单片机通过ADC0804进行处理,然后送到单片机AT89C51进行处理和转换,最后一步把温度值显示在d4、d3、d2和d1的4位七段LED显示屏上。系统由AT89C51单片机、AD590温度测量电路、ADC模数转换电路、4位温度数据显示电路、外围电源和时钟电路组成。这次设计的系统主要采用的是模数转换硬件电路复杂、软件调试复杂、生产成本高。所以,温度计的精度不高,不适合在高精度场合使用。2.2系统的整体设计系统是由单片机和外围的电路组成的,最主要的部分就是温度测量电路使用的都是数字温度芯片来测量温度,使得输出的信号使数字信号,这个可以由单片机直接解决;晶体振荡器电路和复位电路提供的单芯片需要的是始终信号和复位信号。芯片电脑能够正常工作。当仓库温度超过一定的范围时,报警电路就会立即的发出报警辛哈,显露电路就是显露长裤的温度。系统的工作过程如下:三个温度传感器能够实时的收集不同的温度信号,导出的数字信号是传送到单片机的,然后在有单片机进行处理判断,最后全部显示到液晶屏上。如果说道路的温度要比原先设定的温度范围要高或者低了的话,这个时候报警器就会报警。当完成了上面的任务后,就立即返回到程序的起始位置、循环检测和显示。下面是该系统设计的总体框架图:晶振电路晶振电路复位电路报警电路单片机驱动电路显示电路测温点路图1系统总体框图第3章电子器件介绍这一章主要是介绍系统需要的电子元器件。电子元器件包含了AT89C51单片机、DS18B20温度传感器和LCD1603液晶显示器。3.1AT89C51单片机现在卫星计算机的出现已经在人们的生活中被大范围的使用了,成为了计算机领域的一个重要的转折点。单片机是微型计算机发展的一个主要组成部分。它们以其独特的结构和性能,广泛应用于国民经济发展的各个领域。单片微型计算机也可以称为单片机。这个单片微型计算机一般都是用在系统的控制模块中,所以它还可以叫做微控制器或者嵌入式控制器。它可以把计算机的所有基本的功能部件都微型化、然后几种在一块芯片上,从而完成片上系统的设计。3.1.1单片机的结构单片机主要涵盖了中央处理器、数据存储器、程序存储器、定时器/计数器和各种不同的输入/输出接口。下面图2中是我们这次设计的单片机结构:CPUCPUROMRAM定时器/计数器时钟I/O接口图2单片机的结构3.1.2AT89C51简介AT89C51是一种低电压、高性能的CMOS8位微处理器,具有4K字节闪存(FPRAM闪存可编程和可擦除只读存储器),通常称为MCU。AT89C2051是一款具有2K字节闪存的可编程可擦除只读存储器单片计算机。单片机的可擦除只读存储器可擦除1000次。这个器件采用得失Atmel高密度非易失性存储器制造技术制造,与工业标准MCS-51指令集和输出引脚兼容。ATMELAT89C51是一款高效的微控制器,它将多功能8位CPU和闪存结合在一个芯片中。AT89C51单片机为许多嵌入式控制系统提供了一种又灵活又很便宜。3.1.3AT89C51引脚功能单片机中AT89C51这款型号的引脚有四十个双列直插式封装。下面图3中的是它的引脚排列和逻辑符号。图3单片机的引脚示意图1)VCC是一种供电电压;2)GND是用来接地的;3)P0口:P0口作为一个八位的漏极开路双向的I/O接口,每一个管脚都可以吸收8TTL的门电流。当P0口的管脚第一次被写入1的时候,他就会被当成高级电阻被输入。P0口可以被作为用于外部的程序数据存储器,同时它是可以被设置为数据/地址的第八位。在AS编程的时候,P0口就会被作为原码给输入I/O接口中;但是当AS编程进行校验的时候,P0口就会输出原码,这个时候P0口的外部就一定要接上拉电阻。4)P1口:P1口作为一个内部可以提供给上拉电阻的8位双向I/O接口,P1口的缓冲器可以接收到输出的4TTL门电流。当P1口的管脚第一次被写入1的时候,就会被内部上拉为高电阻,可以用为输入,如果P1口被外部下拉到低电平的时候,就会输出电流,这也是因为内部上拉的原因。但是在AS编程和AS校验的时候,P1口就会被当成低8位地址来接受。5)P2口:P2口作为一个内部可以提供给上拉电阻的8位双向I/O接口,P2口的缓冲器就可以接受输入的4个TTL门电流,如果看到P2口被写入“1”的时候,它的管脚就会被内部上拉电阻拉到高电平的位置上,并且是作为输入的。当作为输入的时候,P2口的管脚就会被外部给拉低,然后输出电流,这是因为内部上拉的原因。当P2口作为外部程序存储器或者是16位的地址外部数据存储器进行存取的时候,P2口就会输出地址的高8位。当地址给的是“1”的时候,它就会使用内部上拉的特点,对外部八位地址的数据存储器读写的饿时候,P2口就会输出它的特别的寄存器的内容。P2口在AS编程和校验的时候是可以几首高八位的地址信号和控制信号的。6)P3口:P3口的管脚是有8个内部上拉电阻的双方向的I/O接口的,它可以收入输出的4个TTL门电流。如果P3口被写入的是“1”的时候,它们还是会被内部上拉成高电平,而且还是作为输入。当它作为输入的时候,它就会因为外部下拉成低电平的原因,使得P3口输出电流。3.1.3芯片擦除通过组合正确的控制信号并将ALE引脚保持在10ms的低水平,可以完成整个Perom阵列和三个锁定位的消除。在芯片擦除的整个过程中,代码阵列写入“1”,必须在任何非空内存字节重新编程之前执行。然后AT89C51还具有稳态逻辑,可以支持两种软件交替的低至零频率关机模式。在空闲的时候,CPU停止运行。但是RAM、定时器、计数器、串行端口和中断系统还是在运行的。在没电的时候,RAM内容被保存,振荡器被冻结,其它芯片功能被禁止,直到下一个硬件复位。3.2DS18B20温度传感器DS18B20数码温度传感器很容易连接。他可以用于管道式、螺丝式、磁铁吸附式、不锈钢封锁式等多种封锁式场所、LTM88877、LTM8888874等多种型号模型,主要按不同的应用场所改变外表。包装DS1818B20是有线温度测定,熔炉温度测定,保管温度气温测定,空气温度测量,农业温室温度测量,正室温度测量,弹药高温测定等悲剧温度温度测定,内追踪,体积小便,包装形式多样,适用于各种小型空间设备的数码温度测定领域。3.2.1温度传感器DS18B20的主要特性1、能够适用的电压范围很宽,范围大概在3伏到5.5伏之间,在寄生电源的方式下可以用数据线进行供电;2、唯一的单线接口方式,温度传感器在和单片机连接的时候,它只需要一天口线就可以和单片机进行双向的通讯;3、DS18B20是支持多点组网的功能的,数个温度传感器都可以在同一条三线上,从而实现多点组网来进行测量温度;4、温度传感器在使用的时候不要其他的外围元件,所有的传感元件和转换电路都是集中在一只三级管的集成电路中的;5、温度的范围大概在-55度到125度之间;6、可以用来编程的分辨率是9到12位,他们的可分辨率是0.5度、0.25度、0.125度和0.0625度,可以高精度的去测试环境温度;7、负压特性,当电源的极性接反了的时候,芯片是不会因为很热就烧坏掉的,但是他也不可以继续工作了。3.3LCD1602液晶显示器LCD1602液晶显示器也可以称为工业字符型液晶的,它可以同时显示32个字符。它是一种专门用来显示字母、数据和符号的点阵型液晶。它每一个点阵都是能够显示出一个字符的,液晶显示器一共有16个引脚。各个引脚的功能如下表所示:表1引脚功能表序号名称描述1GND接地2VCC接+5V3VL液晶显示器对比度调整端4RS寄存器选择端5RW读写控制端6EN使能端7-14D0-D7双向数据端15BL+背灯电源正集16BL-背灯电源负极第4章硬件电路设计4.1系统的硬件组成我们的设计主要是以单片机作为重点,然后使用数个温度传感器给多点温度进行检测,这个液晶显示屏分别是循环显示检测出来的温度的。它的原理图如下:温度传感器温度传感器温度传感器温度传感器单片机显示屏图4系统原理框图4.2单片机的典型电路这个单片机的典型电路主要涵盖了时钟电路和复位电路。4.2.1时钟电路根据下面图5中连接的来看,这样就可以组成一个自激振荡电路,震荡的频率是根据适应晶体的振荡频率所决定的,它的范围一般是在1.2MHz到12MHz,C1和C2的作用就是让他们能够频率微调和稳定,电容的范围在5pF到30pF之前。图5单片机时钟电路4.2.2上电复位电路主要是RC建成的微分电路,在通电的那一瞬间就会产生一个为分脉冲,它大概是两个机器周期的宽度。主要电路图如图6所示:图6单片机复位电路4.3显示电路根据下图7中可以看出LCD1602液晶显示的接口由两个管脚连接,LED+接的是+5伏的高电平,LED-是接地的。当你想要清楚的看到数据的时候,你可以调节10K的滑动变阻器去调整显示屏的光度。图7LCD1602液晶显示器的接口连线4.4温度检测电路根据下图8中可以看出三路温度传感器的DQ分别的连接单片机的P3.2、P3.3、P3.4的I/O接口,温度传感器使用的是外围供电的方式,I/O是要接5千欧左右的上拉电阻的,在这个图中,I/O接口接的是4.7千欧的上拉电压,所以视频他的工作是相当可靠的,而且抗干扰的能力很强。图8温度检测电路接线图4.5温度报警电路我们这个系统中的报警系统是软件处理报警,采用了源蜂鸣器输出报警,使用的是直流电源。当测得的温度大于或者小鱼预设的温度的时候,数据端口就会相对的升高液位并且输出报警信号,也可以使用发光二极管的报警电路。若是需要发出报警信号,就只需要在相对的位置上为1就好。在完成判断参数的时候,可以查看一下报警模型单元的报警内容与预设的报警是否一样,如果不一样,就要发出发光警报。报警电路的硬件连接图9所示:图9报警电路硬件连接图第5章软件设计这个系统主要涵盖了主程序、温度检测程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序。5.1主程序主程序是可以调配使用每一个子程序的,还可以系统控制执行模块之间的组合和连接,用来解决子程序发过来的数据。5.2温度检测程序被单片机控制下的温度传感器DS18B20可以分成三个段落,首先是温度传感器DS18B20初始化,其实是读DS18B20程序,最后就是写DS18B20程序。5.2.1温度传感器DS18B20初始化首先,将数据行设置为高级别“1”。拖延时间(时间要求不严格,但尽可能短),然后把数据线拉回到低水平“0”。延迟750us(时间范围大概是从480us到960us)。将数据线拉到高电平“1”,等待延迟(如果初始化成功,温度传感器DS18B20返回的低电平“0”,将在15到60微秒内产生;根据这个数据,我们就能够确定它的存在,但我们应该注意不要无限期地等待,否则程序将进入死循环,因此我们需要对它控制防止超时)。如果CPU在数据线上读取低电平“0”,它必须从它发出的高电平延迟至少480us,并且数据线再次提升到高电平“1”的末尾。5.2.2读DS18B20程序开始设置循环的次数为8总线置0并延时16us读取1位数据延时100us总线置1并延时16us8位读完返回NY最早先将周期数设置成8次,然后通过总线推迟吧这8位数据读入到单片机里面。从温度传感器DS18B20中读取数据的时候,主机就会自动生成读取时隙。主机吧数据从高电平拉回低电平的时候,数据线一定要与写入时隙保持有1us的距离;温度传感器DS18B20的数据输出在读取时隙出现下降沿后的15μus开始设置循环的次数为8总线置0并延时16us读取1位数据延时100us总线置1并延时16us8位读完返回NY图7读DS18B20流程图5.2.3写DS18B20程序跟读DS18B20程序一样,首先还是要将循环的次数设置为诶8次,然后把总线推迟后把8位数据写进单片机里。这个时候主机把数据的逻辑高电平拉回到逻辑低电平的时候,就可以开始写入时隙。这种写入时隙一共有两种写入方法,是写1时隙和写0时隙。所有的写时隙时间必须保持在60us左右,里面有两个写周期最少要有1us的恢复时间。I/O数据线的电平变低的时候,DS18B20在15us到60us的窗口范围内对I/O线进行采样。如果说线上的是高电平,那就写入1;如果线上的是低电平,那就写入0。主机要有一个写时隙,他能够把数据线拉倒低电平后就解脱掉,在刚开始写时隙的15us的时候,就要把数据线拉回到高电平上。主机要是写入一个0时隙,就要把数据线拉回到低电平并且要设置在60us上。每一个读时隙都是从主机那里发出去的,都要拉低总线1us左右,当主机在读时隙的时候,单总线器件才会在总线上传送0或者是1,而且每一个读取时序的时间都要在60us。这个写温度传感器DS18B20的流程图如下:开始设置循环的次数为8总线置0并延时开始设置循环的次数为8总线置0并延时16us写入1位数据延时480us总线置1并延时16us8位读完返回NY5.3温度交换命令子程序温度交换命令子程序是用来发送温度交换启动命令的。它使用的是12位的分辨率,转换的时间大概在750ms左右。在设计这个程序的时候,我们使用的是1s显示程序拖延法等待交换完成。温度交换命令子程序如下图流程图所示:开始开始发送DS18B20复位命令发送跳过ROM命令发送温度交换开始命令结束图8温度交换流程图5.4计算温度子程序所谓的计算温度子程序指的就是把读取到的数据进行码的交换运算,然后判断他的温度数据是正数还是负数,判断它的流程图如下所示:温度值取补码置“—”标志开始温度零下?计算小数位温度温度值取补码置“—”标志开始温度零下?计算小数位温度BCD码计算温度BCD码结束置“+”标志YN5.5显示数据的刷新子程序开始温度数据移入显示寄存器十位数为0开始温度数据移入显示寄存器十位数为0?百位数为0?十位数显示符号百位数不显示结束百位数显示数据(不显示符号)图10显示数据刷新子程序流程图第6章仿真、实物制作和系统调试6.1仿真结果主要是用Proteus这个软件对这个监测系统做仿真测试,仿真图中是看不出来蜂鸣报警器是不是在报警的,所以我们的仿真是采用报警指示灯来进行报警测试的。图11系统仿真图从上面的仿真图中可以看出来这是一个循环显示三路温度图。液晶显示中第一行是现实仿真的时间,下面一行现实的分别是温度值、温度单位和温度检测的路数。下面图11是第一路温度传感器DS18B20检测到的温度,他的温度值是在-20.5度这样,如果液晶的显示和温度传感器DS18B20是一样的,那么仿真就成功了。只有需要测试的温度要比原先设定的温度要高了,报警指示灯才会显示报警信号。在图12中可以看得出来它的作用是为了显示第二路温度传感器DS18B20测出来的温度的,若测得的温度在原先指定的范围内,它们就会产生报警信号。在图13中可以看得出来它显示的是第三路温度传感器DS18B20测得的温度,若是测出的温度比原先设置的范围要多了,那么报警指示灯就会发出报警信号。在图14中看到的就是来来回回显示出的都是第一路的温度值。 图11图12图13图146.2实物制作把仿真的结果测出来之后就可以按照系统的仿真图开始进行实物的制作了。首先我们要先从实验室里获得不同的模块我们需要的所有元器件,下面是所有元器件的清单表,之后我们在按照电路的方式对实物进行加热、加压的等等方式把它不同的金属工件连接起来。表2元器件清单序号名称型号单位数量备注1电阻10千欧支22电容30法拉支23晶振12兆赫兹支14三极管9012支15蜂鸣器支16滑动变阻器10千欧支17电阻5千欧支38液晶显示器LCD1602支19单片机AT89C51支16.3系统调试我们这次的系统主要是以调试程序为重点。首先编程显示的程序对硬件进行正确性的验证,其次就是对主程序、读出温度子程序、温度交换命令子程序、计算温度子程序和显示的数据刷新子程序开始编程和调试。温度传感器DS18B20和单片机都使用串行的数据传输,所以我们队温度传感器DS18B20做读编程和写编程的时候,一定要对读时序和写时序非常的重视,不然是读不出来数据的测量结果的。我们的程序使用的就是单片机C语言对它进行编程的,然后在使用KeilC编译器对它进行编程调试的。把软件调试到能够在液晶上显示出温度数据,并且能够随着温度的不变化就能够连同这液晶上面显示的温度也同时改变。比如说改变了传感器的温度的时候,是否能够同时改变。软件和硬件都调试好了之后,,就需要把程序写入单片机里,然后电路板连接到电源上,这样系统就可以开始工作了。有时候可能因为是刚刚接上电所以温度传感器DS18B20的初始化还没有进行,它的三路显示的都是85度。那在循环完一个周期之后,它就可以显示这三条路的温度数据了。但是在我们做仿真程序之前就会把所有的元件都想成是状态最好的,可是显示中我们使用的时候,它总是达不到最好的状态,这些元件总是会或多或少的出现一些不好的问题,这个时候做出来的东西和仿真的时候做出来的东西之间还是有一些差别的。但是如果这个系统可以正常的显示出循环的温度数据,我们的系统就算是设计好了。总结在这次的设计中我们主要使用的就是用AT89C51芯片去控制温度传感器DS18B20,然后用小部分的外围电路对它进行环境的温度监测,这样性能就会稳固,精确度也很高,并且它的扩展性也会非常的厉害。这个系统中采用的温度传感器DS18B20是维持单总线的协议的,这个时候我们就可以多使用几个温度传感器DS18B20把两根

温馨提示

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

评论

0/150

提交评论