毕业设计(论文)铂电阻高精度测温系统.doc

上传人:laozhun 文档编号:3030911 上传时间:2023-03-09 格式:DOC 页数:49 大小:434KB
返回 下载 相关 举报
毕业设计(论文)铂电阻高精度测温系统.doc_第1页
第1页 / 共49页
毕业设计(论文)铂电阻高精度测温系统.doc_第2页
第2页 / 共49页
毕业设计(论文)铂电阻高精度测温系统.doc_第3页
第3页 / 共49页
毕业设计(论文)铂电阻高精度测温系统.doc_第4页
第4页 / 共49页
毕业设计(论文)铂电阻高精度测温系统.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《毕业设计(论文)铂电阻高精度测温系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)铂电阻高精度测温系统.doc(49页珍藏版)》请在三一办公上搜索。

1、 浙 江 科 技 学 院 本科学生毕业设计(论文)题 目 铂 电 阻 高 精 度 测 温 仪 学 院 信息与电子工程学院 专业班级 02电子B班 姓 名 学 号 20243047 指导教师 职 称 教 授 年 月 日 目录 摘要3BASTRACT4第1章 绪 论51.1 选题背景51.2 系统整体目标6第二章 方案论证及总体设计721 系统设计思想72.2 89C52简介823 Pt100简介824 A/D7714 简介9第三章 整机电源设计113.1稳压电源设计11第四章 硬件电路设计134.1 温度采集134.1.1测温元件的选择134.2 A/D7714 模数转换154.2.1模数转换选

2、择154.2.2 A/D7714与89C52接口164.2.3 电源去耦164.3 显示电路174.4外部接口电平转换174.5 提高单片机系统抗干扰能力的主要手段18第五章 软件设计205.1程序设计语言与软件开发环境205.1.1程序设计语言的选用205.1.2 系统软件开发环境205.2软件程序设计215.2.1主程序215.2.2 温度采集子程序225.2.3 显示子程序25第六章 结束语26致 谢26参考文献:27附录1281.1系统原理图281.2 查表子程序28附录235铂电阻高精度测温系统浙江科技学院信息学院 02电子B班 指导老师 摘要 介绍一种以单片机AT89C52为核心应

3、用铂电阻进行高准确度测温的系统。24 位的- 型A/ D 转换器AD7714 的应用保证了0. 001 的测量分辨力,温度的采集采用了极其简洁的铂电阻平衡桥电路,测量软件中的对分搜索查表法使铂电阻测温不再存在T/ R 转换的非线性误差,用软件方法进行了测量值的零点和满幅的调准,使测量误差在全量程小于0. 02 。 关键词:铂电阻; 温度测量; 准确度; 查表线性化。 BASTRACTA system of high accuracy temperature measurement with platinum resistorNiSenLin Director: YunTaoQian( Dept

4、.of School of Information And Electronic Engineering Zhejiang University of Science and Technology )A method of proceeding high accuracy temperature measurement with platinum resistor is introduced. A resolution of 0. 001 is guaranteed through the application of 24 bits - A/ D converter AD7714. A ve

5、ry simple balanced bridge of platinum resistor is used in the temperature sampling. Because the bisection searching method in the measuring software is used , there is no nonlinear error of T/ R converting on the temperature measuring with platinum resistor. A full scale error of no more than 0. 02

6、is reached through calibrating the offset and gained with software.Key words: platinum resistor ; temperature measurement ; accuracy; check form method linearity.。第1章 绪 论1.1 选题背景随着社会的进步和工业技术的发展,人们越来越重视温度因素,而目前市场上普遍存在的温度检测仪器大都是温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种实时性高、精度高的测量系统就很有必要。智能温度

7、传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。目前,国际上已开发出多种智能温度传感器系列产品。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(cpu)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。进入21世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性

