基于单片机实现温度巡回检测系统Word文件下载.docx
《基于单片机实现温度巡回检测系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机实现温度巡回检测系统Word文件下载.docx(66页珍藏版)》请在冰豆网上搜索。
![基于单片机实现温度巡回检测系统Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-2/3/460ae9d7-45a6-47e0-8111-87eb0d920d91/460ae9d7-45a6-47e0-8111-87eb0d920d911.gif)
2.3主控部分6
2.4本章小结6
第3章硬件设计7
3.1系统硬件结构框图7
3.2主控模块分析7
3.2.1AT89C51概述7
3.2.2主要特性8
3.2.3引脚说明8
3.2.4串口结构10
3.3温度信号采集单元13
3.3.1DS18B20概述13
3.3.2DS18B20内部结构14
3.3.3DS18B20工作时序17
3.3.4DS18B20与AT89C51的接口设计18
3.4湿度信号采集单元19
3.4.1湿度传感器19
3.4.2HS1101特点20
3.4.3HS1101与AT89C51的接口设计21
3.5LCD1602显示输出单元23
3.5.1LCD1602简介23
3.5.2LCD1602的基本参数及引脚功能23
3.5.3LCD1602的指令说明及时序25
3.5.4LCD1602硬件设计28
3.6报警设计29
3.7本章小结30
第4章软件设计及调试31
4.1软件程序设计31
4.1.1系统总程序设计31
4.1.2温度采集模块程序设计31
4.1.3湿度采集模块程序设计32
4.1.4显示模块程序设计33
4.1.5按键模块程序设计34
4.2系统硬件调试34
4.2.1硬件环境34
4.2.2硬件调试34
4.3软件程序调试35
4.3.1软件环境35
4.3.2软件调试36
4.4湿度调试37
4.5系统联调38
4.6本章小结39
结论40
致谢41
参考文献42
附录143
附录254
附录355
第1章绪论
1.1课题背景
近几年据海关统计结果显示,我国粮食进出口同比均呈下降趋势,我国粮食供求开始进入紧平衡阶段。
在粮食供给能力逐渐弱化的情况下,我们必须注意到贮存粮食的科学性和有效性。
贮粮仓库的现代管理也是当前粮食系统改造的重大项目之一。
而在粮仓管理过程当中,最重要的是控制仓内的温度和湿度,温湿度会直接影响粮食的贮存质量。
防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。
它直接影响到储备物资的使用寿命和工作可靠性。
为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。
但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。
本文介绍一套基于89C51单片机的温湿度测控系统,采用计算机实现自动实时检测与控制,能够明显提高粮食的贮存质量,减少仓储保管人员,带来较大的经济效益。
1.2目的及意义
温度和湿度的测量和控制是许多行业的重要工作目标之一,不论是粮食仓库、中药材仓库,还是图书保存,都需要在符合规定的温度和湿度环境条件之中。
然而温度和湿度却是最不易保障的指标,针对这一情况,研制可靠且实用的温度和湿度检测与控制系统就显得非常重要。
多点温度采集监控系统是用来对多个点和设备的温度进行分散控制,集中管理的系统,在工业生产中有很广泛的应用。
这种分散控制包括对温度的检测、控制信息的输出以及温度的实时控制等,实现各回路或生产过程长期可靠地、无人干预地自动运行,湿度也是同样的。
该系统可以达到自动控制降温、除湿、通风。
根据需要,通过键盘可随时调节仓库温度。
1.3系统要求
1.3.1基本功能
本系统的基本功能主要有以下几点:
1.温度、湿度的检测;
2.显示温度、湿度;
3.过限自控及报警
1.3.2主要技术参数
该系统的技术参数有以下几点:
1.温度检测范围:
-30℃-+50℃
2.测量精度:
0.5℃
3.湿度检测范围:
10%-100%RH
4.检测精度:
1%RH
5.显示方式:
温度:
液晶显示湿度:
液晶显示
6.报警方式:
三极管驱动的蜂鸣音报警
7.自控方式:
用风扇进行降温湿度
1.4系统概述
国外对粮库环境控制技术研究较早,始于20世纪70年代。
先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。
80年代末出现了分布式控制系统。
目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。
现在世界各国的粮库控制技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。
我国对于粮库控制技术的研究较晚,始于20世纪80年代。
我国工程技术人员在吸收发达国家粮库控制技术的基础上,才掌握了人工气候室内微机控制技术,该技术仅限于温度、湿度和CO2浓度等单项环境因子的控制。
之后,我国的温室控制技术得到了迅速发展。
该控制系统能够监控粮库的温湿度,并能显示当前所检测的值。
温湿度检测及控制通过单片机来实现,用温湿度传感器采集当前温度,LCD液晶显示当前温度值。
我们设置一个温湿度上限,并保存到单片机中,若当前采集值高于上限时,系统将自动采用控制系统,如控制系统不能正常工作,则会报警。
温湿度高于上限时,系统通过控制外设风扇给粮库降温或吹干。
本系统采用多点温度采集,即将多个点的温度采集后,将各个点的温度情况传回到主控机上实现实时监控功能。
并用按键来切换多点温度值和湿度值的显示及设置温湿度的上限值。
该检测控制部分主要由单片机最小系统单元、温度传感器单元、湿度传感器单元、温湿度显示单元、温湿度控制等五个单元组成。
单片机最小系统选用增强型AT89C51单片机;
温度传感器选用1-Wire数字温度传感器DS18B20;
湿度传感器选用HS1101型温度传感器。
第2章方案设计
当将单片机用作测控系统时,系统总要有被测信号懂得输入通道,由计算机拾取必要的输入信息。
对于测量系统而言,如何准确获得被测信号是其核心任务;
而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。
传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。
工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。
2.1温度传感器的选择
方案一:
采用热电阻温度传感器。
热电阻是利用导体的电阻随温度变化的特性制成的测温元件。
现应用较多的有铂、铜、镍等热电阻。
其主要的特点为精度高、测量范围大、便于远距离测量。
铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。
缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。
按IEC标准测温范围-200~650℃,XX电阻比W(100)=1.3850时,R0为100Ω和10Ω,其允许的测量误差A级为±
(0.15℃+0.002|t|),B级为±
(0.3℃+0.005|t|)。
铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;
但其电阻率小,在腐蚀性介质中使用稳定性差。
在工业中用于-50~180℃测温。
方案二:
采用PT100作为测温电路的温度传感器。
PT100传感器是利用铂电阻的阻值随温度变化而变化,并呈一定函数关系的特性来进行测温的具有抗振动、稳定性好、准确度高、耐高压等优点。
但使用起来比较复杂PT100输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂。
方案三:
采用DS18B20作为测温电路的温度传感器。
DS18B20的数字温度输出通过“一线总线”(1-Wire是一种独特的数字信号总线协议,它将独特的电源线和信号线复合在一起,仅使用一条口线;
每个芯片唯一编码,支持联网寻址、零功耗等待等,是所需硬件连线最少的一种总线)这种独特的方式,可以使多个DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大可能性。
它在测温精度、转换时间、传输距离、分辨率等方面比其他温度传感器有了很大的进步,给用户带来了更方便的使用和更令人满意的效果。
综合以上三种方案,本系统选择了第三种方案的线性输出比较好的DS18B20来作为温度检测。
2.2湿度传感器的选择
测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。
电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。
采用HOS-201湿敏传感器。
HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ~1KHZ,测量湿度范围为0~100%RH,工作温度范围为0~50℃,阻抗在75%RH(25℃)时为1MΩ。
这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。
然而,这种传感器只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。
采用HS1100/HS1101湿度传感器。
HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。
不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。
相对湿度在1%---100%RH范围内;
电容量由16pF变到200pF,其误差不大于±
2%RH;
响应时间小于5S;
温度系数为0.04pF/℃。
可见精度是较高的。
综合比较方案一与方案二,方案一虽然满足精度及测量湿度范围的要求,但其只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。
而且还不具备在本设计系统中对温度-30~50℃的要求,因此,我们选择方案二来作为本设计的湿度传感器。
2.3主控部分
主控部分采用该芯片具有4KB的可编程/擦除只读存储器EEPROM、256
KB片内RAM、2个16位定时计数器、5个中断源,无需进行系统扩展既可满足任务要求,能较大幅度提高系统的性价比。
EEPROM指的是“电可擦除可编程只读存储器”,即ElectricallyErasableProgrammableRead-OnlyMemory。
它的最大优点是可直接用电信号擦除,也可用电信号写入。
EEPROM不能取代RAM的原因是其工艺复杂,耗费的门电路过多,且重编程时间比较长,同时其有效重编程次数也比较低。
片内ROM的特点是程序必须在制作单片微机时写入。
5个中断源分别是2个外部中断2个内部中断串行通讯中断。
该芯片的最大特点就是片内的4K程序存储器可在线或用编程器重复编程。
另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
2.4本章小结
本章主要是对本系统所选用的方案做了一个介绍,由于有的部分可能同时做出合理的多个方案,从而从这些方案中选择出最适合本系统的方案。
最终本系统采用的方案是:
温度传感器采用DS18B20数字型温度传感器,湿度传感器采用HS1101型湿度传感器,主控部分采用AT89C51。
第3章硬件设计
3.1系统硬件结构框图
温湿度检测系统的硬件选用MCS—51系列89C51作为主控中心。
为实现对系统的处理,将温湿度传感器采集得到的值,通过液晶显示器显示出来并进行控制。
本系统的总体硬件结构框图,如图3-1所示。
图3-1系统的总体硬件结构框图
3.2主控模块分析
3.2.1AT89C51概述
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带4K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
3.2.2主要特性
Ø
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24MHz
三级程序存储器锁定
128×
8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
3.2.3引脚说明
AT89C51是一个40引脚的芯片,芯片引脚如图3-2所示。
图3-2AT89C51引脚图
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.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器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定义为一个变量就可以对其进行读写操作了,如sfrSBUF=0x99;
当然你也可以用其它的名称。
通常在标准的reg51.h或at89x51.h等头文件中已对其做了定义,只要用#include引用就可以了。
SCON串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。
SCON就是51芯片的串行口控制寄存器。
它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。
51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。
它的各个位的具体定义,如表3-1所示。
表3-1SCON
D