1、基于单片机的多点温度检测系统资料单片机课程(设计)设计目题:基于单片机的多点温度检测系统 学 院: 专 业: 班 级: 1 学 号: 学生姓名: 指导教师: 2015年 6月贵州大学本科课程(设计)诚信责任书本人郑重声明:本人所呈交的课程设计,是在指导老师的指导下独立进行研究所完成。在文本设计中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。特此声明。课程(设计)作者签名: 日 期: 【摘要】温度是一个和人们息息相关的物理量,温度的变化会给我们带来重大的影响,因此对温度的检测控制非常重要,其检测控制一般使用各式各样的传感器。本设计使用的是DS18B20,它是一种可组网的高精度
2、数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图该系统由上位机和下位机两大部分组成。下位机实现温度的检测并提供标准RS232通信接口,芯片使用了ATMEL公司的AT89C51单片机和DALLAS公司的DS18B20数字温度传感器。上位机部分使用了通用PC。该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域【关键词】:温度测量;单总线;数字温度传感器;单片机;转换器【Abstract】 Temperature is
3、a and the people closely related to the physical quantity and temperature changes will bring great influence to us. Therefore, the detection of the temperature control is very important. The detection control generally use a variety of sensors.This design uses the DS18B20, it is a network of high pr
4、ecision digital temperature sensor, because of its unique advantages of single bus can enables users to easily set up from the sensor network, and multi-point temperature measurement circuit becomes simple and reliable. In this paper, we introduce the hardware connection and software programming of
5、the DS18B20 digital temperature sensor with the practical experience, and give the software flow chart.The system is composed of two parts, the upper computer and the lower computer. The lower computer realizes the detection of temperature and provides the standard RS232 communication interface. The
6、 chip uses AT89C51 microcontroller and DS18B20 digital temperature sensor of DALLAS company. The upper part of the machine is used.General PC. The system can be used in the field of temperature measurement, building air conditioning control and production process monitoring.【Key words】 temperature m
7、easurement; single bus; digital temperature sensor; single chip microcomputer; 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. 高速
8、暂存存储器 - 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.设计的目的与意义温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活
9、中需要测量和控制的重要物理量,是国际单位制七个基本量之一。温度的变化会给我们的生活、工作、生产等带来重大影响,因此对温度的测量至关重要。其测量控制一般使用各式各样形态的温度传感器。随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日显突出,已成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。1.2.国内外现状21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。我们已经进入了高速发展的信息时代,测量技术也成为当今科技的一个主流,
10、广泛地深入到研究和应用工程的各个领域。1.3.发展趋势 着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了快速的发展和广泛的应用。利用微机对温度进行测控的技术,也随之而生,并得到了日益发展和完善。显得原来越有优越性。1.4.设计方案此次设计使用了美国 Dallas 半导体公司的新一代数字式温度传感器DS18B20,它具有独特的单总线接口方式 ,即允许在一条信号线上挂接数十甚至上百个数字式传感器 ,从而使测温装置与各传感器的接口变得十分简单 ,克服了模拟式传感器与微机接口时需要的A/D转换器及其它复杂外围电路的缺点。以AT89C51单片机作为控制核心,提出了一种基于DS18B20的分布
11、式温度传感系统,多个温度传感节点通过单总线与单片机相联形成分布式系统。单片机通过实时监控温度的变化,通过12864图形液晶显示各节点温度的数值,当温度值超出允许范围时,报警器开始报警,从而远程实现对整个温度系统的管理和控制。这种分布式温度测量系统具有成本低廉、传感精度高、系统稳定、易于管理等优点。 温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D 转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号
12、传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降 。所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元的设计。温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。 1.4.1传感器部分 方案一采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35等.但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也
13、要用到复杂的算法,一定程度上也增加了软件实现的难度。 方案二AD590是一种单片集成的两端式温度敏感电流源,它具有线性优良、性能稳定、灵敏的高、无需补偿、热容量小、抗干扰能力强、可远距离测温且使用方便的优点。首先要通过温度传感器将温度转换成电量,把它的电流信号转换成电信号,然后放大,输入到A/D转换电路,在输入到数码管显示出来。 方案三进而考虑到用温度传感器,在单片机电路设计中,大多都使用传感器,所以可以采用一只温度传感器DS18B20,此传感器可以很容易直接读取被测温度值,进行转换就可以满足设计要求。采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测
14、温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。 方案论证 从以上三种方案,很容易看出,方案一、方案二需要对温度信号进行放大、转换,十分麻烦,电路复杂,且工作量大,稳定性差。方案三,电路比较简单,软件设计也
15、比较简单,故采用方案三。采用温度芯片DSB1820测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更块。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。1.4.2主控制部分 方案一此方案采用PC机实现。它可在线编程,可在线仿真的功能,这让调试变得方便。且人机交互友好。但是PC机输出信号不能直接与DS18B20通信。需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便。而且在一些环境比较恶劣的场合,PC机的体积大,携带安装不方便,
16、性能不稳定,给工程带来很多麻烦。 方案二此方案采用AT89C51八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。 方案论证从以上两个方案可以看出,方案二更适合本设计,因为它而且体积小,硬件实现简单,安装方便。故本设计采用方案二1.4.3
17、系统方案综上所述,传感器部分采用温度传感器DS18B20,主控部分采用AT89C51单片机。总体结构方框图如图所示。图1.4.3.1总体结构方框图1.5设计步骤及及时间安排 1到3天搜集资料。通过整理资料得出方案,进一步选择最优方案。第4到7天完成硬件的设计和选择,第8到10天完成软件的设计,最后设计完成。二、硬件设计2.1主控制器AT89C51是一种集成了众多功能部件、功能强大的单片机,适合于要求硬件功能强大,运算速度块,工作环境恶劣,可靠性高,扩展功能强及低功耗的应用系统。并且它的市场货源充足。所以本设计选择了AT89C51单片机。造技术制造,与工业标准的MCS-51 ? 指令集和输出管脚
18、相兼容。由于将多功能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口是一个内部提供
19、上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。如图2.1.1 T89C51单片机40引脚分布图 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
20、在给出地址“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(外部中断
21、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
22、脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加
23、12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2.2温度传感器 计中用到温度芯片DS18B20。DS18B20是DALLAS公司的最新单线数字温度传感器,具有3引脚TO92小体积封装形式。测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出。其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路,而且它体积更小、适用电压更宽、更经济 ,DS18B20是世界上第一片支持 “一线总线”接口的温度传感器。一
24、线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。它的测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS
25、18B20的性能是新一代产品中最好的!性能价格比也非常出色!继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。DS18B20内部结构2.2.1. DS18B20的内部结构图2.2.1.1. DS18B20内部结构图DS18B20的管脚排列如下图图2.2.1.2 DS18B20的管脚排列DS18B20有4个主要的数据部件: 64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。 温度灵敏元件。 非易失性温度报警触发器TH和TL
26、。可通过软件写入用户报警上下限值。 配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图所示。TMR1R011111MSB LSB图2.2.1.3 DS18B20配置寄存器结构图其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。配置寄存器与分辨率关系如下表所示:R0R1温度计分辨率/bit最大转换时间/us00993.7501101
27、87.510113751112750表2.2.1.4 配置寄存器与分辨率关系2.2.2. 高速暂存存储器 速暂存存储器由9个字节组成,其分配如图3.5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。温度低位温度高位THTL配置保留保留保留8位CRCLSB MSB图2.2.2.1 DS18B20 存储器映像图温度值格式图DS18B20 温度数据表:2322212
28、02-12-22-32-4MSBLSBSSSSS262524表2.2.2.1 DS18B20 温度数据表典型对应的温度值表:温度/二进制表示十六进制表示+125 +25.0625+10.125+0.50-0.5-10.125-25.0625-550000 0111 1101 00000000 0001 1001 00010000 0000 1010 00100000 0000 0000 10000000 0000 0000 00001111 1111 1111 10001111 1111 0101 11101111 1110 0110 11111111 1100 1001 000007D0H0
29、191H00A2H0008H0000HFFF8HFF5EHFE6FHFC90H表2.2.2.2 DS18B20温度值表2.3温度测试电路2.3.1. 硬件连接电路DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成硬件连接电路如下图所示:图2.3.1.1 温度测试连接电路本系统为多点温度测试。DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但时间应用中发现,如果挂接25个以上的DS18B20仍旧有可能产生功耗问题。另外单总线长度也不宜超过80M,否则也会影响到数据的传输。在这种情况下我们可以采用分组的方式,用单片机的多个
30、I/O来驱动多路DS18B20。在实际应用中还可以使用一个MOSFET将I/O口线直接和电源相连,起到上拉的作用。 对DS18B20的设计的注意事项(1)对硬件结构简单的单线数字温度传感器DS18B20 进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。尤其在使用DS18B20 的高测温分辨力时,对时序及电气特性参数要求更高。(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20 序列号和自动排序,以减少调试和维护工作量。(3)测温电缆线建议采用屏蔽4 芯双绞线,其中一对线接地线与信号线,另一
31、组接VCC和地线,屏蔽层在源端单点接地。DS18B20 在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。若VCC脱开未接,传感器只送85.0 的温度值。(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。另外还应根据实际情况选择其接线拓扑结构。2.4键盘与显示电路2.4.1. 键盘电路 列式输入,排成4行4列,总共16个按键。16个按键的输入口为P1,当有键按下的时候,通过分别对各行各列进行扫描并查表得出键值。这样可以有效的减少对单片机 I/O口的占用,使单片机有更多的I/O口来实现其他的功能。使单片机的设计更加灵活有效。 如图4
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1