8、、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。温度的监视和控制可以说是在现在农业最常用的技术,目前农村几乎每家都有离房屋一定距离的室外育秧棚,但大部分使用的是普通温度计,且温度计智能放在育秧棚内,棚内有露水,不易看清温度,需多次来回察看,很不方便,稍微不注意,便会出现温度偏高,秧苗坏死的情况。随着现在信息技术的飞速发展和传统工业的逐步改造的实现,能够独立工作的温度检测、显示及报警系统,迫切需求于现代农业技术。在化工领域中,经常需要检测和控制反应釜中的液体的温度,使之能够稳定在一定的范围之内。只有这样才能得到可靠的试验数据或者得到合格的产品,这就要求系统对温度的检测,具有

9、足够的精度和真实性,控制要有足够的精度,并且尽可能具有较低的成本,这样的产品才具有真实价值。本智能测温恰具有这样的优势,由于其可直接输出数字量,不需要A/D转换,与单片机接口容易,成为原来传统使用的热电偶、热电阻理想的替代品。随着计算机科学和自动化水平的不断提高,各种应用领域都大量采用计算机控制系统计算机控制系统的应用使得科学研究,工农业生产,工艺实践的效率大大提高,同时也大幅度提高了产品和成果的品质由于大量的控制系统的任务较专业化,并且执行的是直接数字控制任务,故基本上采用单片机进行控制单片机是目前控制系统采用最多的器件和芯片,它在军事,航空,航天,交通,工业,农业等领域都有大量的应用综上所

10、述,高精度测温采用单片机控制,将是一个十分先进,安全,实用的系统。这也正是选用此课题做毕业设计的原因.1.2 系统整体目标单片机实时检测被测对象的温度,温度由温度传感器PT100热敏电阻组成的电路来采集,信号送到A/D7714转换器进行模数转换,转换后的数字信号送入89C52单片机进行处理这就是模拟量输入通道。在89C52内部,由软件对采集到的数据进行分析处理。经过单片机查表比较确定温度值送入显示器内显示。 主要性能参数: 环境温度: + 工作电压:% 测量范围:-99+300 测量精度:0.00 控制精度:0.0 显示方式:8位数码管显示基本功能: 实时监测温度 温度显示分辨率千分之一先进的

11、自动复位电路(看门狗复位电路)。 第二章 方案论证及总体设计21 系统设计思想本次设计的目的是设计一个由单片机控制的温度测量系统。系统框图见2-1系统的设计思想如下:单片机实时检测被测对象的温度,温度由温度传感器PT100热敏电阻组成的电路来采集,信号送到A/D转换器进行模数转换,转换后的数字信号送入89C52单片机进行处理这就是模拟量输入通道。在89C52内部,由软件对采集到的数据进行分析处理。经过单片机查表比较确定温度值送入显示器内显示。本系统采用两路Pt100单臂电桥,采用差模方式输入A/D转换电路,这样可以消除热电阻的电热效应对温度的影响,减小测量误差。AD7714是适用于低频测量应用

12、的完整模拟前端。器件直接从传感器接受低电平信号并输出串行数字,和 -差(-)转换技术以实现高达24位的无误码性能,具有3个差分模拟输入(它也可以配置为5个准差分模拟输入)以及差分基准输入,可以对多达5个通道的系统实现信号调理和转换,能够满足千分之一的分辨和小于0.02的精确度而且使用方便。为克服铂电阻的非线性和测温桥路输出的非线性,最行之有效的方法是让单片机采用查表和线性插值法,用高级语言编写的温度表格存在27C64 EEPROM中,显示电路采用8位数码管和MAX7219。 图 2-1 系统框图 2.2 89C52简介89C52是一种低功耗,高性能含有8K字节快闪可编程/擦除只读存贮器的8位微

