Pt100热电阻线性测温装置毕业设计_第1页
Pt100热电阻线性测温装置毕业设计_第2页
Pt100热电阻线性测温装置毕业设计_第3页
Pt100热电阻线性测温装置毕业设计_第4页
Pt100热电阻线性测温装置毕业设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

目录摘要 3ABSTRACT 41概述 51.1单片机的发展及在温度测量中的应用 51.2温度传感器的发展和应用 51.2.1温度传感器的分类 61.2.2温度传感器的发展 61.3铂电阻在温度测量中的应用及存在问题 71.3.1铂电阻的非线性分析 81.3.3铂电阻的三线制接法 81.3.2铂电阻非线性校正方法 92系统硬件设计 112.1硬件电路构成 112.2微型计算机的选择 112.3热电阻的选择 122.4热电阻测量及数据处理 122.4.1电阻测量原理及电路图 122.4.2AD580 142.5放大单元 162.5.1OP07 162.5.2ICL7650 162.5.3放大部分电路图 172.6A/D转换部分 172.6.1AD574 172.6.2AD574与89C51的接口电路 192.7串口输出单元 192.7.1MAX220 192.7.2串行输出电路 202.8LED选择及显示电路 212.8.1LED数码管 212.8.2显示接口电路 222.9电源设计 223系统软件设计 233.1主程序流程图 243.2A/D转换子程序 253.3串行输出子程序 253.4显示子程序 25总结 27致谢 28参考文献 29附录 30附录1电路整体原理图 30附录2.程序 31

Pt100热电阻线性测温装置的研制摘要热电阻具有测温范围大、稳定性好和耐氧化等特点,在低温测量中占有重要的地位。本文介绍了一种利用89C51单片机并采用热电阻的线性温度测量装置。该装置由AD580、标准电阻、放大器、AD转换器、数据采集与处理系统、数码显示、串行输出端口等组成。利用恒流源和12位A/D转换器设计温度测量电路,完全消除了传统的不平衡电桥的非线性误差,减小热电阻的接触电阻和引线电阻对测量误差的影响。在程序存储器EPROM中存放电阻-温度分度表,采用信号比较的方式求出高精度的热电阻值,再根据热电阻值的大小查线性表求取对应的温度值,实现了真正意义上的线性化,大大减小了放大器温漂和非线性的影响,并且实现了热电阻全温度范围的温度测量。该方法具有简单、实用、测量精度高、抗干扰能力强等特点[1]。关键词:热电阻;温度测量;单片机;数码显示;串行输出;非线性;查表ABSTRACTThermalresistorischaracterizedbyhavinglargerangeoftemperaturemeasurement,stabilityandanti-oxidationetc.Itisimportantpositioninlowtemperaturemeasurement.Thepaperintroducesalineartemperature-measuringdevicebasedonplatinumthermalresistor,using89C51single-chipmicrocomputer.ThedeviceconsistsofAD580,resistor,amplifier,ADconverter,datasamplingandprocessingsystem,digitalplay,serialoutputportandsoon.[2]Inordertoeliminatenon-linearityerroroftraditionimbalanceelectricbridge,contactresistanceanddown-leadresistance,thetemperaturemeasurementcircuitisdesignedwithconstantcurrentsourceand12bitsA/Dconvertor.Theresistance-temperaturetableisputintoEPROM.Themethodofsinglecomparingisusedtofindthermalresistancevaluewithhighaccuracy;thenthevalueismappedtothecorrespondingtemperaturebylookingintoreferencetable.Therefore,linearisimplemented,whichgreatlyreducestheimpactoftemperature-driftandnon-linearityinamplifier.Inaddition,thedeviceimplementsthemeasuringoffulltemperaturerangeofthereferencetable.Thismethodhasmanycharacteristicssuchassimplicity,practicality,highprecision,stronganti-interferenceetc.Keywords:thermalresistor,temperaturemeasurement,single-chipmicrocomputer,digitaldisplay,serialoutput,non-linearprocess,look-upreferencetable1概述温度测量已是很成熟的技术,温度敏感元件既有传统的热电阻、热电偶、热敏电阻等温度传感器,又有现代的集成温度传感器、数字温度传感器,还有超高温的光学温度传感器,其中热电阻测温方法以其测量范围大、性能稳定、高精度、高灵敏度、安装使用方便等特点在中、低温测量中占有重要的地位。但热电阻输出与温度之间的非线性特性给精确测量带来诸多不便。热电阻测温时信号处理常用的方法是采用桥式测量线路、热电阻线性化处理等,其缺点是存在引线电阻。引线电阻随温度变化会产生附加误差,线性化处理比较繁琐且只能减少误差,而正反馈法非线性也依然比较严重。本文论述了一种基于Pt100的线性测温装置,该装置在单片机的控制下,先精确测出热电阻值Rt,在由Rt的值查热电阻分度表得出温度值,然后由串行端口输出,实现了真正意义上的线性化,且实现了热电阻全温度范围的测量,并获得了较高的测量精度。1.1单片机的发展及在温度测量中的应用单片机的应用几乎渗透到人类生活的每一个角落,对人类生活在不知不觉中产生巨大的影响。计算机控制已经越来越多的参与到自动控制领域,使各种控制仪表逐渐向智能化、集成化发展,出现了大批智能控制仪表,不但使过去以分立元件为主的自动控制仪表被以智能元件为主的智能仪表所代替,而且性能上也有了大幅度的提高,可以实现直接的数字化输出,与现场总线直接相连,实现真正的智能化、数字化、单元化,配合工业PC以及DCS系统,在工业控制领域发挥了极其重要的作用。单片机技术在各个领域正得到越来越广泛的应用,MCS-51系列单片机以其优越的性能,成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。温度是工业控制中主要的被测对象之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足轻重的作用。对于不同场所、不同工艺、所需温度高低、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的控制方法多种多样。随着电子技术和微型计算机的迅速发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示其优越性[3]。1.2温度传感器的发展和应用温度参数是目前工业生产中最常用的生产过程参数之一,因此研究温度的测量方法和装置具有重要的意义。实用的温度传感器种类很多,但在工业部门多采用辐射温度计及热电偶。国外以辐射测温为主(占2/3),国内则多采用热电偶和热电阻(占98%)。国外辐射温度计的蓬勃发展对国内影响很大,近几年国内辐射温度计明显呈上升趋势。1.2.1温度传感器的分类

温度传感器按传感器与被测介质的接触方式可分为两大类:一类是接触式温度传感器,一类是非接触式温度传感器。

