基于单片机的多点温度检测系统资料.docx
《基于单片机的多点温度检测系统资料.docx》由会员分享,可在线阅读,更多相关《基于单片机的多点温度检测系统资料.docx(35页珍藏版)》请在冰豆网上搜索。
![基于单片机的多点温度检测系统资料.docx](https://file1.bdocx.com/fileroot1/2022-12/8/7a1f2787-b1c4-4816-852d-c3cdc44cf9a0/7a1f2787-b1c4-4816-852d-c3cdc44cf9a01.gif)
基于单片机的多点温度检测系统资料
单片机课程(设计)
设计目题:
基于单片机的多点温度检测系统
学院:
专业:
班级:
1
学号:
学生姓名:
指导教师:
2015年6月
贵州大学本科课程(设计)
诚信责任书
本人郑重声明:
本人所呈交的课程设计,是在指导老师的指导下独立进行研究所完成。
在文本设计中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。
特此声明。
课程(设计)作者签名:
日期:
【摘要】
温度是一个和人们息息相关的物理量,温度的变化会给我们带来重大的影响,因此对温度的检测控制非常重要,其检测控制一般使用各式各样的传感器。
本设计使用的是DS18B20,它是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。
本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图
该系统由上位机和下位机两大部分组成。
下位机实现温度的检测并提供标准RS232通信接口,芯片使用了ATMEL公司的AT89C51单片机和DALLAS公司的DS18B20数字温度传感器。
上位机部分使用了
通用PC。
该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域
【关键词】:
温度测量;单总线;数字温度传感器;单片机;转换器
【Abstract】
Temperatureisaandthepeoplecloselyrelatedtothephysicalquantityandtemperaturechangeswillbringgreatinfluencetous.Therefore,thedetectionofthetemperaturecontrolisveryimportant.Thedetectioncontrolgenerallyuseavarietyofsensors.
ThisdesignusestheDS18B20,itisanetworkofhighprecisiondigitaltemperaturesensor,becauseofitsuniqueadvantagesofsinglebuscanenablesuserstoeasilysetupfromthesensornetwork,andmulti-pointtemperaturemeasurementcircuitbecomessimpleandreliable.Inthispaper,weintroducethehardwareconnectionandsoftwareprogrammingoftheDS18B20digitaltemperaturesensorwiththepracticalexperience,andgivethesoftwareflowchart.
Thesystemiscomposedoftwoparts,theuppercomputerandthelowercomputer.ThelowercomputerrealizesthedetectionoftemperatureandprovidesthestandardRS232communicationinterface.ThechipusesAT89C51microcontrollerandDS18B20digitaltemperaturesensorofDALLAScompany.Theupperpartofthemachineisused.
GeneralPC.Thesystemcanbeusedinthefieldoftemperaturemeasurement,buildingairconditioningcontrolandproductionprocessmonitoring.
【Keywords】temperaturemeasurement;singlebus;digitaltemperaturesensor;singlechipmicrocomputer;converter
目录
一、绪论-1-
1.1.设计的目的与意义-1-
1.2.国内外现状-1-
1.3.发展趋势-1-
1.4.设计方案-1-
1.4.1传感器部分-2-
1.4.2主控制部分-3-
1.4.3系统方案-4-
1.5设计步骤及及时间安排-4-
二、硬件设计-4-
2.1主控制器-4-
2.2温度传感器-7-
2.2.1.DS18B20的内部结构-8-
2.2.2.高速暂存存储器-9-
2.3温度测试电路-10-
2.3.1.硬件连接电路-10-
2.4键盘与显示电路-12-
2.4.1.键盘电路-12-
2.4.2.显示电路-13-
2.5.电源以及看门狗电路-18-
2.5.1.电源电路-18-
2.5.2看门狗电路-18-
三、软件设计-19-
3.1概述-19-
3.2程序设计-19-
3.3程序-22-
3.4主电路原理图-29-
四、致谢-30-
五、参考文献-31-
一、绪论
1.1.设计的目的与意义
温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一。
温度的变化会给我们的生活、工作、生产等带来重大影响,因此对温度的测量至关重要。
其测量控制一般使用各式各样形态的温度传感器。
随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日显突出,已成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。
1.2.国内外现状
21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。
我们已经进入了高速发展的信息时代,测量技术也成为当今科技的一个主流,广泛地深入到研究和应用工程的各个领域。
1.3.发展趋势
着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了快速的发展和广泛的应用。
利用微机对温度进行测控的技术,也随之而生,并得到了日益发展和完善。
显得原来越有优越性。
1.4.设计方案
此次设计使用了美国Dallas半导体公司的新一代数字式温度传感器DS18B20,它具有独特的单总线接口方式,即允许在一条信号线上挂接数十甚至上百个数字式传感器,从而使测温装置与各传感器的接口变得十分简单,克服了模拟式传感器与微机接口时需要的A/D转换器及其它复杂外围电路的缺点。
以AT89C51单片机作为控制核心,提出了一种基于DS18B20的分布式温度传感系统,多个温度传感节点通过单总线与单片机相联形成分布式系统。
单片机通过实时监控温度的变化,通过128×64图形液晶显示各节点温度的数值,当温度值超出允许范围时,报警器开始报警,从而远程实现对整个温度系统的管理和控制。
这种分布式温度测量系统具有成本低廉、传感精度高、系统稳定、易于管理等优点。
温度检测系统有则共同的特点:
测量点多、环境复杂、布线分散、现场离监控室远等。
若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。
这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。
所以多点温度检测系统的设计的关键在于两部分:
温度传感器的选择和主控单元的设计。
温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。
1.4.1传感器部分
方案一
采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。
而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35等.但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。
方案二
AD590是一种单片集成的两端式温度敏感电流源,它具有线性优良、性能稳定、灵敏的高、无需补偿、热容量小、抗干扰能力强、可远距离测温且使用方便的优点。
首先要通过温度传感器将温度转换成电量,把它的电流信号转换成电信号,然后放大,输入到A/D转换电路,在输入到数码管显示出来。
方案三
进而考虑到用温度传感器,在单片机电路设计中,大多都使用传感器,所以可以采用一只温度传感器DS18B20,此传感器可以很容易直接读取被测温度值,进行转换就可以满足设计要求。
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。
这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。
方案论证
从以上三种方案,很容易看出,方案一、方案二需要对温度信号进行放大、转换,十分麻烦,电路复杂,且工作量大,稳定性差。
方案三,电路比较简单,软件设计也比较简单,故采用方案三。
采用温度芯片DSB1820测量温度,可以体现系统芯片化这个趋势。
部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更块。
而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。
所以集成芯片的使用将成为电路发展的一种趋势。
本方案应用这一温度芯片,也是顺应这一趋势。
1.4.2主控制部分
方案一
此方案采用PC机实现。
它可在线编程,可在线仿真的功能,这让调试变得方便。
且人机交互友好。
但是PC机输出信号不能直接与DS18B20通信。
需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便。
而且在一些环境比较恶劣的场合,PC机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦。
方案二
此方案采用AT89C51八位单片机实现。
单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。
而且体积小,硬件实现简单,安装方便。
既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。
另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
方案论证
从以上两个方案可以看出,方案二更适合本设计,因为它而且体积小,硬件实现简单,安装方便。
故本设计采用方案二
1.4.3系统方案
综上所述,传感器部分采用温度传感器DS18B20,主控部分采用AT89C51单片机。
总体结构方框图如图所示。
图1.4.3.1总体结构方框图
1.5设计步骤及及时间安排
1到3天搜集资料。
通过整理资料得出方案,进一步选择最优方案。
第4到7天完成硬件的设计和选择,第8到10天完成软件的设计,最后设计完成。
二、硬件设计
2.1主控制器
AT89C51是一种集成了众多功能部件、功能强大的单片机,适合于要求硬件功能强大,运算速度块,工作环境恶劣,可靠性高,扩展功能强及低功耗的应用系统。
并且它的市场货源充足。
所以本设计选择了AT89C51单片机。
造技术制造,与工业标准的MCS-51?
指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案
AT89C51单片机管脚说明
AT89C51单片机40引脚分布如图2.1.1所示:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每引脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
如图2.1.1T89C51单片机40引脚分布图
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:
来自反向振荡器的输出。
2.2温度传感器
计中用到温度芯片DS18B20。
DS18B20是DALLAS公司的最新单线数字温度传感器,具有3引脚TO-92小体积封装形式。
测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。
其工作电源既可在远端引入,也可采用寄生电源方式产生。
CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路,而且它体积更小、适用电压更宽、更经济,DS18B20是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
它的测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的封装方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20的性能是新一代产品中最好的!
性能价格比也非常出色!
继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。
DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
DS18B20内部结构
2.2.1.DS18B20的内部结构
图2.2.1.1.DS18B20内部结构图
DS18B20的管脚排列如下图
图2.2.1.2DS18B20的管脚排列
DS18B20有4个主要的数据部件:
①64位激光ROM。
64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。
②温度灵敏元件。
③非易失性温度报警触发器TH和TL。
可通过软件写入用户报警上下限值。
④配置寄存器。
配置寄存器为高速暂存存储器中的第五个字节。
DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图所示。
TM
R1
R0
1
1
1
1
1
MSB
LSB
图2.2.1.3DS18B20配置寄存器结构图
其中,TM:
测试模式标志位,出厂时被写入0,不能改变;R0、R1:
温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:
R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。
配置寄存器与分辨率关系如下表所示:
R0
R1
温度计分辨率/bit
最大转换时间/us
0
0
9
93.75
0
1
10
187.5
1
0
11
375
1
1
12
750
表2.2.1.4配置寄存器与分辨率关系
2.2.2.高速暂存存储器
速暂存存储器由9个字节组成,其分配如图3.5所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。
温度低位
温度高位
TH
TL
配置
保留
保留
保留
8位CRC
LSB
MSB
图2.2.2.1DS18B20存储器映像图
温度值格式图DS18B20温度数据表:
23
22
21
20
2-1
2-2
2-3
2-4
MSB
LSB
S
S
S
S
S
26
25
24
表2.2.2.1DS18B20温度数据表
典型对应的温度值表:
温度/℃
二进制表示
十六进制表示
+125
+25.0625
+10.125
+0.5
0
-0.5
-10.125
-25.0625
-55
0000011111010000
0000000110010001
0000000010100010
0000000000001000
0000000000000000
1111111111111000
1111111101011110
1111111001101111
1111110010010000
07D0H
0191H
00A2H
0008H
0000H
FFF8H
FF5EH
FE6FH
FC90H
表2.2.2.2DS18B20温度值表
2.3温度测试电路
2.3.1.硬件连接电路
DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成
硬件连接电路如下图所示:
图2.3.1.1温度测试连接电路
本系统为多点温度测试。
DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但时间应用中发现,如果挂接25个以上的DS18B20仍旧有可能产生功耗问题。
另外单总线长度也不宜超过80M,否则也会影响到数据的传输。
在这种情况下我们可以采用分组的方式,用单片机的多个I/O来驱动多路DS18B20。
在实际应用中还可以使用一个MOSFET将I/O口线直接和电源相连,起到上拉的作用。
对DS18B20的设计的注意事项
(1)对硬件结构简单的单线数字温度传感器DS18B20进行操作,需要用较为复杂的程序完成。
编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。
尤其在使用DS18B20的高测温分辨力时,对时序及电气特性参数要求更高。
(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20序列号和自动排序,以减少调试和维护工作量。
(3)测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
DS18B20在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。
若VCC脱开未接,传感器只送85.0℃的温度值。
(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。
另外还应根据实际情况选择其接线拓扑结构。
2.4键盘与显示电路
2.4.1.键盘电路
列式输入,排成4行4列,总共16个按键。
16个按键的输入口为P1,当有键按下的时候,通过分别对各行各列进行扫描并查表得出键值。
这样可以有效的减少对单片机I/O口的占用,使单片机有更多的I/O口来实现其他的功能。
使单片机的设计更加灵活有效。
如图4