基于热电偶的测温系统设计-毕业设计完整版_第1页
基于热电偶的测温系统设计-毕业设计完整版_第2页
基于热电偶的测温系统设计-毕业设计完整版_第3页
基于热电偶的测温系统设计-毕业设计完整版_第4页
基于热电偶的测温系统设计-毕业设计完整版_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE32XXXX毕业设计设计题目:基于热电偶的测温系统设计机电工程系测控技术与仪器1班系别:_________________________测控技术与仪器1班XXX班级:_________________________XXXXx姓名:_________________________Xx指导教师:_________________________2014年6月11日XXXXXX毕业设计PAGE1PAGE32基于热电偶的测温系统设计摘要在工业生产过程控制中,温度是一个重要的测量参数,而热电偶是工程上应用最广泛的温度传感器之一,他的主要特点就是测温范围宽,性能比较稳定,同时同时结构简单,动态响应好,更能够远传4-20mA电信号,便于自动控制和集中控制,在温度测量中占有重要地位。但由于热电偶的热电势与温度成非线性关系增加了显示与处理的复杂性;且随着工业发展、自动化的不断加强,对温度精度要求越来越高。在现代化的工业现场,常用热电偶测试高温,测试结果送至主控机。由于热电偶的热电势与温度呈非线性关系,所以必须对热电偶进行线性化处理以保持测试精度。该系统以单片机为控制核心,通过高精度模/数转换器对热电偶电动势进行采样、放大,并在单片机内采用一定算法实现对热电偶的线性化处理并通过液晶屏显示相应测量数据。关键词:传感器热电偶模/数转换器液晶屏Thedesignoftemperaturemeasurementsystembasedonthermocouple

AbstractIntheindustrialproductionprocesscontrol,thetemperatureisanimportantsurveyparameter,butthethermo-elementisintheprojectappliesoneofmostwidespreadtemperaturesensors,hismaincharacteristicisthetemperaturemeasurementscopeiswide,theperformancequiteisstable,simultaneouslythestructureissimultaneouslysimple,thetendencyresponds,canpassonthe4-20mAelectricalsignalfar,isadvantageousfortheautomaticcontrolandthecommoncontrol,holdstheimportantstatusinthetemperaturesurvey.Butbecausethethermo-elementthermoelectricforceandthetemperaturebecamethenon-linearrelationstoincreasethedemonstrationandtheprocessingcomplexity;Alsoalongwiththeindustrialdevelopment,theautomatedunceasingenhancement,ismoreandmorehightothetemperatureprecisionrequest.Thermocoupleisusedfrequentlyinhigh-temperaturetestinthemodernizedindustryscene,thenthetestresultsaredeliveredtomastercontrolmachine.Asthenon-linearrelationshipbetweenthermoelectricpotentialandtemperature,itmustbecarriedoutonthethermocouplelinearprocessinginordertomaintainaccuracyoftest.ItemploysSCMasacoreofcontrolling.Thisarticleisforthelinearizationofthermocouple.Thegeneralideaistostudyhigh-precisionA/Dconverter,whichsamplesandenlargesthethermoelectricpotentialfromthethermocouple,themeasurementdataisdisplayedbyLCDscreen

Keywords:sensorthermocoupleA/DconverterLCDscreen

1引言1.1设计背景和思路随着电子信息技术、新材料及自动化技术的发展,传感器技术也得到了日新月异的发展,单片机和自动控制系统在统诸多领域得到了极为广泛的应用。我们不再局限于从环境中采集来模拟信号,而是考虑如何得到可处理的数字信号,所以我们把温敏器件、A/D转换器、存储器集成在一起构成数字传感器。在控制领域,具有更好的稳定性,更快和更准确的运算精度的C52系列单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,而数字传感器与单片机更能够有机联系起来,传感器采集所需信息并且将其数字化,这样单片机就能够对其进行直接处理,从而实现两者的交互控制;其次由于单片机较强的核心控制能力,我们可以搭接辅助电路,进而得到实用的开发系统。测温系统可以采用这种模式,目前人们对其测量的准确性以及便捷性要求越来越高,如果我们从微控制器技术着手,那将很好解决这个问题。随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用MCS-52单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。