13、控制器,使用高密度非易失性的存贮技术制造,并且与80C51指令完全兼容,芯片上的E2PROM允许在线或采用非易失性存贮编程器对程序存贮器重复编程。89C52的主要性能包括:1 与MCS-51微控制器产品兼容。2 片内有8K字节可重复编程快闪擦写存贮器(FLASHROM)。从而能缩短擦除或写入数据吞吐的时间,能满足需要高速数据吞吐的场合 。3 编程所需要的所有时序及电压场均无需外部电路提供。4 存贮器可以重复写入1000次。5 存贮器数据保存时间为10年。6 宽工作电压范围,电压可以由2.7V6V提供。7 最大频率可为33MH。8 程序存贮器具有三级锁存保护。9 2568位内部RAM。(可外部扩

14、展到64K)10 32条可编程I/O口线。11 3个16位定时器/计数器。12 中断结构具有6个中断源和4个优先级。13 可编程全双工串行通道。89C51接口除具有与80C51相同的一些性能外,在EPROM编程时,P0口接收代码字节,并在程序校验时输出代码字节,在编程时需要外部上拉负载。综上所述,89C51单片机有其它单片机不可比拟的优点。特别是它的内部的FlashROM,大大提高了编程的速度和效率。而本系统需要对现场进行快速的设置调整。23 Pt100简介 铂热电阻具有精度高、热响应时间快、性能稳定、使用寿命长等优点。由于采用不锈钢外保护管,管内充满高密度氧化物绝缘体,因而具有很强的抗污染能

15、力和机械强度,适用于装配式热电阻无法安装的恶劣环境,也可作为装配式热电阻的感温元件。 铂热电阻可以测量各种生产过程中从-200+500范围内的液体、气体、蒸汽等介质的温度。 Pt100 铂电阻的阻值与温度( R - t) 关系式,在( - 200 0) 的温度范围为R ( t) = R (0 ) 1 + 3. 908 02 10- 3 t - 5. 801 95 10- 7 t2 - 4. 273 50 10- 12 ( t - 100) t3 ;在(0 850) 的温度范围为R ( t) = R (0 ) 1 + 3. 908 02 10- 3 t -5. 801 95 10- 7 t2 式

16、中电阻R 的单位是;温度t 的单位是。Pt100铂电阻是一种在 0.0200.0范围内线性较好的热电阻,外形尺寸:320mm, 2-2 Pt100铂电阻的电阻与温度的对应曲线:Pt100 铂电阻的阻值与温度( R - t) 关系式,在( - 200 0) 的温度范围为R ( t) = R (0 ) 1 + 3. 908 02 10- 3 t - 5. 801 95 10- 7 t2 - 4. 273 50 10- 12 ( t - 100) t3 ;在(0 850) 的温度范围为R ( t) = R (0 ) 1 + 3. 908 02 10- 3 t -5. 801 95 10- 7 t2

17、式中电阻R 的单位是;温度t 的单位是。24 A/D7714 简介一 概述AD7714是适用于低频测量应用的完整模拟前端。器件直接从传感器接受低电平信号并输出串行数字。它使用和 -差(-)转换技术以实现高达24位的无误码性能。输入信号加至专有的基于模拟调制器、具有可编程增益的前端。调制器的输出由片内数字滤波器处理 1。通过片内控制寄存器可对此数字滤波器的第一个凹口编程,允许调整滤波器的截止频率和稳定时间。AD7714具有3个差分模拟输入(它也可以配置为5个准差分模拟输入)以及差分基准输入,可以对多达5个通道的系统实现信号调理和转换。二 特点 24位分辨率 单电源工作(+3V或+5V) AD77

18、14有3个差分模拟输入(也可以是5个伪差分模拟输入)和一个差分基准输入。 片内可编程寄存器可灵活的控制工作状态 自校准、系统和背景校准选择,也允许用户读写片内校准寄存器。 非线性度小于0. 0015 %; 片内含可编程低通滤波器(sin(x)/ x 3滤波器响应) 采用COMS技术,低功耗 第三章 整机电源设计本系统需要+3.3V及+5V的直流电压。在本系统中由于是高精度测温,芯片的热电效应对系统的温度影响不能忽略,所以在集成板中的芯片都用+3.3V供电,显示电路用+5V供电,在铂电阻桥路中,电流过大引起电热效应,从而测温不准确,根据计算当桥路电压用1.25V时,经过铂电阻的电流不超过1mA,