接触式温度传感器的测温元件与被测对象要有良好的热接触,通过热传导及对流原理达到热平衡,这时的示值即为被测对象的温度。这种测温方法精度比较高,并可测量物体内部的温度分布。但对于运动的、热容量比较小的及对感温元件有腐蚀作用的对象,这种方法将会产生很大的误差。

非接触测温的测温元件与被测对象互不接触。常用的是辐射热交换原理。此种测温方法的主要特点是可测量运动状态的小目标及热容量小或变化迅速的对象,也可测量温度场的温度分布,但受环境的影响比较大。

1.2.2温度传感器的发展温度传感器,使用范围广,数量多,居各种传感器之首。目前,国际上新型温度传感器正从模拟式想数字式、集成化向智能化及网络化的方向发展。

温度传感器的发展大致经历了以下3个阶段:a.传统的分立式温度传感器——热电偶传感器

热电偶传感器是工业测量中应用最广泛的一种温度传感器,它与被测对象直接接触,不受中间介质的影响,具有较高的精度;测量范围广,可从-50~1600℃进行连续测量,特殊的热电偶如金铁——镍铬,最低可测到-269℃,钨——铼最高可达2800b.模拟集成温度传感器

集成传感器是采用硅半导体集成工艺制成的,因此亦称硅传感器或单片集成温度传感器。模拟集成温度传感器是在20世纪80年代问世的,它将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出等功能。

模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温,不需要进行非线性校准,外围电路简单。

目前,光纤测温技术主要有全辐射测温法、单辐射测温法、双波长测温法及多波长测温等

。光纤技术的发展,为非接触式测温在生产中的应用提供了非常有利的条件。光纤测温技术解决了许多热电偶和常规红外测温仪无法解决的问题。而在高温领域,光纤测温技术越来越显示出强大的生命力。全辐射测温法是测量全波段的辐射能量而得到温度,周围背景的辐射、介质吸收率的变化和辐射率εT的预测都会给测量带来困难,因此难于实现较高的精度。单辐射测温法所选波段越窄越好,可是带宽过窄会使探测器接收的能量变得太小,从而影响其测量准确度。多波长辐射测温法是一种很精确的方法,但工艺比较复杂,且造价高,推广应用有一定困难。双波长测温法采用波长窄带比较技术,克服了上述方法的诸多不足,在非常恶劣的条件下,如有烟雾、灰尘、蒸汽和颗粒的环境中,目标表面发射率变化的条件下,仍可获得较高的精度

半导体吸收式光纤温度传感器是一种传光型光纤温度传感器。所谓传光型光纤温度传感器是指在光纤传感系统中,光纤仅作为光波的传输通路,而利用其它如光学式或机械式的敏感元件来感受被测温度的变化。这种类型主要使用数值孔径和芯径大的阶跃型多模光纤。由于它利用光纤来传输信号,因此它也具有光纤传感器的电绝缘、抗电磁干扰和安全防爆等优点,适用于传统传感器所不能胜任的测量场所。在这类传感器中,半导体吸收式光纤温度传感器是研究得比较深入的一种。

半导体吸收式光纤温度传感器由一个半导体吸收器、光纤、光发射器和包括光探测器的信号处理系统等组成。它体积小,灵敏度高,工作可靠,容易制作,而且没有杂散光损耗。因此应用于象高压电力装置中的温度测量等一些特别场合中,是十分有价值的。

c.智能温度传感器

智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。目前,国际上已开发出多种智能温度传感器系列产品。智能温度传感器内部包含温度传感器、A/D传感器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。

智能温度传感器能输出温度数据及相关的温度控制量,适配各种微控制器(MCU),并且可通过软件来实现测试功能,即智能化取决于软件的开发水平。

1).数字温度传感器。

随着科学技术的不断进步与发展,温度传感器的种类日益繁多,数字温度传感器更因适用于各种微处理器接口组成的自动温度控制系统具有可以克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端等优点,被广泛应用于工业控制、电子测温计、医疗仪器等各种温度控制系统中。其中,比较有代表性的数字温度传感器有DS1820、MAX6575、DS1722、MAX6635等。

2).智能温度传感器发展的新趋势

(1)提高测温精度和分辨力

智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1℃。目前国外已相继推出多种高速度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625(2)增加测试功能

温度传感器的测试功能也在不断增强。例如,DS1629型单线智能温度传感器增加了实时日历时钟(RTC),使其功能更加完善。DS1624还增加了存储功能,利用芯片内部256字节的E*EPROM存储器,可存储用户的短信息。另外,智能温度传感器正从单通道想多通道的方向发展,这为研制和开发多路温度测控系统创造了良好条件。