在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会。空调等家用电器随着生产技术的发展和生活水平的提高越来越普及,一个简单,稳定的温度控制系统能更好的适应市场。1.2论文的研究任务与内容工业生产当中,工作环境对各种仪表或设备能够发挥最佳性能、能否正常运行极为重要。而环境因素中一个很重要的物理量就是温度,热电偶是工程上应用最广泛的温度传感器之一,它具有构造简单、使用方便、准确度、热惯性小、稳定性及复现性好、温度测量范围宽等优点,适用于信号的远传、自动纪录和集中控制,在温度测量中占有重要地位。本论文将传统的热电偶测温技术结合自动控制技术、单片机控制技术和液晶显示功能构成一个完整温度测量系统,实现数字智能测温。该测温系统与传统的测温系统相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,并且消除了热电偶带来的非线性问题。此测温系统既适合民用,在一定程度上也能满足工业或科研的需求。本设计的主要内容是以89c52单片机为控制器,以k型热电偶为传感器,使用K型热电偶专用的模数转换器MAX6675和工业字符型液晶HJ1602A构建数字测温系统。热电偶采集温度信号经过信号调理、模数转换传送到单片机,再通过HJ1602A显示出所测温度来完成设计任务。液晶显示器MAX6675A/D转化器STC89C52单片基单片机Sensors传感器图1系统框图1.3设计的预期结果和意义温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。温度是一个十分重要的物理量大于它的测量与控制又十分重要的意义。随着现代工弄也技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:如大气及空调房中的温度高低直接影响着人们的身体健康;在大规模集成电路生产线上环境温度不适当会严重影响产品的质量。测温技术在生产过程中,在产品质量控制和检测设备在线故障诊断和安全保护以及节约能源等方面发挥了重要作用。而随着人们生活水平的不断提高,科技不断发达,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的。单片机在测控领域中具有十分广泛的应用,它既可以测量电信号,又可以测量温度湿度等非电信号。由单片机构成的温度检测、温度控制系统可以广泛应用于很多领域。单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应用中独占鳌头。今天我们的生活环境和工作环境有越来越多称之为单片机的小电脑在为我们服务。时下,家用电器和办公设备的智能化、遥控化、模糊控制话已成为世界潮流,而这些高性能无一不是靠单片机来实现的。而另一个目标便是传感器。由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动化测量、信息处理和自动控制,但是它们都不同程度地存在温漂和非线性等影响因素。本设计是将两者结合,利用单片基结合传感器技术而开发设计出一个温度监控系统。该设计的预期结果就是设计出一套基于单片机控制的热电偶测温数字显示系统并能proteus实现仿真。根据要求编写出应用程序,绘制出protel电路图,动手完成实物设计。2总设计方案本系统以AT89S52作为处理器,使用MAX6675作为温度传感器,配以温度显示。整个系统力求结构简单,功能完善。使用温度传感器MAX6675+AT89S52,MAX6675将热电偶测温应用时复杂的线性化、冷端补偿及数字化输出等问题集中在一个芯片上解决,简化了将热电偶测温方案应用于嵌入式系统领域时复杂的软硬件设计,因而该器件是将热电偶测温方案应用于嵌入式系统领域的理想选择。该方案的特色是AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。AT89S52使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,AT89S52拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。MAX6675是一种高精度的集成芯片,体积小且不需要任何的其他外围电路,大大的减少了电路中的元件和I/O连线,从而简化了系统结构。初始化是调用显示子程序是调用显示子程序750ms到否?750ms到否?是是首次开机否?首次开机否?是是是读出温度值,计算温度值并刷新是读出温度值,计算温度值并刷新温度转换命令图2程序流程图3硬件系统设计3.1硬件组成热电偶测温系统主要由四部分组成:数据采集模块、MAX6675模数转换模块、单片机控制及其外围、液晶显示模块。其中微控制器采用AT89C52,液晶显示部分可采用并行或串行传输数据。温度传感器温度传感器A/D转换电路单片基控制系统图3传感器信号流图如上图所示,由三个模块组成,分别为传感器、A/D转换、微处理器部分,由于MCU处理的是数字信号,所以需要A/D转换电路对传感器的数据进行数字化。事实上,MAX6675是数字传感器,实则为集成了A/D转换部分,当然也拥有其余很多新功能。3.2电路原理图图4测温系统仿真电路原理图图4为温度测试系统的仿真原理图,系统整体硬件电路包括,传感器数据采集电路,模数转换电路,单片机主板电路,温度显示电路等。液晶显示模块集成了译码器,其8个段选分别与单片机的P1的8个I/O口相连,其余3个位选分别与P2.0—P2.2相连,MAX6675的数据口与单片机的P2.4-2.6相连,另外两个口连在一块接地,这也是寄生供电的方式,即是由数据线给MAX6675供电,其余几个部分分别为单片机的时钟电路、复位电路、电源电路,几部分共同组成单片机的最小系统。3.3传感器数据采集电路3.31热电偶原理热电偶是一种感温元件,它把温度信号转换成热电动势信号,通过电气仪表转换成被测介质的温度。热电偶测温的基本原理是两种不同成份的均质导体组成闭合回路,当两端存在温度梯度时,回路中就会有电流通过,此时两端之间就存在塞贝克电动势热电动势,这就是所谓的塞贝克效应。两种不同成份的均质导体位热电极,温度叫法噢的一端为工作端,温度较低的一端为自由端,自由端通常处于某个恒定的温度下。根据热电动势与温度的函数关系,制成热电偶分度表;分度表是自由端温度在0℃时的温度条件下得到的,不同的热电偶就不同的分度表。在热电偶回路中接入第三种金属材料是,只要该材料的两个接点温度相同,热电偶所产生的热电势将保持不变,即不受第三种金属接入回路中的影响。因此,在热电偶测温时,可接入测量仪表,测得热电动势后,即可知道被测介质的温度。3.3.2热电偶优点热电偶是工业常用温度测温元件,具有如下特点:1)测量精度高:热电偶与被测对象直接接触,不受中间介质的影响。2)热响应时间快:热电偶对温度变化反应灵敏。3)测量范围大:热电偶从-40~1600℃均可持续测温。4)性能可靠,机械强度好。5)使用寿命长,安装方便。3.3.3热电偶种类我国标准化热电偶的常用种类:铂铑10-铂(分度号为S)、铂铑13-铂(R)、铂铑30-铂铑6(B)、镍铬-镍硅(K)、镍铬-康铜(E)、铁-康铜(J)、铜-康铜(T)和镍铬硅-镍硅(N)。根据本设计技术要求测温范围0~300℃,精度±0.5℃。选择K型热电偶满足要求。3.4模数转换电路MAX6675是美国MAXIM公司生产的带有冷端补偿、线性校正、热电偶断线检测的串行K型热电偶模数转换器,它的温度分辨能力为0.25℃,冷端补偿范围为-20~+80℃,工作电压为3.0~5.5V。文中介绍了MAX6675的功能特点、引脚排列及工作时序,给出了MAX6675与89C51的接口电路与编程设计方法。在工业温度测控场合,K型热电偶因其线性度好,价格便宜,测量范围宽而得到广泛的使用;但它往往需要冷端补偿,且电路较复杂,调试麻烦。而MAXIM公司生产的K型热电偶串行模数转换器MAX6675不但可将模拟信号转换成12bit对应的数字量,而且自带冷端补偿。其温度分辨能力达0.25℃,可以满足绝大多数工业应用场合。MAX6675采用SO-8封装,体积小,可靠性好。3.4.1引脚排列及内部结构MAX6675芯片的引脚排列如图5所示,各引脚的功能如下:T-:热电偶负极(使用时接地);T+:热电偶正极;SCK:串行时钟输入;CS:片选信号;SO:串行数据输出;VCC:电源端;GND:接地端;N.C.:悬空,不用。图5MAX6675的引脚图3.4.2MXA6675工作原理及功能特点根据热电偶测温原理,热电偶的输出热电势不仅与测量端的温度有关,而且与冷端的温度有关,在以往的应用中,有很多种冷端补偿方法,如冷端冰点法或电桥补偿法等,但调试都比较麻烦。另外,由于热电偶的非线性,以往是采用微处理器表格法或线性电路等方法来减小热电偶本身非线性带来的测量误差,但这些都增加了程序编制及调试电路的难度。而MAX6675对其内部元器件的参数进行了激光修正,从而对热电偶的非线性进行了内部修正。同时,MAX6675内部集成的冷端补偿电路、非线性校正电路、断线检测电路都给K型热电偶的使用带来了极大的方便。其工作原理如图6所示。MAX6675的特点如下:1.内部集成有冷端补偿电路;2.内含热电偶断线检测电路。3.带有简单的3位串行接口;4.可将温度信号转换成12位数字量,温度分辨率达0.25℃;MAX6675内部集成有冷端补偿电路;带有简单的3位串行SPI接口;可将温度信号转换成12位数字量,温度分辨率达0.25℃;内含热电偶断线检测电路。冷端补偿的温度范围-20℃~80℃,可以测量0℃~1023.75℃的温度,基本符合工业上温度测量的需要,其串行接口时序如图7所示。由接口时序可以看出,当MAX6675的引脚从高电平变为低电平时,MAX6675将停止任何信号的转换并在时钟SCK的作用下通过SO引脚向外输出已转化的数据(此数据是经过放大了的A/D转换后的数字量与冷端补偿之和);相反,当从低电平变回高电平时,MAX6675将进行新的转换。在引脚从高电平变为低电平时,第一个字节D15出现在引脚SO上,一个完整的数据读过程需要16个时钟周期,数据的读取通常在SCK的下降沿完成。值得指出的是此芯片的AD转换速度在0.17~0.22s之间,比之一般的AD转换芯片微秒级的转换速度要长得多。图6MAX6675工作原理图图7串行接口时序图3.4.3MAX6675的工作时序当MAX6675的CS引脚从高电平变为低电平时,MAX6675将停止任何信号的转换并在时钟SCK的作用下向外输出已转化的数据。相反,当CS从低电平变回高电平时,MAX6675将进行新的转换。在CS引脚从高电平变为低电平时,第一个字节D15将出现在引脚SO。一个完整的数据读过程需要16个时钟周期,数据的读取通常在SCK的下降沿进行。MAX6675的输出数据为16位,其中D15始终无用,D14~D3对应于热电偶模拟输入电压的数字转换量,D2用于检测热电偶是否断线(D2为1表明热电偶断开),D1为MAX6675的标识符,D0为三态。需要指出的是:在以往的热电偶电路设计中,往往需要专门的断线检测电路,而MAX6675已将断线检测电路集成于片内,从而简化了电路设计。D14~D3为12位数据,其最小值为0,对应的温度值为0℃;最大值为4095,对应的温度值为1023.75℃;由于MAX6675内部经过了激光修正,因此,其转换结果与对应温度值具有较好的线性关系。温度值与数字量的对应关系为:温度值=1023.75×转换后的数字量/4095。3.4.4MAX6675与89C52的接口实现MAX6675采用标准的SPI串行外设总线与单片机接口,因此它只能作为从设备即串行接口芯片。SPI(SerialPeripheralInterface)总线系统是一种同步串行外设接口,是Motorola公司推出的总线标准,它可以使单片机与各种外围设备以串行方式进行通信以交换数据。以单路热电偶为例来说明MAX6675与C51系列单片机的接口连接。由于C51系列单片机不具有SPI串行总线接口,可以使用软件来模拟SPI操作,包括串行时钟、数据输入和数据输出。如图4所示,串行外部时钟由P3.1提供,它是单片机的串行输出口TXD,对应于SCK的串行时钟输入;片选信号由P3.2提供;转换数据由P3.0读取,它是单片机的串行输入口RXD,对应于SO的串行输出。MAX6675的转换结果在SCK的控制下连续输出。值得指出的是我们将串行时钟输出口P3.1的初始状态设置为1,而在允许接口后再置P3.1为0。这样,单片机在输出1位SCK时钟的同时,将使接口芯片串行左移,从而输出一位数据至单片机的P3.0口(模拟MISO线),以后再置P3.1为1。至此,模拟一位数据输入过程完成。图8MAX6675与89C51系列连接示意图3.4.4MAX6675芯片注意事项为了正确使用MAX6675芯片,设计时还必须注意以下几点:(1)利用输出数据中的D2进行断偶检测时,热电偶的输入负极T-必须接地,且应尽可能地靠近MAX6675的引脚地(即PIN1);(2)由于冷端温度是由MAX6675本身检测的,因此,为了提高测量的精确度,电路板的地线尽可能地大;(3)由于热电偶信号为微弱信号,因此要尽可能地采取措施防止噪声干扰。可在MAX6675电源与地线之间接一个0.1μF的陶瓷电容。3.5单片机主板电路AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。3.5.1AT9C52引脚排列及内部结构如图9所示,AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。主要性能参数是:兼容MCS51指令系统·8k可反复擦写(>1000次)FlashROM·32个双向I/O口·256x8bit内部RAM·3个16位可编程定时/计数器中断·时钟频率0-24MHz·2个串行中断·可编程UART串行通道·2个外部中断源·共6个中断源·2个读写中断口线·3级加密位·低功耗空闲和掉电模式·软件设置睡眠和唤醒功能图9AT9C52引脚介绍1)P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。2)P1口P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表1。Flash编程和程序校验期间,P1接收低8位地址。表1P1.0和P1.1的第二功能引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时/计数器2)3)P2口P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。4)P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表2所示:表2P3口第二功能表端口引脚第二功能特性P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。5)RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。6)ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。7)PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。8)EA/VPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。9)XTAL1振荡器反相放大器的及内部时钟发生器的输入端。10)XTAL2振荡器反相放大器的输出端。3.5.3单片机最小系统介绍单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。最小系统原理图如图10所示。图10最小系统电路图◆电源供电模式图11电源模块电路图对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。51单片机虽然使用时间最早、应用范围最广,但是在实际使用过程中,一个和典型的问题就是相比其他系列的单片机,51单片机更容易受到干扰而出现程序跑飞的现象,克服这种现象出现的一个重要手段就是为单片机系统配置一个稳定可靠的电源供电模块。此最小系统中的电源供电模块的电源可以通过计算机的USB口供给,也可使用外部稳定的5V电源供电模块供给。电源电路中接入了电源指示LED,图中R11为LED的限流电阻。S1为电源开关。◆复位电路图12复位电路图单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。(1)上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。◆振荡电路图13振荡电路图单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。STC89C52使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。3.5.4AT89C52功能特点作为比较经典的一款单片机,AT89C52具有低电压供电和体积小等特点,功耗不是很高很适合便携手持式产品的设计使用系统可用二节电池供电;此外,这款单片机指令系统比较丰富,已经能满足此系统的开发使用。AT89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89C52具有以下标准功能:●与MCS51单片机产品兼容;●8K支持在线编程(ISP)的FLASH结构程序存储器,1000次擦写寿命;●工作电压为4.0V~5.5V;●全静态工作:0~24MHz;●3级程序安全加密保护;●256*8位内部RAM;●32个可编程I/O端口;●3个16位定时器/计数器;●8个中断源;●一个全双工异步串口;●支持低功耗及掉电模式;3.6液晶显示电路图14液晶显示电路3.6.1HJ1602A概述HJ1602A是一种工业字符型液晶,能够同时显示16×02即32个字符。(16列2行)3.6.2主要技术参数显示容量芯片工作电压工作电流模块最佳工作电压字符尺寸16*2个字符4.5-5.5V2.0mA(5.0V)5.0V2.95×4.35(WXH)mm3.6.3引脚借口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源;第2脚:VDD接5V正电源;第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度;第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器;第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据;第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;第7~14脚:D0~D7为8位双向数据线;第15脚:背光电源正极;第16脚:背光电源负极。3.6.4SMC1602A(16*2)模拟口线接线方式连接线图:|DB0P1.0|DB4P1.4|RWP2.0||DB1P1.1|DB5P1.5|RSP2.1||DB2P1.2|DB6P1.6|EP2.2||DB3P1.3|DB7P1.7|VSSGND||VDD+5V|VEE接1K电阻到+5V|3.6.51062LCD的指令说明及时序1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D,光标移动方向,高电平右移,低电平左移S:屏幕上所有的文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁高电平闪烁,低电平不闪烁。指令5:光标或显示位移S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5×7的点阵字符,高电平时显示5×10的点阵字符。指令7:字符发生器RAM地址位置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙碌标志位,高电平表示忙,此时模块不能接受命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。3.6.6读写操作时序表读写操作时序如图所示图15读操作时序图16写操作时序4软件设计软件是整个系统的灵魂,它是算法和功能实现的关键。软件设计包括主程序、显示子程序和中断服务程序。4.1主程序主程序的主要功能是负责温度的实时显示、读出并处理MAX6675的测量的当前温度值,温度测量每750ms进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图4.1所示。初始化的过程主要是由主机发出一复位脉冲,然后等待从机MAX6675响应的过程,其中也包括对MAX6675存储器的设置。当初始化后,若是首次开机,此时系统会进入读温度,计算并刷新,进而由单片机转换温度,最后由LED显示;如果不是首次开机,则直接进行温度转换,显示已测温度值,再有LED显示。这个过程的时间是极短的,显示子程序的调用也是实时的。程序中告警的条件定义为温度高于TH或低于TL。只要MAX6675一上电,完成温度转换后,会把测得的温度值与RAM中的用户自定义的TH、TL字节对比,若超限,则把该器件内的报警标志位置位,主机可进行搜索。/******************************主程序*****************************************/voidmain(void){delay_nms(10);LCD_init();//LCD初始化delay_nms(50);CLEARSCREEN; //清屏delay_nms(10);LCD_write_string(0,LINE1,"temperatureTEST");LCD_write_char(8,LINE2,0X2e);//显示"点"LCD_write_char(10,LINE2,0XDF);//显示"度" LCD_write_char(11,LINE2,0X43);//显示"C"while(TRUE){ tempdisp(); delay_nms(100);}}4.2显示子程序P1.0P1.0P1.1P1.2冷端温度显示热电势缓冲区结果显示动态扫描返回图17显示程序●温度值显示程序***********************************温度值显示**********************************/voidtempdisp(){unsignedinttemp;intTempValue;unsignedinttestD2;unsignedintxiaoshu;xiaoshu=TempValue=ReadMAX6675();//读取MAX6675转换后的温度数值; TempValue=TempValue<<1;//去掉第15位TempValue=TempValue>>3;//去掉第0~2位TempValue=TempValue/4; //MAX6675最大数值为1023。75,而AD精度为12位,即2的12次方为4096,转换对应数,故要除4;xiaoshu=xiaoshu<<10; //去掉第6~15位xiaoshu=xiaoshu>>3;//取3,4,5位小数xiaoshu=xiaoshu/4; //与上述同理;if(TempValue>=260) { TempValue=TempValue+3;disdata[0]=(TempValue/1000)%10+0x30;//千位+0x30是对应LCD里的ROM字符位置编码disdata[1]=(TempValue/100)%10+0x30;//百位+0x30是对应LCD里的ROM字符位置编码disdata[2]=(TempValue/10)%10+0x30;//十位+0x30是对应LCD里的ROM字符位置编码disdata[3]=TempValue%10/1+0x30;//个位+0x30是对应LCD里的ROM字符位置编码disdata[4]=(xiaoshu)%10+0x30;//分位 +0x30是对应LCD里的ROM字符位置编码 LCD_write_char(4,LINE2,disdata[0]); //显示千位 LCD_write_char(5,LINE2,disdata[1]); //显示百位 LCD_write_char(6,LINE2,disdata[2]); //显示十位 LCD_write_char(7,LINE2,disdata[3]); //显示个位 LCD_write_char(9,LINE2,disdata[4]); //显示分位 } elseif(TempValue>180) { TempValue=TempValue+2; disdata[0]=(TempValue/1000)%10+0x30;//千位+0x30是对应LCD里的ROM字符位置编码disdata[1]=(TempValue/100)%10+0x30;//百位+0x30是对应LCD里的ROM字符位置编码disdata[2]=(TempValue/10)%10+0x30;//十位+0x30是对应LCD里的ROM字符位置编码disdata[3]=TempValue%10/1+0x30;//个位+0x30是对应LCD里的ROM字符位置编码disdata[4]=(xiaoshu)%10+0x30;//分位 +0x30是对应LCD里的ROM字符位置编码 LCD_write_char(4,LINE2,disdata[0]); //显示千位 LCD_write_char(5,LINE2,disdata[1]); //显示百位 LCD_write_char(6,LINE2,disdata[2]); //显示十位 LCD_write_char(7,LINE2,disdata[3]); //显示个位 LCD_write_char(9,LINE2,disdata[4]); //显示分位 } else { disdata[0]=(TempValue/1000)%10+0x30;//千位+0x30是对应LCD里的ROM字符位置编码disdata[1]=(TempValue/100)%10+0x30;//百位+0x30是对应LCD里的ROM字符位置编码disdata[2]=(TempValue/10)%10+0x30;//十位+0x30是对应LCD里的ROM字符位置编码disdata[3]=TempValue%10/1+0x30;//个位+0x30是对应LCD里的ROM字符位置编码disdata[4]=(xiaoshu)%10+0x30;//分位 +0x30是对应LCD里的ROM字符位置编码 LCD_write_char(4,LINE2,disdata[0]); //显示千位 LCD_write_char(5,LINE2,disdata[1]); //显示百位 LCD_write_char(6,LINE2,disdata[2]); //显示十位 LCD_write_char(7,LINE2,disdata[3]); //显示个位 LCD_write_char(9,LINE2,disdata[4]); //显示分位 } }●LCD函数处理程序/********************************************************************//********************LCD函数部份***********************************/voidLCD_delay(void){unsignedchari;for(i=LCD_DELAY_TIME;i>ZERO;i--);}/********************************************************************/voidLCD_en_command(unsignedcharcommand){LCD_delay();LCD1602_RS=LOW;LCD1602_RW=LOW;LCD1602_EN=HIGH;LCDIO=command;LCD1602_EN=LOW;}/********************************************************************/voidLCD_en_dat(unsignedchardat){LCD_delay();LCD1602_RS=HIGH;LCD1602_RW=LOW;LCD1602_EN=HIGH;LCDIO=dat;LCD1602_EN=LOW;}/********************************************************************/voidLCD_set_xy(unsignedcharx,unsignedchary){unsignedcharaddress;if(y==LINE1)address=LINE1_HEAD+x;elseaddress=LINE2_HEAD+x;LCD_en_command(address);}/********************************************************************/voidLCD_write_char(unsignedx,unsignedchary,unsignedchardat){LCD_set_xy(x,y);LCD_en_dat(dat);}/********************************************************************/voidLCD_write_string(unsignedcharX,unsignedcharY,unsignedchar*s){LCD_set_xy(X,Y);//设置显示XY地址while(*s)//写字符{LCDIO=*s;LCD_en_dat(*s);s++;}}/********************************************************************/voidLCD_init(void){LCD_en_command(DATA_MODE);//8位模式LCD_en_command(DATA_MODE);LCD_en_command(DATA_MODE);LCD_en_command(DATA_MODE);LCD_en_command(OPEN_SCREEN);//开显示LCD_en_command(DISPLAY_ADDRESS);//设定显示起始位CLEARSCREEN;//清屏}/***********************延时*********************************/voiddelay_nms(unsignedintn){unsignedinti=0,j=0;for(i=n;i>0;i--)for(j=0;j<1140;j++);}/********************************************************************/4.3延时子程序/********************************************************************/voidLCD_delay(void);//LCD延时函数voidLCD_en_command(unsignedcharcommand);//LCD写指令voidLCD_en_dat(unsignedchartemp);//LCD写数据voidLCD_set_xy(unsignedcharx,unsignedchary);//设置LCD显示位置voidLCD_write_char(unsignedx,unsignedchary,unsignedchardat);//向LCD写入一个字符voidLCD_write_string(unsignedcharX,unsignedcharY,unsignedchar*s);//向LCD写入一串字符voidLCD_init(void);//LCD初始化函数/********************************************************************/voiddelay_nms(unsignedintn);//延时函数/********************************************************************//***********************从MAX6675读取温度*********************************************/unsignedintReadMAX6675(){unsignedcharcount;MAX6675_CS=0;//置低,使能MAX6675MAX6675_SCK=1;Value=0;_nop_();_nop_();_nop_();for(count=16;count>0;count--)//获取16位MSB{MAX6675_SCK=0;//sck置低Value=Value<<1;//左移if(MAX6675_SO==1)//取当前值Value|=0x0001;elseValue&=0xffff;MAX6675_SCK=1;_nop_();_nop_();_nop_();_nop_();}MAX6675_CS=1;//关闭MAX6675returnValue;}5课设总结本次设计师以AT89S52作为核心,使用MAX6675转换和K型温度传感器,配以温度显示。整个系统力求结构简单,功能完善。通过近半年的毕业设计,收获颇多!在做本次毕业设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:proteus制图、c语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名自动化专业的学生,单片机的课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。

课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。6谢辞四年的大学生活如白驹过隙般在我们身边匆匆滑过,丰富多彩的大学时代悄悄的离我们远去。但是,这四年的生活学习是我一生之中最为重要的一部分,是我们从青年走向成年、从青涩走向成熟最为重要的过渡阶段。四年的大学生涯让我结识了很多、学到了很多:有老师如蜡烛般的无私教授,有同学兄弟般的真诚对待。为此,在即将结束我大学时代时,我真诚的感谢这四年来给予我支持、帮助和关爱的所有人,大家都是我的良师益友,是我一生的财富。四年的大学生活就要结束,半年的毕业设计也到了尾声,由于本人知识水平和设计能力有限,本次的设计还存在着很多的不足和瑕疵,为此,我恳请各位老师给予我批评和指正,是我能够学到更多的东西。本次毕业设计是在我的指导老师魏丽老师的耐心指导、悉心帮助下完成。在这将近半年的时间里,魏老师对我们小组进行了系统详实的辅导,我们的设计才能够真正顺利、完整的完成。每周魏老师都会了解我们进度,为我们解答设计中出现的难题。在本次的设计中,魏老师给作者的印象不仅是对课题研究时的科研作风严谨、对工作的认真对待、学识水平的深厚。更重要的是,魏老师在生活中对我们的关心和帮助。魏老师还经常会和我们一起研究、学习,使我们能够更好更快的完成设计。在这里,作者向为我们付出巨大心血,督促、帮助、指导我们的魏老师报一声:谢谢您为我们付出的一切。此时此刻,随着论文的不断深入我的不舍之情也越来越深。我知道我距离开我的老师和同学的时间也越来越近。对于许多给予我帮助的机电工程系的老师和同学,我发自内心的感谢你们!最后我还要感谢含辛茹苦养育我长大的父母,谢谢你们!再次感谢魏老师对我耐心的指导与悉心的照顾。感谢本组其他同学热情的帮助!感谢所有关心、帮助过我的所有老师和同学!最后感谢我的母校——唐山学院四年对我的大力培养。7参考文献[1]郑晓文.关于热电偶温度冷端补偿问题的探讨.字航计测技术.2002,22(6):53-59[2]王幸之等.单片机应用系统抗干扰技术.北京:北京航大航空大学出版社,2001[3]徐爱钧,彭秀华.KeilCxs1V7.o单片机高级语言编程与林VisionZ应用实践.电子工业出版社,2004[4]王为青,程国钢.单片机KeilC5l应用开发技术.北京:人民邮电出版社,2007[5]凌振宝,王君,朱凯光.数字温度传感器在热电偶温度补偿中的应用.传感器技术.2003,22(6):45-46[6]MaximIntegratedProduets.DS18B20Datasheet[EB/OL]./pdfserv/en/ds/DS18B20.Pdf[7]张志利,蔡伟.基于AD590的温度测控装置研究.白动化与仪器仪表,2001,2:37-39[8]李广第,朱月秀,冷祖祁.单片机基础第版北京北京航空航天大学出版社,2007.6[9]孙红均,张涛,王超.智能仪器仪表北京清华大学出版社,2007[10]陈正,喻红,热电偶测温的线性化处理模块计量技术,1999,12:23-25[11]吕小红,周凤星,马亮.基于单片机的电阻炉温度控制系统设计微计算机信息,2008,6-2119-120[12]王蓬,李少远.一类非线性系统的多模型预测控制.控制与决策,2007(10):1113—1118.[13]王树青,荣冈,金晓明,王宁.先进控制技术及应用.第1版:化学工业出版社,2001.7:110—123[14]崔志尚.温度计量与测试.北京:中国计量出版社,1998.[15]刘君华.现代测试技术与系统集成.北京:电子工业出版社,2004.DS1820单总线数字温度计DSl820数字温度计提供9位(二进制)温度读数指示器件的温度。信息经过单线接口送入DSl820或从DSl820送出因此从主机CPU到DSl820仅需一条线(和地线)。写数据,读温度转换可以由数据线本身来提供电源而不需要一个外部电源。由于每个DS18B20的包含一个唯一的序列号,因此任意多个DSl820可以存放在同一条单线总线上。这允许在不同的地方放置温度传感器。此功能可应用的地方包括空调环境控制,建筑物内的温度感应,设备或机器的过程监控和控制。1综述DS18B20的有四个主要的数据部分组成:1)64位激光ROM,2)温度灵敏元件,3)非易失性温度报警触发器TH和TL,4)配置寄存器。器件从单线的通信线上取得其电源,在信号线为高电平的时间周期内,把能量贮存在内部的电容器中,在单信号线为低电平的时间期内断开此电源,直到信号线变为高电平重新接上寄生电容电源为止。作为另一种可供选择的方法,DS1820也可用外部5V电源供电。与DS1820的通信经过一个单线接口。在单线接口情况下,在ROM操作未定建立之前不能使用存贮器和控制操作。主机必须首先提供五种ROM操作命令之一:1)ReadROM(读ROM),2)MatchROM(符合ROM),3)SearchROM(搜索ROM),4)SkipROM(跳过ROM),或5)AlarmSearch(告警搜索)。这些命令对每一器件的64位激光ROM部分进行操作。如果在单线上有许多器件,那么可以挑选出一个特定的器件,并给总线上的主机指示存在多少器件及其类型。在成功地执行了ROM操作序列之后,可使用存贮器和控制操作,然后主机可以提供六种存贮器和控制操作命令之一。一个控制操作命令指示DS1820完成温度测量。该测量的结果将放入DS1820的高速暂存存贮器(Scratchpadmemory)。通过发出读暂存存储器内容的存储器操作命令可以读出此结果。每一温度告警触发器TH和TL构成一个字节的EEPROM,如果不对DS1820施加告警搜索命令,这些寄存器可用作通用用户存储器,使用存储器操作命令可以写TH和TL。对这些寄存器的访问是通过高速暂存存储器,所有数据均以最低有效位在前的方式被读写。2寄生电源寄生电源电路当I/O或VDD引脚为高电平时,这个电路便“取”得电源。只要符合指定的定时和电压要求,I/O将提供足够的功率,寄生电源的优点是双重的:1)利用此引,远程温度检测无需本地电源,2)缺少正常电源条件下也可以读ROM。为了使DS1820能完成准确的温度变换,当温度变换发生时,I/O线上必须提供足够的功率。因为DS1820的工作电流高达1mA,5K的上拉电阻将使I/O线没有足够的驱动能力。如果几个SD1820在同一条I/O线上而且企图同时变换,那么这一问题将变得特别尖锐。有两种方法确保DS1820在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时在I/O线上提供一强的上拉电阻,通过使用一个MOSFET把I/O线直接拉到电源可达到这一点,当使用寄生电源方式时VDD引脚必须连接到地。向DS1820供电的另外一种方法是通过使用连接到VDD引脚的外部电源,这种方法的优点是在I/O线上不要求强的上拉电阻,总线上主机不需向上连接便在温度变换期间使线保持高电平,这就允许在变换时间内其它数据在单线上传送。此外,在单线总线上可以放置任何数目的DS1820,而且如果它们都使用外部电源,那么通过发出跳过(Skip)ROM命令和接着发出变换(Convert)T命令,可以同时完成温度变换。注意只要外部电源处于工作状态,GND(地)引脚不可悬空。在总线上主机不知道总线上DS1820是寄生电源供电还是外部VDD供电的情况下,在DS1820内采取了措施来通知采用的供电方案。总线上主机通过发出跳过(Skip)ROM的操作约定,然后发出读电源命令,可以决定是否有需要在DS1820的总线上放置上拉电阻。在此命令发出后,主机接着发出读时间片。如果是寄生供电,DS1820将在单线总线上送回(0);如果由VDD引脚供电,它将送回(1)。如果主机接收到一个(0),它知道它必须在温度变换期间在I/O线上供一个强的上拉。3运算-报警信号在DS1820完成温度变换之后,温度值与贮存在TH和TL内的触发值相比较,因为这些寄存器仅仅是8位,所以0.5度在比较时被忽略。TH或TL的最高有效位直接对应于16位温度寄存器的符号位,如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位。每次温度测量将更新告警标志,只要告警标志置位,DS1820将对告警搜索命令做出响应。这允许并联连接许多DS1820,同时进行温度测量,如果某处温度超过极限,那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件。464位激光ROM每一DS1820包括一个唯一的64位长的ROM编码,开始的8位是单线产品系列编码,DS1820编码是10h,,接着的48位是唯一的系列号,最后的8位是开始56位CRC,64位ROM和ROM操作控制部分允许DS1820作为一个单线器件工作并遵循“单线总线系统”的单线协议,直到ROM操作协议被满足,DS1820控制部分的功能是不可访问的。单线总线主机必须首先操作五种ROM操作命令之一:1)ReadROM(读ROM),2)MatchROM(匹配ROM),3)SearchROM(搜索ROM),4)SkipROM(跳过ROM),或5)AlarmSearch(告警搜索)。在成功地执行了ROM操作序列之后,DS1820特定的功能便可访问,然后总线上主机可提供六个存贮器和控制功能命令之一。5CRC生成DS1820有一存贮在64位ROM的最高有效字节内的8位CRC。总线上的主机可以根据64位ROM的前56位计算机CRC的值并把它与存贮在DS1820内的值进行比较以决定ROM的数据是否已被主机正确地接收。CRC的等效多项式函数为CRC=X8+X5+X4+1DS1820也利用与上述相同的多项式函数产生一个8位CRC值并把此值提供给总线的主机以确认数据字节的传送,在使用CRC来确认数据传送的每一种情况中,总线主机必须使用上面给出的多项式函数计算CRC的值并把计算所得的值,或者与存贮在DS1820的64位ROM部分中的8位CRC值(ROM读数),或者与DS1820中计算得到的8位CRC值(在读暂存存贮器中时它作,为第九个字节被读出),进行比较。CRC值的比较和是否继续操作都由总线主机来决定,当存贮在DS1820内或由DS1820计算得到的CRC值与总线主机产生的值不相符合时,在DS1820内没有电路来阻止命令序列的继续执行。总线CRC可以使用一个移位寄存器和“异或”(XOR)门组成的多项式产生器来产生,其它有关Dallas公司单线循环冗余校验的信息可参见标题为“理解和使用Dallas半导体公司接触式存贮器产品”的应用注释移。位寄存器的所有位被初始化为零,然后从产品系列编码的最低有效位开始,每次移入一位。当产品系列编码的8位移入以后,接着移入序列号。在序列号的第48

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论