19、电热效应引起的误差为最小。 模/ 数转换器的基准电压与桥路的电源电压共用,这样VC 的波动不会影响测量稳定性和测量精度。3.1稳压电源设计 1. +5V 电源设计 工作原理:图中为T1电源变压器,它的作用是将交流电网电压V1变为整流电路要求的交流电压 ,四只整流二极管D1 D4接成电桥的形式,故有桥式整流电路之称。先计算文件参数:二极管D1、D3和D2、D4两两轮流导通的,所以流经每个二极管的平均电流为ID=IC=0.45。二极管在截止时管子两端承受的最大反向电压可以从图1中看出。在正半周时D1、D3导通,D2、D4截止。此时D2、D2所承受的最大反向电压均为的最大值。即=同理,在的负半周,D

20、、D也承受到同样大小的反向电压+5V电源电路如图所示。 3-1直流电压源示意图 2. +3.3V电源设计工作原理:电压转换采用MAXIM 公司的MAX640 降压型DC-DC转换芯片和储能电感L,整流肖特基二极管IN4148以及输入输出滤波电容C1和C2组成一个简单高效的开关式DC-DC转换器可将4V-11V的输入电压转换为稳定的3.3V输出效率在10mA-100mA的负载范围内高于85%。如图3-2所示: 3-2 3.3V 电压源示意图 第四章 硬件电路设计铂电阻具有准确度高、性能稳定、互换性好、耐腐蚀及使用方便等一系列优点,一直是工业测控系统中广泛使用的一种比较理想的测温元件。为了满足温度

21、测控的高准确度要求 ,对仪器的铂电阻测温系统采用了较新的器件和进行了精心的软硬件设计。为了提高测量分辨力和测量准确度,采用了24 位的- 型A/ D 转换 AD7714 ,结合A/ D 转换器的输入特点,铂电阻温度采集桥路中桥臂电阻的计算方法;软件查表法是消除测量电路非线性的有效手段,采用软件调准的方法,既不增加硬件开销又抑制了绝大部分误差对测量的影响。过采用先进芯片技术和发挥智能软件的作用,使仪器温度测量分辨力达到了0. 001 , 在全量程- 90450 内误差小于0. 02 。4.1 温度采集4.1.1测温元件的选择 由于本系统对测温元件的精度要求很高,测温的范围较大,而且不是测点的温度

22、,热敏电阻Pt100 铂在氧化性介质或高温中有较好的物理和化学性质的稳定性,因此,利用铂制作的铂电阻温度传感器有较好的精度。它不仅作为工业上的测温元件,而且还作为复现热力学温标的基准。热敏电阻温度计的最大特点是测温精度高,在测量500以下温度时,它的输出信号比热电偶大得多,性能稳定,灵敏度高。所以在-200500的温区内,对于较精密的温度测量,常选用铂电阻温度传感器。所以根据要求本系统选用热敏电阻PT100作为测温元件。1) 铂电阻选择铂电阻温度传感器的精度与铂丝的纯度有关,通常用电阻比R100/R0来衡量铂丝的纯度,其中R100和R0分别为铂电阻传感器在100和0的电阻值。IEC标准规定R1

23、00/R0=1.3850。铂电阻在0时的电阻值可分为二种:100和10,其中优选值为100。0时电阻值为10的铂电阻传感器一般用于600以上温度的测量。本次设计选Pt100。2) 铂电阻温度与电阻的关系在-2000范围内,铂电阻的电阻值Rt与温度t的关系为: Rt=R01 + At + Bt2 +C(t -100)t3 (式4-1)在0800范围内,Rt与t的关系为: Rt=R0(1 + At + Bt2) (式4-2)式中Rt温度为t时铂电阻的电阻值; R00时铂电阻的电阻值; A、B、C分别为常数,其数值为: A=3.9080210-3/ B= -5.80210-7/2 C= -4.273