1.3铂电阻在温度测量中的应用及存在问题[4,5]热电阻传感器主要用于中低温度(-200℃~+650℃或850℃)范围的温度测量。常用的工业标准化热电阻有铂热电阻和铜热电阻。铂电阻具有适用范围广、测量范围大、稳定性高、重复性好、价格低廉、使用方便等优点,成为目前工业和实验室中温度测量应用最广泛普遍的传感元件之一。按准确度等级,铂电阻温度计可分为标准铂电阻温度计和工业铂电阻温度计。标准铂电阻温度计被ITS-90国际温标采用,作为1318033K~961178℃温域内的内插标准仪器。工业铂电阻温度计的使用温度范围是-200~+850℃。在各种智能仪表中,对于铂电阻测温,典型的用法是用不平衡电桥将铂电阻随温度变化的电信号输出,再经放大和A/D转换后送单片机进行运算。其原理是应用铂电阻随温度变化阻值发生变化的测温原理,将待测温度量的变化转化为电阻的变化,再进一步通过电桥电路转换为电量的变化。但是其阻值与温度之间的关系为非线性特性,因而为了保证一定的测量准确度,1.3.1铂电阻的非线性分析[6,7]按照国际电工委员会的铂热电阻技术标准,铂电阻Pt100在0~650℃范围内的符合ITS-90的国际分度表函数R(t)可用下式表示:Rt=R0(1+At+Bt2)(1-1)其中Rt,R0分别是t℃和0℃时的铂电阻阻值,A=3.90802×10-3℃1,B=-5.80195×10-7该分度函数的特点是温度覆盖范围广、精度高,但随着温度的升高,铂电阻的非线性越来越严重.可见,在0℃~650℃测温范围内存在非线性项Bt2,且为负值,因而电阻的变化率随着温度的升高而下降。dRt/dt=R0(A+2Bt)(1-2)斜率的变化为:d2Rt/dt2=2R0B=-2×100×5.80195×10-7≈-1.2×10-4(Ω/℃2)(1-3)可同Pt100温度斜率的变化率随温度的升高以-1.2×10-4Ω/℃2的速率下降,是单调上凸特性,如图所示。图1-2铂电阻的非线性特性曲线上图中曲线①为Pt100特性曲线,曲线②为线性化的理想直线。设被测温度范围为:0℃~800℃,则曲线2是以曲线1的0℃与800℃作为起点与终点所连的直线段,即线性化的理想电阻—温度特性。如不进行非线性校正,非线性误差在曲线1与2σmax=R0(1+400A+4002B)-[(400/800)(R800-R0)+R0](1-4)在曲线1和曲线2相交两点的中间处,即t=400℃时铂电阻的非线性误差最大,代入上式可得:σmax=5.815Ω,5.815Ω的变化量相当于Pt100铂电阻在16℃左右的变化量,即在0℃~800℃的测温范围内,最大非线性误差可达2%左右1.3.3铂电阻的三线制接法四线制铂电阻测温当然是消除引线影响的最佳方案,但对多路测温而言成本太高,工业上一般采用折衷的三线制铂电阻测温方案[8]。三线制接法补偿即将连接热电阻的两根导线分别置于两个桥臂中,当环境温度变化而使导线电阻值改变时它的影响得到抑制。由于每一路可减少一根导线,且对电路参数的调试要求不高,补偿了环境温度对测量的影响,而测量电路所用的均为普通器件。由电路知:(1-5)图1-3铂电阻的三线制接法式中:Rt为温度t时铂电阻阻值;RB为初始温度t0时铂电阻阻值,RB=Rt0,rt为铂电阻引线电阻。当rt因环境影响变为rt1时有:(1-6)(1-7)以长100m、截面为1mm2铜导线为例,其电阻为。若引线所处环境温度在20℃基础上变化±20℃=(1-8)式中:为铜电阻品均温度系数。显然不论用硬件还是软件线性化处理,铂电阻引线与环境温度变化带来的影响使不平衡电桥电路无法满足高精度测温要求。因此,本设计提出了相似的恒流源电阻/电压转换三线制铂电阻测量电路。这在后面作详细叙述。1.3.2铂电阻非线性校正方法硬件校正法就是构造一网络使输出信号是温度的线性函数。如果将输出电压一部分反馈回来,使供电电流增加,就能有效地提高输出电压,使之对温度变化呈线性关系,显然对于铂电阻,必须是正反馈,即正反馈法校正铂电阻非线性[9,10]。图1-4有源线性电桥具体形式一般是对不平衡单臂电桥的桥臂引入正反馈,如图1-4为一有源单臂电桥。正反馈的引入有两种方式,第一种方式是将与输出成反比的信号引入到桥臂a点,而形成正反馈,如图1-5(a)所示电路。第二种方式是将与输出成正比的信号引入到桥臂b点而形成正反馈,如图1-5(b)所示。必须指出,对图a与图b电路各参数值设计要求很严格,反馈量的轻微变化对其输出的影响就会很大,且很易发生自激而影响正常测量。(b)图1-5加入正反馈的电路在使用微机场合,用软件方法对铂电阻进行非线性校正不但节省大量的硬件开支,使侧量电路简单,而且精度也可提高。线性插值法就是把非线性函数红幻的曲线分成若干段,然后把相邻两段用直线连结起来,用此直线代替相应曲线。线性插值法按插值基点选取方法不同分为两种等距离分段法和非等距离分段法。2系统硬件设计2.1硬件电路构成硬件电路由信号处理单元、放大单元、数据采集及处理单元、串行输出单元、电源电路等组成。系统组成框图如下图1所示:图2-1硬件组成原理方框图2.2微型计算机的选择

