基于单片机的仓储环境监测系统设计毕业论文.docx
《基于单片机的仓储环境监测系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的仓储环境监测系统设计毕业论文.docx(23页珍藏版)》请在冰豆网上搜索。
![基于单片机的仓储环境监测系统设计毕业论文.docx](https://file1.bdocx.com/fileroot1/2023-2/26/3cc197f9-8310-4bb1-960e-6de9953690cf/3cc197f9-8310-4bb1-960e-6de9953690cf1.gif)
基于单片机的仓储环境监测系统设计毕业论文
---文档均为word文档,下载后可直接编辑使用亦可打印---
摘要:
本篇论文主要是基于AT89C51单片机的仓储环境检测系统设计,运用了三个DS18B20分别用于收集3个温度通道。
LCD1602可以显示仓库中实时通道的数量和电路的温度,用来监控仓库的实际环境。
这一篇设计中涵盖了温度传感器DS18B20、单片机AT89C51和LCD1602。
硬件电路中涵盖了温度检测电路、温度控制电路和部分的接口电路。
软件设计里涵盖了液晶显示程序、温度检测程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序。
设计电路的的基本规律是先用三块DS18B20温度传感芯片测试每个不同电路的电流温度,然后把测试完的数据依次分开的录单片机中;然后再用AT89C51芯片给刚测试完得到的数据进行计算和交换,把最后的额数据传到液晶显示模块上。
若测到的结果大于了预定的只,单片机就要把信号传给报警电路单元;最后,LCD1602芯片在把这些得到的数据轮流传到液晶显示屏上。
关键字:
AT89C51单片机;温度传感器DS18B20;LCD1602芯片
DesignofStorageEnvironmentMonitoringSystemBasedonSingleChipMicrocomputer
Abstract:
ThispaperismainlybasedonAT89C51microcontrollerwarehouseenvironmentdetectionsystemdesign,usingthreeDS18B20tocollectthreetemperaturechannels.LCD1602candisplaythenumberofreal-timechannelsandthetemperatureofthecircuitinthewarehousetomonitortherealenvironmentofthewarehouse.
ThisdesigncoverstemperaturesensorDS18B20,singlechipAT89C51andLCD1602.Thehardwarecircuitincludestemperaturedetectioncircuit,temperaturecontrolcircuitandpartoftheinterfacecircuit.ThesoftwaredesignincludesLCDdisplayprogram,temperaturedetectionprogram,temperatureconversioncommandsubroutine,temperaturecalculationsubroutineandrealdatarefreshsubroutine.ThebasicruleofthecircuitdesignistotestthecurrentandtemperatureofeachcircuitwiththreeDS18B20temperaturesensorchips,thenrecordthetesteddataseparatelyinasinglechipcomputer,thencalculateandexchangethedatajusttestedwithAT89C51chip,andtransmitthefinalamountdatatotheLCDmodule.Iftheresultisbiggerthantheexpectedone,thesinglechipcomputerwilltransmitthesignaltothealarmcircuitunit.Finally,theLCD1602chiprotatesthedatatotheLCDscreen.
Keywords:
AT89C51MCU;temperaturesensorDS18B20;LCD1602chip
第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中是我们这次设计的单片机结构:
图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引脚功能表
序号
名称
描述
1
GND
接地
2
VCC
接+5V
3
VL
液晶显示器对比度调整端
4
RS
寄存器选择端
5
RW
读写控制端
6
EN
使能端
7-14
D0-D7
双向数据端
15
BL+
背灯电源正集
16
BL-
背灯电源负极
第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次,然后通过总线推迟吧这8位数据读入到单片机里面。
从温度传感器DS18B20中读取数据的时候,主机就会自动生成读取时隙。
主机吧数据从高电平拉回低电平的时候,数据线一定要与写入时隙保持有1us的距离;温度传感器DS18B20的数据输出在读取时隙出现下降沿后的15μus范围内就有效果了。
所以,主机在读取时隙的时候就要先把IO脚驱动器的电平一直设为15μus,用来读取IO脚的状态。
在快读取完时隙的时候,IO引脚就会被外部上拉电阻拉回到较高的水平。
那么在读取时隙的时候至少要有6个ols,包括两个读取周期内至少要有1毫秒的恢复时间。
这个读温度传感器DS18B20的流程图如下:
图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写温度传感器DS18B20流程图
5.3温度交换命令子程序
温度交换命令子程序是用来发送温度交换启动命令的。
它使用的是12位的分辨率,转换的时间大概在750ms左右。
在设计这个程序的时候,我们使用的是1s显示程序拖延法等待交换完成。
温度交换命令子程序如下图流程图所示:
图8温度交换流程图
5.4计算温度子程序
所谓的计算温度子程序指的就是把读取到的数据进行码的交换运算,然后判断他的温度数据是正数还是负数,判断它的流程图如下所示:
图9计算温度子程序流程图
5.5显示数据的刷新子程序
所谓的显示数据的刷新子程序指的就是要对显示缓冲器中展现出的数据进行刷新的操作,如果最高位展现出的值是1的时候,就把温度数据移入到显示寄存器中。
显示数据刷新子程序的流程图如下所示:
图10显示数据刷新子程序流程图
第6章仿真、实物制作和系统调试