24、5010-12/4满足上述关系的铂电阻,其温度系数为: =3.85010-3/3) 误差分析铂电阻按允许偏差可分为A和B二个等级,它们的允许误差为(0.15+0.002|t|)和(0.300.005|t|)。铂电阻的缺点主要是易碎,且一般不易测量点温。4)温度值计算由铂电阻温度与电阻的关系可知,如果根据式4-1和式4-2进行温度计算,需要求解二阶和三阶方程的解,计算程序复杂,精度也难以保证。为克服铂电阻的非线性和图1 所示测温桥路输出的非线性,我们认为最行之有效的方法是让单片机采用查表和线性插值法. 5) 平衡电桥电阻选择 当取R1 = R2 = R 时,桥路中两个平衡点AN1和AN2 上的电

25、位分别为V AN1=R T/(R + R T)V C , (1)V AN2=R0/(R + R0)V C , (2)所以,模数转换器的输入电压为V IN = V AN1- V AN2=R ( R T - R0)/(R2 + R R T + R R0 + R0 R T)V C , (3)取AD7714 为双端输入,在片测量放大器的放大增益系数为32 时, 则AD7714 的满量程输入值V INMAX 为1.25 V/ 32 = 39 mV。所以,当V C = 1.25 V ,RT = 138. 5(Pt100 铂电阻在100 时的电阻值) ,R0 = 100(Pt100 铂电阻在0 时的电阻值)

26、 和V IN = 39mV 时,可从式(3) 的二次方程中解得桥路电阻器R的两个值:2300和6. 229。考虑到电流大了会产生热效应,R 的值取前者。为保证测量准确度和稳定度,R和R0 采用了精密线绕电阻器. 为保证模拟转换器件AD7714 的测量线性度,应将测量线路中的模拟地和数字地严格分开,只在一点相连,铂电阻平衡桥电路的接地端和基准参考源的接地端接到了器件的模拟地,晶振电路的接地端接到了器件的数字地。模拟电路设计如图4-1 4-1 温度采集电桥4.2 A/D7714 模数转换4.2.1模数转换选择本系统要求的控制精度很高(小于0.02),一般的A/D转换器不能满足测量要求,为保险起见选

27、用24位的A/D 转换器,本系统选用AD7714 。模数转换器AD7714 是- 型串行输出模数转换器2 ,它使用和差转换技术以实现高达24 位的无误码性能。AD7714 的非线性度小于0. 0015 %;它具有的前端可编程放大器的增益值在1128 内可控;片内含可编程低通滤波器,允许调准滤波器的截止频率和稳定时间;使用单电源工作;尤其是简单的三线数据接口,不仅简化了对器件的操作,而且减少了对系统资源的占用。4.2.2 A/D7714与89C52接口AD7714和AT89C52的接口可以通过两种方式 实现,一种是用AT89C52的RXD(P3.0)与AD7714的DATAIN和DATAOUT进

28、行数据传送, 并利用AT89C52的TXD自带的时钟信号提供给AD7714的SCLK;一种是用AT89C52的某一端 口位(如P1.0)与AD7714的DATAIN和DATAOUT进行数据传送,对另一端口位(如 P1.1)编程产生时钟信号以提供给AD7714的SCLK。本系统用第二种连接方式,是用AT89C52的某一端 口位 P1.2与AD7714的DATAIN和DATAOUT进行数据传送,对另一端口位P1.5编程产生时钟信号以提供给AD7714的SCLK。并通过P1.4监视 通信寄存器的DRDY位以确定数据寄存器何时有新数据,当然也可以用AT89C52的一个端口位与 AD7714的DRDY引

29、脚相连,以轮询的方式来确定,另外还可以以中断方式来实现。如图4-2所示: 4-2 A/D7714与89C52接口4.2.3 电源去耦 当使用TLC2543这种12位器件时,必须注意电路板设计,每个集成电路的电源必须用一个0.1u的陶瓷电容连接地端,用作去耦。推荐每个电源端和陶瓷电容并联一个10uF的电容,特别是在噪声环境。4.3 显示电路本系统显示电路采用MAX7219芯片驱动8位数码管,MAX7219芯片就是用于动态扫描显示驱动的芯片。该芯片的特点是利用一块芯片就能完成8位字数据和8位线数据的驱动,使得电路紧凑。多芯片级联时,采用串行输入输出,可节省CPU的口线和接口芯片。与数码管联接时无需