本系统选用AT89C51作为CPU。AT89C51是一种低功耗、高性能的片内4KB快闪可编程/擦除只读存储器的8位CMOS微控制器,其内部有4KB的EEPROM,。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案.。三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。利用89C51串行输出工作方式,使89C51的利用率大大提高,外部电路得以简化。89C51可直接与键盘进行扫描读数,可直接用串/并行转换模块74LS164驱动LED显示温度值。因其利用率高,负载重,后向电路只需加一块通向驱动器即可正常工作。在串行传输数据时,频率可达到1MHz,对温度的显示完全达到测控精度要求。与MCS-51微控制器产品系列兼容,使用高密度、非易失存储技术制造,存储器可循环写入/擦除1000次。AT89C51的引脚与8031相同。因此,不需要扩展即能满足要求[11]。2.3热电阻的选择热电阻温度传感器是利用导体或半导体的电阻率随温度的变化而变化的原理制成的。铂虽属贵重金属但具有耐高温、使用寿命长,温度灵敏度高,对温度变化反应速度快,同时电阻温度特性好,便于分度和读数等特点因此采用铂热电阻作为温度测量元件,其型号为Pt100,测量范围为-200~+650℃。Pt100型铂热电阻在0℃时的阻值为100Ω,200℃时的阻值在2.4热电阻测量及数据处理测量电路由热电阻Rt、AD580、标准电阻R1、多路模拟开关U1和U2等组成。图中r是热电阻引线等效电阻。标准电阻R1用锰铜丝绕制而成,性能稳定。温度的测量和控制主要取决于温度测量精度,因此,为了保证精度,从硬件采用了三个方面的措施:第一,测量中传感器的连接采用新的三线制方法,补偿由导线引起的误差;第二,选用高精度低漂移运算放大器OP07作为运算放大的电路,第三,测量电路采用恒流源供电。AD580用作标准电流源,其输出电流I经多路模拟开关U1分别由四个支路输出,在R1上形成标准校准电压信号U01、在热电阻R1上形成输入信号U02,在引线电阻2r上形成引线电阻补偿信号U03,在接地线上形成零点校正信号U04。为了提高测量精度,电路设计时让四个支路负载电阻尽量相同。热电阻采用三线制连接,三条引线敷设环境和长度相同。如图2-3所示[12]。2.4.1电阻测量原理及电路图图2-2测量原理图见图2-2,U1、U2为多路模拟开关,I、R0、R1、A、AD分别为标准电流、被测电阻、标准电阻、放大器、AD转换器,U01、U02分别为标准校准电压信号和被测电压信号,设定一应的AD采样值分别为S1、S2,U01和U02由电流源I流过电阻R1和R0支路获得,U01用于对放大器和采样通道校准。在单片机控制下,U1和U2的通道IN1导通时,有(2-1)上式中为采样时放大转换通道的等效转换系数。当U1和U2的通道IN0导通时,有(2-2)上式中为采样时放大转换通道的等效转换系数。将式(2-2)与式(2-1)比较,有(2-3)因为有一个测量周期是在极短的时间内完成的,所以,可以认为,则式(2-3)为(2-4)整理的被测电阻为(2-5)由式(2-4)、(2-5)可见,由于采用了与标准信号采样值比较的方法,且数据采集周期极短,使得被测电阻值与标准电阻R1、标准校准信号的采样值S1、被测信号的采样值S2有关,与电流源无关,大大减小了反放大采样通道的放大倍数、零点漂移和非线性的影响,因此,提高了测量精度,实现了电阻值的精确测量,测量精度主要取决于AD转换器的分辨率。见图2-3设S3、S4分别为U03、U04的采样值,则由式(2-5)可得热电阻和引线电阻分别为(2-6)(2-7)将式(7)代入式(6)并整理得热电阻为(2-8)上式既是本装置计算热电阻的基本关系式。数据采集及处理系统在单片机控制下完成数据采集后,即按上式计算热电阻值,然后查分度表求出温度值输出和显示。式中R1=390.48Ω,温度值精确到小数点后一位,两温度点之间按线性内插计算参考温度。实际计算时S1、S2、S3先减去零点校正值S4后,再代入式(8)计算热电阻值[13]。图2-3热电阻测量电路表1逻辑控制功能表步骤P1.3P1.2P1.1P1.0功能10000采集标准信号U0120101采集被测信号U0231010采集引线电阻信号U0341111采集零点校正信号U042.4.2AD580AD580是美国模拟器件公司生产的单片集成三端高精度2.5V参考源,输入电压在4.5-30V之间时,参考输出均为2.5V[14]。图2-4AD580的原理电路设Q1的be结电压为Vbe1,Q2的be结电压为Vbe2,Ic1=Ic2n,则有====(2-9)得(2-10)式中k和q为物理常数,T为绝对温变。由上式显见:第一项为晶体管的Vbe,为负温度系数,第二项T为绝对温度,其他为常数,故第二项为正温度系数。理论上当Vr为1.205V时,正负温度系数相等,总的温度系数为零,从而得到零温度系数的基准电压。再通过缓冲放大器及电阻R3、R4,便可得到要求的基准电压值。(2-11)图2-5AD580电流与工作电压特性曲线图图2-6AD580用作电流源AD580也可以用作电流源使用,本装置中AD580作标准恒流源。如图2-6所示[15]。2.5放大单元放大单元由运算放大器IC1-IC3等组成见图。因输入信号由AD580输出电流I转换而成,因此要用高输入阻抗放大器。为了提高输入阻抗和减小零点漂移的影响,放大器第一级是跟踪器,第一级和第二级的IC1、IC2选用斩波稳零式高精度运算放大器ICL7650,第三级选用OP07。2.5.1OP07OP07是一种高精度单片运算低失调放大器,具有很低的输入失调电压和漂移。OP07采用超高工艺和齐纳微调技术,使其温漂很小,广泛用于精密加法,检波,微弱信号精密放大。其要求双电源供电,使用温度范围0~70℃。使用OP07一般不用考虑调零和频率问题就能满足要求。如要调零,可采用调零电位器调整,阻值可选200Ω。引脚图如图2-7。图2-7OP07引脚图2.5.2ICL7650ICL7650是Intersil公司利用动态校零技术和CMOS工艺制作的斩波稳零式高精度运放。动态校零技术消除了CMOS器件固有的失调和漂移,从而摆脱了传统斩波稳零电路的束缚,克服了传统斩波稳零放大器的这些缺点。它具有输入偏置电流小、失调小、增益高、共模抑制能力强、响应快、漂移低、性能稳定及价格低廉等优点,常常被用在热电偶、电阻应变电桥、电荷传感器等测量微弱信号的前置放大器中。ICL7650采用14脚双列直插式和8脚金属壳两种封装形式。图2-8ICL765014引脚引脚图2.5.3放大部分电路图图2-9放大电路图2.6A/D转换部分2.6.1AD574为了保证合理的采样率,模-数转换器可选用逐次比较式模-数转换器,在本系统中选用的是AD574。它是美国模拟器件公司生产的12位逐次逼近型快速的A/D转换器。转换速度最大为25µS,转换精度≤0.05%,是目前我国市场上应用最广泛、价格适中的A/D转换器。主机可以采用中断、查询或延时方式读取AD574的转换结果值。由于AD574片内包含高精度的参考电压源和时钟电路,这使它在不需要任何外部电路和时钟信号的情况下完成一切A/D转换功能,应用非常方便。1)AD574的主要特性①内设高精度的参考电压(10V),只需外界一个适当电阻便可向DAC部分的解码网络提供IREF电流,转换操作所需的时钟信号亦由内部提供,不需任何外接元器件。②模拟信号的输入为单端通道,设有外接补偿电路引脚,以纠正ADC的补偿误差。其输入两成为10V和20V两档,供用户选择。在满刻度范围内无误码。③利用不同的控制信号,即可实现高精度的12位变换,又可作快速的8位转换,转换后的数据有两种读出方式:12位一次读出;分8位、4位两次读出,先读高8位,再读低4位,由A0位的状态分别控制读取高8位或低4位。设有三态输出缓冲器,可直接与各种类型的8位或16位微处理器连接,而无需附加逻辑接口电路,且能与CMOS及TTL电平兼容。④需三组电源:+5V、+12V~+15V和-15V~-12V。由于精度高,所需电源必须有良好的稳定性,并加以充分滤波,以防止高频噪音的干扰。⑤输入模拟信号:单极性时为0~+10V或0~+20V;双极性时为±5V或±10V范围。⑥低功耗:390mW。2)AD574的引脚配置如图2-10:图2-10AD574引脚图:片选信号端。低电平有效。CE:允许信号端。高电平有效。可用作8031的WR和RD相与非后接CE,以确保AD574A在被启动变换或读出变换结果的操作时,CE有效。R/C:读/变换,高为读A/D变换结果,低为启动A/D变换。:数据格式,高为12位并行输出,低为8位(或4位)并行输出。本设计令其接地。A0:字节地址/短周期,高为8位变换/输出低4位,低为12位变换/输出高8位。STS:变换状态,高为正在变换,低为变换结束。STS总共有三种接法:(1)空着:只能在启动变换25s以后读A/D结果;(2)接静态端口线:可用查询方法,待STS为低后再读A/D变换结果;(3)接外部中断线:可引起中断后,读A/D变换结果。本设计夸其接P1.0。REFIN:基准输入。REFOUT:基准输出。BIPOFF:双极性方式时,偏置电压输入。DBII~DB0:12位数据总线。10VSPAN:单极性0~10V模拟量输入;双极性0~±5V模拟量输入。DC:模拟量输入。20VSPAN:单极性0~20V模拟量输入;双极性0~±10V模拟量输入AC:模拟地。AC:模拟地.表2控制信号、CE、、和的组合功能如下:CE操作功能010×0010×101110011000110112位A/D转换起动8位A/D转换起动12位转换数据输出高8位转换数据输出低4位后跟4位“0”输出×0×××1××××}不执行操作2.6.2AD574与89C51的接口电路该电路采用单极性输入方式,可对0~10V或0~20V模拟信号进行转换。转换结果的高8位从D11~D4输出,低4位从D3~D0输出,并且直接和单片机的数据总线相连。转换遵循左对齐原则,D3~D0应接单片机数据总线的高半字节。为了实现启动A/D转换和转换结果的读出,AD574的片选信号CS由地址总线的P1.2提供,在读写时,A1应设置为低电平。AD574的CE信号由单片机的WR和RD经一级或非门产生。R/C则由P1.0提供。输出状态信号STS接到P3.2端可供单片机查询判断A/D转换是否结束。AD574的A0由地址总线的P1.1控制,可用于实现全12位转换,并将12位数据分两次送入数据总线[16]。如图2-11。图2-11AD574与89C51接口电路图2.7串口输出单元串行通信有异步通信和同步通信两种基本通信方式。同步通信适用于传送速度高的情况,其硬件复杂。而异步通信应用于传送速度在50到19200波特之间,是比较常用的传送方式。在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由一位起始位,5~8位的数据位,一位奇偶校验位(可省略)和一位停止位四部分组成。在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)。本设计中串行输出端口由MAX220完成,每数据包2个字节,波特率为9600,精确到MAX220MAX220包含4个部分:双路电荷泵DC-DC电压转换器、RS-232驱动器、RS-232接收器,以及接收器与发送器使能控制输入。1)双路电荷泵双路电荷泵将+5V转换为±10V(空载),为RS-232驱动器提供工作电压。第一个转换器利用电容C1将+5V输入加倍,得到V+输出端C3上的+10V;第二个转换器利用电容C2将+10V转换为V-输出端C4上的-10V。2)RS-232驱动器如果负载是标称值为5kΩ的RS-232接收器,并且VCC=+5V时,驱动器输出电压摆幅的典型值为±8V。空载时驱动器输出电压范围是(V+-1.3V)至(V-+0.5V)。输入门限兼容于TTL和CMOS逻辑。在关断模式、三态模式,或器件电源被断开的情况下,驱动器输出关闭,并进入高阻状态,该状态下的漏电流通常只有几个微安(最大值为25μA)。输出可以被驱动到±15V。在关断模式下,电源电流通常降至8μA。MAX220不具备内部上拉电阻,所以不能将未使用的驱动器输出强制为低电平,须将未使用的输入端连接至GND或VCC。3)RS-232接收器所有接收器都是反相的。输入门限设定为0.8V和2.4V,驱动器既响应TTL电平输入,也响应EIA/TIA-232E与V.28电平。接收器输入可以承受最高±25V的过压输入,并提供标称值为5kΩ的输入端接电阻。接收器输入滞回的典型值为0.5V,并可确保0.2V最小值。这样,对于慢变化输入信号可以产生明确的输出跳变,即使是在有一定噪声和振荡的情况下。接收器传输延时典型值为600ns,与输入摆幅方向无关。图2-12MAX220引脚配置2.7.2串行输出电路图2-13串行输出电路2.8LED选择及显示电路2.8.1LED数码管LED数码管又分共阴和共阳两种如图2-11(a)、(b)。如果把7段数码管的每一段都等效成发光二极管的正负两个极,那共阴就是把abcdefg这7个发光二极管的负极连接在一起并接地;它们的7个正极接到7段译码驱动电路74LS164的相对应的驱动端上(也是abcdefg);共阳就是把abcdefg的7个发光二极管的正极连接在一起并接到5V电源上,其余的7个负极接到译码驱动集成电路74LS164相应的abcdefg输出端上。无论共阴共阳7段显示电路,都需要加限流电阻,否则通电后就把7段译码管烧坏了。限流电阻的选取是:5V电源电压减去发光二极管的工作电压除上10ma到15ma得数即为限流电阻的值。(b)2-14LED数码管点亮显示器有静态和动态两种方法。所谓静态显示,就是当显示某一字符时,相应的发光二极管恒定的导通或截止,这种显示方式每一位都需要有一个8位的输出控制;所谓动态显示就是一位一位地轮流点亮显示器各位,对于显示器的每一位来说,每隔一段时间点亮一次。显示器的亮度既与导通的电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可以实现亮度较高稳定的显示。若显示器的位数不大于8位,则控制显示器公共极电位只需一个I/O口,控制显示器的各位显示的字型也需要一个8位口。图2-12为89C51的显示接口电路。本设计选用静态显示方式。8个74LS164作为4位七段显示器的静态显示口,静态显示方式显示器的亮度大,很容易作到显示不闪烁。而且静态显示时CPU不要频繁地为显示服务,因而主程序可以不必扫描显示器,软件设计简单,从而使单片机有更多的机会处理其它的事务。2.8.2显示接口电路2-12LED显示电路2.9电源设计电源设计是仪器设计的重要部分,能否提供稳定可靠的干扰较小的电源关系到仪器能否正常工作以及仪器测量的安全性。根据本仪器的设计原理,本设计要求电源能够提供+5V、±15V等供电电压,还需要从+15V调处一个10V精密电压给AD574供电。所采用的器件是能提供正电压的三端集成稳压器CW7805、CW7815和能提供负电压的CW7915。来自220V的交流电经变压器降压后,再经过整流桥、滤波电容器、三端稳压器稳压成所需要的电源电压。在+15V的输出端接一个电阻,和两个6V的稳压管CW6,在通过滑动变阻器调出+10V电压提供给AD574。图中稳压器前面的电容器是为了抵消输入长接线的电感效应,防止自激;而稳压器后面的电容器起改善负载的瞬态响应,消除高频噪声的作用。电源电路如图:2-13电源电路图3系统软件设计系统软件主要完成多路模拟开关的逻辑控制,信号采集,热电阻计算,引线电阻补偿,由分度表查询温度值,温度点之间的参考温度计算,超量程报警,温度显示,温度值串行数据输出和D/A输出等功能。为了求得被测的温度值,在程序存储器EPROM中开辟一定的存储空间用于存放电阻—温度分度表,一般是通过热电阻的电阻值查温度值,但热电阻的阻值一般来说不是整数,其查表的地址需要处理,所以将温度值作为分度表存储,每度对应一个存储单元,相应的阻值作为存储单元的内容。Pt100热电阻分度表从-200℃~850℃热电阻与温度之间的特性曲线见图3-1。用最小二乘法求取热电阻与温度的拟合曲线并对斜率和截距进行调整,当斜率为2.823℃/Ω,截距为275.593时,其误差均匀分布,在±8.26Ω以内,见图3-2。最大误差时温度最大相当于±28.5℃,因此,在求得Rt后,将Rt乘以2.823,得到的数据乘2作为查表的相对起始地址(即温度值),在该地址前后±29℃图3-1Pt100热电阻特性图3-2Pt3.1主程序流程图3-2主程序流程图3.2A/D转换子程序AD574数据的读取方式可以采用中断、查询或延时。本设计采用查询读取的方式,输出状态信号STS接到P3.2端可供单片机查询判断A/D转换是否结束。主机读取数据时,需先读高8位,再读低4位,由A0为的状态来分别控制读取高8位或低4位。AD574的端口地址应为:=A2=0,=A0=0,A0=A1=1,CE由写信号产生,所以其端口地址应为FFFAH,读AD574转换结果值的地址为FFFBH(读高8位)和FFFCH(读低4位)。AD574的转换控制如下:置端口地址到DPTR启动转换查询输出状态信号读取转换结果。3-3A/D转换子程序流程图3.3串行输出子程序串口输出由P3.0、P3.1控制。串行输出选用定时器/计数器1定时模式、工作方式2,则工作方式控制字(TMOD)为20H,SMOD=1,波特率选用9600位/秒。串行输出子程序流程图如3-4所示。3.4显示子程序显示子程序,从P1.5、P1.6输出,P1.5接164AB,P1.6接164CLR,采用静态显示方式。显示子程序的流程图如3-5所示。3-5显示子程序控制学院自0402班学生吴西芹毕业设计第43页共46页济南大学毕业论文用纸总结本系统的设计,选用美国ATMEL公司生产的AT89C51单片机作为控制器,以软件Kail为开发平台,并充分利用当今先进的工业信息技术和自动化控制技术,完成了线性测温装置的研制。本文采用的新的三线制引线电阻影响消除技术,从原理上解决了热电阻测温中引线电阻引起测量误差的问题,有效地提高了热电阻测温的精度。所介绍的线性化方法,由于是基于通过查表进行线性化,所以精度较高,且这种线性化方法通用性强,精度高,电路简单,调试工作量小。采用12位逐次逼近型快速的A/D转换器AD574,配有串行数据输出端口,可直接与计算机的串口相连接进行串行通信,有4位显示。将AD580作为恒流源,采用电流法对热电阻的电阻值进行测量,大大减小了放大器、AD转换器温度漂移和非线性的影响,提高了信号测量精度,在得到热电阻数值后,采用查分度表的方法求取温度值,实现了真正意义上的线性化温度测量,并且,实现了全分度范围的温度测量。采用B等级热电阻时,在-200~850℃范围内该装置的测量误差约为±6通过本次设计,使我真正认识到所学知识的不足和局限性。巩固了有关单片机的知识,也学到了很多新的知识。本次设计,锻炼了我理论和实际结合的能力,通过不断的遇到问题解决问题,也培养了我冷静思考,全面考虑的能力。在弥补不足中提高自己,也让我明白了以后努力的方向。由于知识水平有限等原因,本设计肯定还存在不完善或不尽合理之处,相信随着实践经验的丰富和理论水平的提高,日后能为自动化控制技术的推广应用作更深入的贡献!致谢在老师们辛勤的指导和同学们热心的帮助下,我完满的完成了有关线性测温装置的任务和要求。虽然这与我积极的努力分不开,但这在很大程度上却得益于我的老师和同学的帮助。在此,我要向他们表达我最真诚的谢意。在整个设计的完成的过程中,刘希民老师给了我很大的帮助。没有他孜孜不倦的教诲,我的设计工作肯定不能这么顺利的完成。刘老师积极地引导和鼓励使我不仅巩固了有关专业基础知识,还扩展了知识面,而且对自己的设计课题越来越有兴趣。虽然刘老师平日里事务繁忙,但在有问题问他时他总能不耐其烦地耐心讲解。为了指导我们的毕业设计他付出了很多的心血,也耽误了很多宝贵的时间。刘希民老师治学严谨,无私奉献的精神深深地影响着我,也让我更加努力的学习有关知识,完成毕业设计。相信他的科研精神、严谨的治学态度和认真的工作风度对我以后的职业生涯和人生都会产生积极深远的影响。在此,我谨表示我衷心的感谢!其次要感谢控制学院的领导和老师们,感谢他们四年来,为我们提供了良好的学习环境,传授给我们知识。毕业设计过程中学院为我们提供了专门的实验室,还分配了电脑,给我们提供了很大的方便,创造了良好的环境。同时我也要感谢实验室里所有的同学,在他们共同努力的协助下我的毕业设计才得以顺利的完成,在这个过程中也使我学会了团队合作精神,形成了互相协作良好氛围。感谢我的同学在这四年里对我的帮助和关心,和他们相处的时光,是快乐而无悔的时光。最后,对所有在这四年里学习上和生活上帮助过我的人表示感谢,谢谢你们!同时感谢参加论文答辩和评审、评阅的各位老师。随着毕业设计的完成,我的大学生活也将结束,相信这份毕业设计带给我的不只是知识上的增长,更多的是带给了我思想上的成长,还有对这一时期相处的人们最多的怀念!参考文献[1]黄江平一种实用的热电阻测温方法[J].科技广场2005(1)[2]刘希民.一种基于热电阻的线性温度测量装置的研制[J].辽宁:石油化工高等学校学报、2007第20卷(增刊)、83-86[3]李晓妮单片机温度控制系统得设计[J].九江学院学报(自然科学版)2005(2)20-23[4]潘文诚一种铂电阻高精度测温方法[J].传感器技术2003第22卷第11期[5]张翠莲杨家强邓善熙铂电阻的非线性特性及其线性化校正方法[J]仪器仪表天地[6]张萱闻建静楼建明铂电阻测温非线性校正方案[J].南昌大学学报(工科版)2003年9月第25卷第3期[7]Theinternationaltempreturescalof1990.1990国际温标宣传手册.国家技术监督局技量司.北京:中国计量出版社,1990.12第一版.[8]刘少强张靖庄哲民三线制铂电阻高精度测温方法[J].自动化仪表2002年11月第23卷第11期[9]蔡辉孙德保铂电阻测温电路的线性化设计方法[J].传感器世界2003(3)17-19[10]钱国维铂电阻温度传感器的非线性校正[J].《电子技术1995年第10期[11]徐凤霞赵成安AT89C51单片机温度控制系统[J].齐齐哈尔大学学报2004年3月第20卷第1期64-66[12]吴新杰关建新铂电阻线性化测温电路原理分析[J].仪表技术与传感器1997(5)36-38[13]刘希民.基于电流法的热电阻温度测量装置[J].北京:仪器仪表学报、2007第28卷第4期、31-34[14]张俊科精密基准电压电路[J].电子技术1995年第11期23-24[15]AnalogDevices,Inc..HighPrecision,2.5VICReferenceAD580,[EB/OL].[2007-04-20]./UploadedFiles/Data_Sheets/AD580.pdf[16]张智杰AD574在数据采集中的应用[J].《国外电子元器件》2003年第6期2003年6月55-56附录附录1电路整体原理图:附录2.程序 org 0000h ljmp star org 0030Hstar: mov sp, #70h ;初始化 clr 20h clr 21h MOV @R0, A DJNZ R0, RAMX MOV DPTR, #0FEFCH ;关显示器 CLR A MOVX @DPTR, A CLR A ;累加器清零 loop: lcall Sample ;采样子程序 lcall computesp ;运算子程序,根据具体题目自行处理 lcall hex2bcdsp ;BCD码转换及查字形子程序 lcall comoutputsp ;串口输出子程序, lcall displysp ;显示子程序,从P1.5、P1.6输出,P1.5接,;164AB,P1.6接164CLR ajmp loopSubssp: mov a, r4 ;2字节减法,r3r4-r5r6=r3r4 clr c subb a, r6 mov r4, a mov a, r3 subb a, r5 mov r3, a ret ;双字节乘以双字节子程序MULSP: PUSH PSW ;r2r3*r6r7=r2r3r4r5setb rs0 ;乘法子程序。rs0=1,rs1=0;乘法程序用寄存器区1 clr rs1 MOV A, R3 ;计算R3×R7 MOV B, R7 MUL AB MOV R4, B ;暂存部分积 MOV R5, A MOV A, R3 ;计算R3×r6 MOV B, R6 MUL AB ADD A, R4 ;累加部分积 MOV R4, A CLR A ADDC A, B MOV R3, A MOV A, R2 ;计算R2乘R7 MOV B, R7 MUL AB ADD A, R4 ;累加部分积 MOV R4, A MOV A, R3 ADDC A, B MOV R3, A CLR A RLC A XCH A, R2 ;计算R2乘R6 MOV B, R6 MUL AB ADD A, R3 ;累加部分积 MOV R3, A MOV A, R2 ADDC A, B MOV R2, A POP PSW RET;四字节除以双字节子程序1divdsp: PUSH PSW setb rs0 ;除法子程序 clr rs1 CLR C ;比较被除数和除数 MOV A, R3 ;r2r3r4r5/r6r7=r4r5 SUBB A, R7 MOV A, R2 SUBB A, R6 JNC divlop4 mov B, #10h 1divlop1: CLR C ;清CyMOV A, R5 RLC A MOV R5, A MOV A, R4 RLC A MOV R4, A MOV A, R3 RLC A MOV R3, A XCH A, R2 RLC A XCH A, R2 MOV 0H, C ;保存溢出位 CLR C SUBB A, R7 ;计算(R2R3-R6R7) MOV R1, A MOV A, R2 SUBB A, R6 jb 0h, divlop2 jc divlop31divlop2: mov r2, a mov a, r1 mov r3, a inc r51divlop3: djnz B, divlop1 clr 0h ret 1divlop4: setb 0h POP PSW ret………………..双字节除双字节….;被除数放在R0、R1寄存器中,除数放在R3、R2寄存器中。其中R1、R2寄存器分别;放被除数、除数低位数据。商的整数放在Rl、R0寄存器中,小数放在R5、R4寄存器中,;且商的位数精确到小数点后16位。2DIVSP: CLR A ;将商的小数位(R4R5)清0 MOV R4, A MOV R5, A CLR C ORL A, R2 ;判断除数是否为0,如不为0继续,若为0退出 JNZ 2divlop1 ORL A, R3 JZ END_DIV2 ;返回退出2divlop1: MOV R7, #10H ;设置计数常数2divlop4: MOV A, R0 ;被除数左移 RLC A MOV R0, A MOV A, R1 RLC A MOV R1, A MOV A, R4 ;扩充位左移 ADDC A, R4 MOV R4, A MOV A, R5 ADDC A, R5 MOV R5, A MOV A, R4 SUBB A, R2 ;扩充位减除数,结果送R4 MOV R4, A MOV A, R5 SUBB A, R3 MOV R5, A JNC 2divlop3 ;够减转2divlop3(商数加1)执行 MOV A, R4 ;不够减恢复扩充位 ADD A, R2 MOV R4, A MOV A, R5 ADDC A, R3 MOV R5, A2divlop3: CPL C ;进位取反,为商加1做准备 DJNZ R7, 2divlop4 ;若R7为0,转2divlop4执行 MOV A, R0 ;循环完毕 XCH A, R4 MOV R0, A ;商的前半部分取R4,R5的值 MOV A, R1 XCH A, R5 MOV R1, A MOV A, R4 ;最后算出商的前半部分 ADDC A, R4 MOV R4, A MOV A, R5 ADDC A, R5 MOV R5, A MOV 60H, R4 ;将商的前半部分保存到60H,61H中 MOV 61H, R5 MOV A, R0 XCH A, R4 ;把余数取回到R4,R5中 MOV R0, A MOV A, R1 XCH A, R5 MOV R1, A CLR A ;将商(R0,R1)的后半部分清0 CLR C MOV R0, A MOV R1, A MOV R7. #10H ;设置循环次数2divlop6: MOV A, R0 ;把商的后半部分左移一位 RLC A MOV R0, A MOV A, R1 RLC A MOV R1, A MOV A, R4 ;余数左移一位 ADDC A, R4 MOV R4, A MOV A, R5 ADDC A, R5 MOV R5, A MOV A, R4 SUBB A, R2 ;余数减除数 MOV R4, A MOV A, R5 SUBB A, R3 MOV R5, A JNC 2divlop5 ;如果够减,商加1,否则恢复余数 MOV A, R4 ADD A, R2 MOV R4, A MOV A, R5 ADDC A, R3 MOV R5, A2divlop5: CPL C ;进位位取反,为商加1做准备 DJNZ R7, 2divlop6 MOV A, R0 ;把商的后半部分送回到R4、R5中 XCH A, R4 MOV R0, A MOV A, R1 XCH A, R5 MOV R1, A MOV A, R4 ;最后算出商的后半部分 ADDC A, R4 MOV R4, A MOV A, R5 ADDC A, R5 MOV R5, A MOV R0, 60H ; ;把商的后半部分送回到R0、R1中 MOV R1, 61HEND-DIV2: REThex2bcdsp: mov 47h, #0h ;BCD码转换子程序和查字形 mov 48h, #0h mov 49h, #0h mov r6, 46h mov r7, 45h CLR A ;BCD码初始化,入口:r6r7;出口r3r4r5. MOV R3, A ;存放BCD码的r3r4r5清0 MOV R4, A MOV R5, A MOV R2, #16H ;转换双字节十六进制整数,;设置循环计数初值hloop1: CLR C MOV A, R7 ;R7内容左移一位 RLC A MOV R7, A MOV A, R6 ;R6内容左移一位 RLC A MOV R6, A MOV A, R5 ;BCD码带进位自身相加,相当于乘2 ADDC A, R5 DA A ;十进制调整 MOV R5, A MOV A, R4 ADDC A, R4 DA A MOV R4, A MOV A, R3 ADDC A, R3 MOV R3, A ;双字节十六进制数的万位数不超过6;不用调整 DJNZ R2, hloop1 ;处理完16bit mov a, r5 anl a, #0fh ;拆开 mov 47h, a mov a, r5 anl a, #0f0h swap a mov 48h, a mov a, r4 anl a, #0fh mov 49h, a mov dph, #08h ;查字形 mov dpl, #00h mov a, 7Eh movc a, @a+dptr mov 7Eh, a mov a, 7Dh movc a, @a+dptr mov 7Dh, a mov a, 7Ch movc a, @a+dptr mov 7Ch, a ;输出3位BCD码,7CH为高位,;7EH为低位 RET………………..采样程序……..Sample: MOV R1, #30H ;置数据首地址,(R1)=30H MOV R2, #04H ;置通道数 MOV R3, #04H ;置采样次数,对每一个数据扫描四次 MOV @R1, 0 ;内存单元清零 MOV 39H, #00H ;暂存单元清零 MOV R4, #02H ;移位次数置2SLOOP: CLR P1.0 ;采集U01 CLR P1.1 CLR P1.2 CLR P1.3 SLOOP1: ADD A, @R1 MOV @R1, A ;存取累加值 CLR A ADDC A, 39H ;低位字节向高位字节进位 MOV 39H, A DJNZ R3, SL00P1 ;采样次数不够,转移 ACALL FILTER ;算术平均滤波程序,求取4次采样的平;均值FILTER: CLR C MOV A, 39H ;39H中内容右移一位,最低位移入C中 RRC A MOV 39H, A MOV A, @R1 ;@R1内容右移一位,相当于(R1)内容;除以2 RRC A MOV @R1, A DJNZ R4, FILTER ;移位2次,相当于(R1)内容除以4,;即取平均值 ACALL AD574 MOV 31H, 40H MOV 32H, 41H MOV F0, C SETB P1.0 ;采集U02 CLR P1.1 SETB P1.2 CLR P1.3 ACALL SLOOP1 ACALL AD574 MOV 33H, 40H MOV 34H, 41H MOV F0, C CLR P1.0 ;采集U03 SETB P1.1 CLR P1.2 SETB P1.3 ACALL SLOOP1 ACALL AD574 MOV 35H, 40H MOV 36H, 41H SETB P1.0 ;采集U04 SETB P1.1 SETB P1.2 SETB P1.3 ACALL SLOOP1 ACALL AD574 MOV 37H, 40H MOV 38H, 41H MOV F0, C DJNZ R2,SLOOP ;巡回检测4个通道 RET;AD转换程序:AD574: MOV SP, #60H ;主程序开始 MOV R0, #30HALOOP: MOV DPTR,#0DFFCH ;写AD574口地址到DPTR MOV A, #00H MOVX @DPTR,A ;启动AD574进行A/D转换 JNB P3.2, LOOP1 SJMP LOOPALOOP1: MOV DPTR,#0DFFEH ;读高8位数地址到DPTR MOVX A, @DPTR ;读A/D转换高8位数据 MOV 40H, A ;高8位存于40H单元 INC DPTR ;口地址指向DFFFH MOVX A, @DPTR ;读低四位数据 ANL A, #0FH ;屏蔽高4位 MOV 41H, A ;低4位存于41H单元 RET;数据处理程序computesp: MOV R3, 31H MOV R4, 32H MOV R5, 37H MOV R6, 38H LCALL Subssp MOV 40H, R3 ;S1存放在40H、41H单元中 MOV 41H, R4 MOV R3, 33H MOV R4, 34H MOV R5, 37H MOV R6, 38H LCALL Subssp MOV 42H, R3 ;S2存放在42H、43H单元中 MOV 43H, R4 MOV R3, 35H MOV R4, 36H MOV R5, 37H MOV R6, 38H LCALL Subssp MOV 44H, R3 ;S3存放在44H、45H单元中 MOV 45H, R4 MOV R3, 42H MOV R4, 43H MOV R5, 44H MOV R6, 45H LCALL Subssp MOV R2, R3 MOV R3, R4 MOV R6, #98H MOV R7, #88H LCALL MULSP MOV R6, 40H MOV R7, 41H LCALL DIVDSP1 MOV 40H, R4 ;Rt值存放在40H、41H单元中 MOV 41H R5 lvbo: MOV 34H, #3CH ;把下限值的低位存放在34H单元中 MOV 33H, #07H ;把下限值的高位存放在33H单元中 MOV 36H, #88H ;把上限值的低位存放在36H单元中 MOV 35H, #98H ;把上限值的高位存放在35H单元中 CLR C MOV A, 41H SUBB A, 35H CLR C MOV A, 40H SUBB A, 36H JC LOOP1 MOV 48H, #03H ;温度值t存放在48H、49H中 MOV 49H, #52HCLOOP1

温馨提示

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

评论

0/150

提交评论