单片机实现温度测试.docx
- 文档编号:10667268
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:46
- 大小:408.83KB
单片机实现温度测试.docx
《单片机实现温度测试.docx》由会员分享,可在线阅读,更多相关《单片机实现温度测试.docx(46页珍藏版)》请在冰豆网上搜索。
单片机实现温度测试
南京工程学院
毕业设计说明书(论文)
作者:
陶玮学号:
*********
系部:
康尼学院
专业:
通信工程
题目:
多点环境温度测试仪
指导者:
岳俊生工程师
评阅者:
2011年6月南京
Multi-pointtemperaturetester
ADissertationSubmittedto
NanjingInstituteofTechnology
FortheAcademicDegreeofBachelorofScience
By
WeiTao
Supervisedby
EngineerJunshengYue
SS
S
u
CollegeofCommunicationEngineering
NanjingInstituteofTechnology
June2011
摘要
本文设计了基于单片机的多点环境温度测试仪。
本文在阐述多点测温系统设计背景及单片机工作原理的基础上,详细介绍了该测试仪的硬件和软件设计过程。
其中,硬件设计是以AT89S52单片机和DS18B20数字温度传感器为核心器件,主要由三路温度采集、单片机数据处理、LCD温度显示、键盘输入、报警等五部分组成。
软件设计采用模块化编程方法,使得程序易于调试和维护,并利用C语言实现数据处理、LCD显示、键盘扫描、报警等各功能子程序的编写,并通过PROTELDXP软件对该系统的各项功能进行了仿真。
该系统结构简单、抗干扰性强、实用性强,具有一定的工程应用价值。
关键词:
单片机;多点温度;数字温度传感器;LCD显示
Abstract
Thepaperhasdesignedamulti-pointenvironmenttemperaturetesterwhichbasedontheSCM.Thispaperpresentsthedesigningprocessofthetester'shardwareandsoftwareonthebaseofthedesigningbackgroudofmulti-pointtemperaturemeasurementsystemandworkingprincipleofSCM.Amongthem,thehardwaredesigniscomposedoffiveparts,whichincludsthree-temperatureacquisiting,SCMdataprocessing,LCDtemperaturedisplaying,keyboardinputting,soundalarming,whichusesAT89S52SCMandDS18B20digitaltemperaturesensordeviceasthecoreset.Thepaperusesmodularprogrammingmethodinsoftwaredesigning,whichmakesiteasytobedebuggedandmaintained,andusestheCProgrammingLanguagetowriteeachfunctionalsubprogramofdataprocessing,LCDdisplaysystem,alarmingsystem.VariousfunctionsofthesystemhavebeensimulatedbyPROTELDXPsoftware.Thesystemissimple,stronganti-interference,practical,andhascertainvaluableengineering.
Keywords:
SCM;multi-pointtemperature;digitaltemperaturesensor;LCDdisplay
第一章绪论
1.1引言
温度是业生产中最常见和最基本的工业参数之一,是与人类的生活工作关系最密切的物理量,也是各学科与工程研究设计中经常遇到和必须精确测量的物理量。
从工业炉温、环境气温到人体温度;从空间、海洋到家用电器,各技术领域都离不开测温,测温技术也是发展最快、范围最广的技术之一,对温度的进行准确的测量和控制也成为工业生产和科学研究中的重要任务之一。
而随着电子技术和计算机技术的迅速发展,特别是单片微机的发展,使传统的测量仪器在原理,功能,精度及自动化水平等发生了巨大的变化,使很多的传统电子仪器被相应的全新的仪器炎型和测试系统体系所代替。
在科学技术高速发展的今天,如何用简单便宜,性能良好的元器件制造出对人类生活有用的产品,已经成为人们研究的主要趋势。
因此,温度测试仪作为测量仪器中不能缺少的二种仪器,如何用简单便宜,性能良好,外围电路简单的元器件制造出性能良好的温度采集器便成为了温度采集器的发展方向。
本课题设计的温度测采集系统,主要运用了集成温度传感器DS18B20作为敏感元件对物体进行温度测量。
随着电子信息技术的不断发展,多点温度检测取得了广泛的运用。
数据采集系统的开发在很大意义上提高了生产生活的需要,方便了生产中对温度的控制。
外围电路比较简单,测量精度较高,分辨力高,使用方便。
数据检测是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用。
1.2背景与现状
度测量系统是在嵌入式系统设计的基础上发展起来的。
嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对嵌入式系统的要求。
因此,嵌入式系统必须走独立发展道路。
这条道路就是芯片化道路。
将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。
单片机诞生于二十世纪七十年代末,经历了SCM、MCU和SOC三大阶段。
目前,国内外的各种温度采集控制系统的技术已经很成熟,在实际应用中也非常普遍。
基于应用目的的不同,有各种类型的温控系统,如:
有基于微机的温控系统、有基于DSP芯片的温控系统、有基于单片机的温度控制系统。
虽然这些系统不尽相同,但它们的基本原理和完成的功能都大致一样,主要由温度传感器负责采集温度,经过信号放大、滤波等处理后进行A\D转换,把温度数据转换为数字信号;数字信号最后送入控制系统进行相应的处理和显示,系统根据处理结果发出相应的控制信号。
近些年来,单片机技术的迅速兴起并蓬勃发展,单片机具有快速、精确、抗干扰能力强等特点,所以在实际应用中,更多的是采用基于单片机的温度控制系统。
例如以AT89S51单片机为核心的加热炉温度采集系统、基于Atmega8的加热控制系统、基于C8051单片机温度采集系统的设计等,都是用单片机作为控制核心。
1.3设计的目的及意义
在日常生活和工业控制过程中,经常需要进行多点温度测量,并对温度的结果进行存储、显示、分析,以做出相应的处理,这对于提高生产效率和产品质量、节约能源等都有重要的作用。
多点温度测量系统的应用十分广泛,例如消防电气的非破坏性温度测量,电力设备的过热故障预知测量,空调系统的温度测量,各类运输工具组件的过热测量,医疗与诊断设备的温度测量等,所以温度测量系统在工业、农业、服务业将发挥着重要的作用。
本次毕业设计正是为了完成数据采集而设计的,可以说与人们的日常生活是息息相关的,具有很大的现实意义。
1.4主要研究内容
本文设计一种基于单片机AT89S52、数字温度传感器DS18B20的多点温度测量系统,该系统利用DS18B20单总线的特点,可以方便地组建传感器系统,从而实现多点温度的测量。
该系统设计灵活、抗干扰性好,可以在恶劣的工作环境中进行温度测量。
第二章系统总体设计与论证
2.1系统总体设计
该系统使用单片机作为控制核心,以数字温度传感器为温度测量元件,采用多个温度传感器对多点温度进行测量,显示电路用来显示出多点环境温度值,如果有测量值超过上限温度值就启动报警电路,同时用键盘对温度传感器的上下限值进行设置,使用单片机直接驱动蜂鸣器构成报警电路。
如图2.1所示:
图2.1系统总体设计框图
2.1.1温度传感器部分
由于不同的温度传感器在测量时,其中工作原理往往会不一样。
即使是测量同一物理量,也有多种原理的传感器可以选用,哪一种原理的传感器更为适合,则需要根据被测量的特点和传感器的使用条件考虑以下具体问题:
量程的大小;被测位置对传感器体积的要求;测量方式是接触式的还是非接触式的;信号的引出方法;传感器的来源,国产还是进口,价格是否能承受。
在考虑上述问题之后就能确定选用何种类型的传感器,然后再考虑传感器的具体性能指标。
传感器的具体指标有灵敏度,频率响应特性,线性范围,稳定性,精度等。
这些参数并不是要求越高越好,因为要求越高不仅会带来成本的提高,也会带来信号处理的难度,噪音等问题。
在满足检测系统要求的前提下我们一般选择价格便宜和简单的传感器。
美国DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持"一线总线"接口的温度传感器,而新的“一线器件”DS18B20体积更小、适用电压更宽、更经济。
单线数字温度传感器,可以直接将被测温度转化成串行数字信号,以供单片机处理,克服了传统的模拟式温度传感器不仅需要设计信号调理电路,还要经过复杂的校准和标定过程,测量精度难以保证的缺点,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
另外,DS18B20"一线总线"数字化温度传感器同DS18B20一样,DS18B20也支持"一线总线"接口,采用单根信号线,既可以传输时钟,又能传输数据,而且数据传输是双向的。
与其他数字温度传感器相比具有线路简单,硬件开销少,成本低、便于扩展等优点。
DS18B20的测量温度范围为-55℃~+125℃,在-10~+85℃范围内,精度为±0.5℃。
DS1822的精度较差为±2℃。
现场温度直接以一线总线"的数字方式传输,与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DS18B20可以程序设定9~12位的分辨率,精度为±0.5℃。
分辨率设定及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20的性能是新一代产品中最好的,性能价格比也非常出色。
DS1822与DS18B20软件兼容,是DS18B20的简化版本。
省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2℃,适用于对性能要求不高,成本控制严格的应用,是经济型产品。
继"一线总线"的早期产品后,DS18B20开辟了温度传感器技术的新概念。
DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
2.1.2主控部分
单片微型计算机简称单片机,又称微控制器,嵌入式微控制器等,属于第四代电子计算机。
它把中央处理器、存储器、输入/输出接口电路以及定时器/计数器集成在一块芯片上,从而具有体积小、功耗低、价格低廉、抗干扰能力强且可靠性高等特点,因此,适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。
在本课题设计的温度测控系统中,采用单片机实现温度的控制。
在单片机选用方面,由于AT89系列单片机与MCS-51系列单片机兼容,所以,本系统中的单片机选用ATMEL公司牛产的AT89S52芯片。
AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。
该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。
片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。
通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。
它的应用范围广,可用于解决复杂的控制问题,且成本较低。
2.1.3显示部分
该部分主要是将单片机处理的温度信号显示出来,数码管和LCD字符显示器都可以满足基本的显示要求。
但是数码管的连接和编程要复杂些,而且对于多点温度测试,如果想要同时显示不同点的温度值时,数码管的数量就要很大。
LCD字符显示器的硬件连接和接口都比较简单,使用很方便。
2.1.4键盘输入和报警电路部分
该部分是对传感器温度的上下限值进行设置,按键可以直接于单片机连接。
报警电路则是当现场温度有高于设定温度上下限值时,便启动报警。
该电路也可直接连接在单片机上。
2.2设计论证
采用数字温度传感器DS18B20,它直接输入数字量,精度高,电路简单,只需要模拟DS18B20的读写时序,根据DS18B20的协议读取转换的温度。
此方案硬件电路简单,但程序设计复杂一些,但是在课题外对DS18B20、字符型液晶显示有所了解,而且曾经在网上看过此类程序设计,并且我们已经使用开发工具KEIL用汇编语言对系统进行了程序设计,用仿真软件PROTELDXP对系统进行了仿真,达到了预期的效果。
由此可见,此方案的可行性,体现了技术的先进性,经济上也没有任何问题。
若采用模拟温度传感器,转换结果需要经过运算放大器、A/D转换器传给处理器。
虽然控制简单,但电路复杂,不容易实现对多点温度测量和监控。
由于采用了多个分立元件和模数转换器,容易出现误差,测量结果不是很准确。
因此,该设计更符合要求。
第三章系统硬件电路
3.1系统硬件结构图
系统硬件结构框图,如图3.1所示:
图3.1硬件结构框图
3.2主控部分
3.2.1主控的特性
AT89S52的主要特性如下:
兼容MCS51产品
8K字节可擦写1000次的在线可编程ISP闪存
4.0V到5.5V的工作电源范围
全静态工作:
0Hz~24MHz
3级程序存储器加密
256字节内部RAM
32条可编程I/O线
3个16位定时器/计数器
8个中断源
UART串行通道
低功耗空闲方式和掉电方式
通过中断终止掉电方式
看门狗定时器
双数据指针
灵活的在线编程
3.2.2主控引脚功能
图3.2AT89S52的引脚图
1.多功能I/O口
AT89S52共有四个8位的并行I/O口:
P0、P1、P2、P3端口,对应的引脚分别是P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7,共32根I/O线。
每根线可以单独用作输入或输出。
①P0端口,该口是一个8位漏极开路的双向I/O口。
在作为输出口时,每根引脚可以带动8个TTL输入负载。
当把“1”写入P0时,则它的引脚可用作高阻抗输入。
当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。
在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。
②P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。
P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在对Flash编程和程序校验时,P1口接收低8位地址。
③P2端口,该口是带有内部上拉电阻的8位双向I/O端口,P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。
P2口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器或16位的外部数据存储器时,P2口送出高8位地址,在访问8位地址的外部数据存储器时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。
④P3端口,该口是带有内部上拉电阻的8位双向I/O端口,P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。
P3口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
2.RST 复位输入端。
在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。
看门狗定时器(Watchdog)溢出后,该引脚会保持98个振荡周期的高电平。
在SFRAUXR(地址8EH)寄存器中的DISRTO位可以用于屏蔽这种功能。
DISRTO位的默认状态,是复位高电平输出功能使能。
3.ALE/PROG 地址锁存允许信号。
在存取外部存储器时,这个输出信号用于锁存低字节地址。
在对Flash存储器编程时,这条引脚用于输入编程脉冲PROG。
一般情况下,ALE是振荡器频率的6分频信号,可用于外部定时或时钟。
但是,在对外部数据存储器每次存取中,会跳过一个ALE脉冲。
在需要时,可以把地址8EH中的SFR寄存器的0位置为“1”,从而屏蔽ALE的工作;而只有在MOVX或MOVC指令执行时ALE才被激活。
在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。
4.PSEN 程序存储器允许信号。
它用于读外部程序存储器。
当AT89S52在执行来自外部存储器的指令时,每一个机器周期PSEN被激活2次。
在对外部数据存储器的每次存取中,PSEN的2次激活会被跳过。
5.EA/Vpp 外部存取允许信号。
为了确保单片机从地址为0000H~FFFFH的外部程序存储器中读取代码,故要把EA接到GND端,即地端。
但是,如果锁定位1被编程,则EA在复位时被锁存。
当执行内部程序时,EA应接到Vcc。
在对Flash存储器编程时,这条引脚接收12V编程电压Vpp。
6.XTAL1 振荡器的反相放大器输入,内部时钟工作电路的输入。
7.XTAL2 振荡器的反相放大器输出。
3.3传感器与主控接口电路
3.3.1传感器简介
DS18B20是智能温度传感器,它的输入、输出采用数字量,通过单总线,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度数值以串口形式发给主机,主机按照通讯协议用一个I/O口模拟DS18B20时序,发送命令(初始化命令、ROM命令、功能命令)给DS18B20,并读取温度值,在内部进行相应的数据处理,用字符型液晶显示模块显示各点的温度值。
每个DS18B20有自己的序列号,因此本系统可以在一根总线上接了3个DS18B20,通过CRC校验,对各个DS18B20的ROM进行寻址,地址符合的DS18B20才作出响应,接收足迹命令,向主机发送转换的温度。
采用这种DS18B20寻址技术,使系统硬件电路更加简单。
虽然DS18B20有测温简单的特点,但是在实际应用中应注意一下几点:
(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
在使用高级语言进行系统程序设计时,对DS18B20操作部分最好采用C语言实现。
(2)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。
当单总线上所挂DS18B20超过8个时钟,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
(3)连接DS18B20的总线电缆是有长度限制的。
试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。
当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。
这种情况主要是由总线分布电容使信号波形产生畸变造成的。
因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。
这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。
3.3.2传感器的性能特点
(1)独特的单线接口仅需要一个端口引脚进行通讯;
(2)在DS18B20中的每个器件上偶有独一无二的序列号,因此多个DS18B20可以并联在唯一的三线上,实现多点组网功能;
(3)实际应用中不需要任何外部器件即可实现
(4)可通过数据线供电,电压范围为3.0~5.5V;
(5)零待机功耗
(6)数字温度计的分辨率用户可以从9位到12位选择
(7)用户可定义的非易失性温度报警设置
(8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件
(9)负温度特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
3.3.3传感器的外形和内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如图4.1所示:
引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
图4.1DS18B20的管脚排列图
DS18B20有4个主要的数据部件:
(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码CRC。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
(3)DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
(4)配置寄存器
该字节各位的意义如表4.1所示:
表4.1配置寄存器结构
寄存器低五位一直都是1,TM是测试模式位,用于设置DS18B20是在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表所示:
(DS18B20出厂时被设置为12位)
3.3.4传感器与主控接口电路连接
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1管脚接地,2脚作为信号线接单片机的I/O口,电源与数字输入管脚间需接一个4.7K的电阻,3管脚接电源,如图4.2所示。
另一种是寄生电源方式,如图4.3所示。
单片机端口接单片机总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。
当DS18B20处于存储器操作和温度A/D转换操作时,总线上必须有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实现 温度 测试