30、限流电阻,8位显示的电流可通过一个外部电阻进行调节。显示亮度也可通过程序进行控制。片内具有BCD码译码选择,可以对输入的数据先进行译码再驱动输出,也可以将输入的数据直接驱动。如图4-3 所示 4-3 MAX显示电路4.4外部接口电平转换 本系统采用MAX202电平转换芯片,MAX202使用+5V电压供电,片内有电压倍增器和电压变换器,输出RS232需要的10V电平,内部有两个发送器和两个接收器。每个发送器输出和接收器输入勿需封闭便可抗15kV静电放电的冲击,在数据率达120kb/S时符合RS232的传输指标。MAX202只需四个外接电容就可正常工作。四个电容应选择体积较小、受温度影响较小的独石

31、瓷片电容(0.1F)。图4-4 为MAX202与单片机的接口电路 4-4 MAX202与89C51接口电路4.5 提高单片机系统抗干扰能力的主要手段1. 接地这里的接地指接大地,也称作保护地。为单片机系统提供良好的地线,对提高系统的抗干扰能力极为有益。特别是对有防雷击要求的系统,良好的接地至关重要。上面提到的一系列抗干扰元件,意在将雷击、浪涌式干扰以及快脉冲群干扰去除,而去除的方法都是将干扰引入大地,如果系统不接地,或虽有地线但接地电阻过大,则这些元件都不能发挥作用。为单片机供电的电源的地俗称逻辑地,它们和大地的地的关系可以相通、浮空、或接一电阻,要视应用场合而定。不能把地线随便接在暖气管子上

32、。绝对不能把接地线与动力线的火线、零线中的零线混淆。2. 隔离与屏蔽典型的信号隔离是光电隔离。使用光电隔离器件将单片机的输入输出隔离开,一方面使干扰信号不得进入单片机系统,另一方面单片机系统本身的噪声也不会以传导的方式传播出去。屏蔽则是用来隔离空间辐射的,对噪声特别大的部件,如开关电源,用金属盒罩起来,可减少噪声源对单片机系统的干扰。对特别怕干扰的模拟电路,如高灵敏度的弱信号放大电路可屏蔽起来。而重要的是金属屏蔽本身必须接真正的地。3. 滤波滤波指各类信号按频率特性分类并控制它们的方向。常用的有各种低通滤波器、高通滤波器、带通滤波器。低通滤波器用在接入的交流电源线上,旨在让50周的交流电顺利通

33、过,将其它高频噪声导入大地。低通滤波器的配置指标是插入损耗,选择的低通滤波器插入损耗过低起不到抑制噪声的作用,而过高的插入损耗会导致“漏电”,影响系统的人身安全性。高通、带通滤波器则应根据系统中对信号的处理要求选择使用。印制电路板的设计对单片机系统能否抗干扰非常重要。要本着尽量控制噪声源、尽量减小噪声的传播与耦合,尽量减小噪声的吸收这三大原则设计印制电路板和布线。当你设计单片机用印制电路板时,不仿对照下面的条条检查一下。印制电路板要合理区分,单片机系统通常可分三区,即模拟电路区(怕干扰),数字电路区(即怕干扰、又产生干扰),功率驱动区(干扰源)。印刷板按单点接电源、单点接地原则送电。三个区域的

34、电源线、地线由该点分三路引出。噪声元件与非噪声元件要离得远一些。使用满足系统要求的最低频率的时钟,时钟产生器要尽量靠近用到该时钟的器件。石英晶体振荡器外壳要接地,时钟线要尽量短,且不要引得到处都是。使用45度的折线布线,不要使用90度的折线,以减小高频信号的发射。时钟线垂直于I/O线比平行于I/O线干扰小,时钟线要远离I/O线。每个集成电路要加一个去耦电容,要选高频信号好的独石电容式瓷片电容作去耦电容。去耦电容焊在印制电路板上时,引脚要尽量短。需要时,电源线、地线上可加铜线绕制铁氧用体而成的高频扼流器件阻断高频噪声的传导。 第五章 软件设计 5.1程序设计语言与软件开发环境5.1.1程序设计语

35、言的选用 本设计中采用的处理器是AT89C52单片机,由此可采用面向MCS-51的程序设计语言,包括ASM51汇编语言和C51高级语言,这两种语言各有特点。汇编语言更接近机器语言,常用来编制与系统硬件相关的程序,如访问I/O端口、中断处理程序、实时控制程序、实时通信程序等;而数学运算程序则适合用C51高级语言编写,因为用高级语言编写运算程序可提高编程效率和应用程序的可靠性。 考虑到汇编语言的以下特点,在智能测控装置的基本功能软件开发中,全部程序均采用ASM51汇编语言编写: 1. 汇编语言是最基本的程序设计语言。迄今为止,汇编语言仍然是计算机系统底层软件(例如汇编程序、PC机的BIOS等)设计

36、的基本语言; 2. 能充分利用机器的硬件功能与结构特点。汇编语言与机器语言密切相关,因此能透彻地反映计算机硬件的功能与特点。程序员可充分利用机器硬件系统的许多特性(如寄存器、标志位以及一些特殊指令等)。这样能充分发挥程序设计的技巧; 3. 用汇编语言编写的程序比起用高级语言编写程序具有更高的系统性能。汇编语言程序具有执行速度快和节省存储空间的特点,它可以精确地描述算法,把计算过程和控制过程刻画得更具体; 4. 实时性能好。用汇编语言编制的程序可以对各种接口芯片及I/O端口直接进行控制,实时性能好。对于一些应用领域(例如工业监控系统等)汇编语言是不可缺少的,一般高级语言不适合这种应用,因为一般高

37、级语言不能充分地利用计算机硬件所提供的诸如中断等方面的功能。5.1.2 系统软件开发环境 本系统采用wave2000编译器,该编译器简单实用,Wave2000编译器可在Windows操作系统下直接使用,编译汇编源程序,并生成16进制文件和列表文件,调试器采用Windows系统,允许用户使用AT89C52的UART串行接口在芯片上调试代码执行。在典型调试对话中,调试器提供对片内所有外围设备的访问、单步和设置断点的代码执行控制方式。模拟器采用Windows系统,能完全模拟AT89C52的所有功能。模拟器使用简单,结合了许多标准调试特征,包括多断点、单步以及代码执行跟踪等能力。5.2软件程序设计5.

38、2.1主程序主程序主要实现系统的初始化,显示数据初始化。系统的初始化包括寄存器的初始化(控制寄存器、堆栈、中断寄存器等),MAX7219的初始化,输出端口的初始化,采集、累计数据的初始化。 显示数据包括数据转换(主要实现将各类参数、测量数据、计算累计值等转换成数码管显示所需的数据类型)和显示屏的刷新(包括刷新采集数据屏和根据按下的键更改显示屏)。结构框图如下5-1: 开 始系 统 初 始 化温度采集是否完成YN 调用查表子程序调用显示子程序 图5-1 主程序框图5.2.2 温度采集子程序1.线性花方法的实现 查表子程序是本系统最关键,最复杂的程序,由于是铂电阻电桥测温度,根据铂热电阻的特性,测

39、温时存在一定的非线性,为了达到0.001的分辨率和0.02的精确度,必须进行线性化设计,Pt100 铂电阻的阻值与温度( R - t) 关系式, 在( - 200 0) 的温度范围为R ( t) = R (0 ) 1 + 3. 908 02 10- 3 t - 5. 801 95 10- 7 t2 - 4. 273 50 10- 12 ( t - 100) t3 ;在(0 850) 的温度范围为R ( t) = R (0 ) 1 + 3. 908 02 10- 3 t -5. 801 95 10- 7 t2 , (5)式中电阻R 的单位是;温度t 的单位是。如果根据式(4) ,式(5) 和式(

40、3) 进行温度计算,需要求解二阶和三阶方程的解,计算程序复杂,准确度也难于保证。为克服铂电阻的非线性和图4-1 所示测温桥路输出的非线性,最行之有效的方法是让单片机采用查表和线性插值法,以从A/ D 输入的V IN 值再现实时温度值。首先以温度在- 90 100 范围内每增加1 对应的A/ D 输入电压对应的数字量N ( t) 在单片机程序存储区建立190个表格,每格三个字节。表格值N ( t) 的计算可用高级语言编程,先从式(4) 和式(5) 以步距1 计算出铂电阻R ( t) 的分度值表,然后代入式(3) 中得190 个V IN ( t) 值,再由下式转换成偏移的数字量为N ( t) =V

41、 IN ( t)/V INMAX223 + 223 , (6)式中V INMAX 为器件的满量程输入值,为AD7714 的基准电压值除于放大器增益; (1.25/ 32) V。循环计算后的397个N ( t) 值转换成16进制后复制粘贴到单片机汇编程序中,制表即告完成。单片机启动A/ D 转换后得到的结果与表格内的N ( n) 进行比较,直到N ( n) N ( t) N ( n +1) 时停止比较,此时N ( t) 所在的表格地址减去表格首址即为被测温度值的整数部分。在N ( t) 值的比较查找中,程序采用了对分搜索法,既每次比较都取表长的1/ 2处的值进行比较,大于则下次比较取后半张表的1

42、/ 2 处进行;小于则取前半张表的1/ 2 处进行比较,如此循环进行,直到N ( n) N ( t) N ( n +1) 时停止,极大地提高了查找的速度。接着再应用线性插值法计算N ( t)的小数部分,由N ( t) - N ( n) 和N ( n + 1) - N ( n)的千分比值即可得出三位小数。经仿真计算, 在- 90 300 范围内, 应用线性插值法所引起的误差不大于0. 000 3 ,远小于仪器的显示分辨力。T 值与Vin 的关系式如下 D(0)=439.932854,D(1)=472.418020,D(2)=37.684494,D(3)=7.472018D(4)=2.292082

43、8,D(5)=0.005184,D(6)=-0.963864,D(7)=-0.188732 D(8)=0.191203,D(9)=0.049025 T=D(i)Wt-2.64/1.64i Wt=Rt/Rtp,Rtp=25 Rt=R2+R*R0+R*R0*2500*223/Vin*39/R*2500*223/Vin*39-R-R0对分查找程序框图如下程序的入口为:表格首址送实时表址寄存器, 将名义表长送表长寄存器。名义表长= 2 k L , 2 k 为表格数的最小二进制数模,如表格数为1 300 , 则211 = 2 048 ; L 为每个表格的字节数,式中L = 3 。图 5-2 对分查找程序

44、框图 2A/D7714编程和数据读取 在运行AD7714 时,首先要对AD7714 进行设置编程。每项编程操作都要分为两步进行,先向通信寄存器写入控制字,再把相关数据写入对应的寄存器。图5-3 是AD7714 的设置编程和数据读取流程图。AD7714 的片内数字滤波器是一个SinC3滤波器,12 位滤波寄存器中FS11FS0 由滤波高位寄存器的低4 位FS11FS8 和滤波低位寄存器FS7 FS0 所构成, FS11FS0 用于滤波器第一陷波点的选择,同时也决定A/ D 数据的输出速率。第一陷波点频率等于( f CLK/ 128) / N , 其中f CLK为AD7714 的外接晶振频率, N 为FS11FS0 所表示的十进制大小。由图2 中(A) 和(B) 所示,将FS11FS0 设置为# 600H ,这时第一陷波点频率 1215 Hz ,既为工频周期的整数倍,又满足了AD7714 在输出频率小于60 Hz 时才能保证24 位无误码的要求。(A) 同时选AN1/ AN2 差分双极性输入,24 bit 字长。图5-3 中的( C) 编程模式寄存器, 8 BIT 模式寄存器编码001XXX00B 中的高3BIT001 选择器件自校正,AD7714 有多达7 种的片内校准方式,零刻

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号