远程温度采集仪的设计 【毕业设计+开题报告+文献综述】

远程温度采集仪的设计 【毕业设计+开题报告+文献综述】

ID:438299

大小:798.72 KB

页数:50页

时间:2017-08-02

上传者:U-944
远程温度采集仪的设计 【毕业设计+开题报告+文献综述】_第1页
远程温度采集仪的设计 【毕业设计+开题报告+文献综述】_第2页
远程温度采集仪的设计 【毕业设计+开题报告+文献综述】_第3页
远程温度采集仪的设计 【毕业设计+开题报告+文献综述】_第4页
远程温度采集仪的设计 【毕业设计+开题报告+文献综述】_第5页
资源描述:

《远程温度采集仪的设计 【毕业设计+开题报告+文献综述】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

本科毕业设计文献综述电气工程及其自动化远程温度采集仪的设计前言数据采集是获取信息的一种重要手段。数据采集以传感器、信号测量与处理、微型机算机等技术为基础的一门综合的应用技术[1]。其中温度数据采集的涉及到生活、工业、气象等各方面领域,从而对温度数据的采集的研究也显得格外重要。生活上测量温度的基本方法是使用温度计直接读取温度,如水银玻璃温度计等。它们常常以刻度的形式表示温度的高低,人们必须通过读取刻度值的多少来测量温度。而利用MCU和温度传感器构成的电子式智能温度计就可以直接将测量的温度值显示在数码管、液晶或者PC机上,既简单方便,又直观准确[2]。正文本次设计要求的采集温度为0℃~600℃,一般测温元件采用铂热电阻温度传感器,利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、复现性和稳定性好等特点,被广泛用于中温(-200℃~600℃)的范围测量中。根据单片机设计的要求的不同,温度测量系统的设计也有所不同,有采用集成芯片的,也有采用恒流源器件和恒压源器件[2]。PT100是一种广泛应用的测温元件,在-50℃~600℃范围内具有其他任何温度传感器无可比拟的优势,包括高精度、稳定性好、抗干扰能力强等。由于铂热电阻的电阻值与温度成非线性关系,所以需要进行非线性校正。利用PT100铂热电阻非平衡电桥构成测温前向通道,结合曲线拟合方法有效地消除了测温过程中所引起的非线性误差,实现了茶花精揉过程中温度的自动检测与控制。此方法在较低温段能保证有很好的线性关系,但在200度以上线性度不能保证,而且需要复杂的运算,从而有可能增加软件运行时间,所以200度以上达不到精准测量。33 1.王龙在基于铂热电阻PT100的高精度温度测控系统设计中由PT100铂电阻检测,经温度信号放大和数字处理变成统一的标准信号后送给显示仪表,且将显示值记录下来,送到控制单元,在此与温度设定值进行比较,并进行比例(P),积分(I)以及微分(D)运算后,其输出经放大器放大,推动执行机构,以脉宽的形式控制执行机构电压的平均值,从而达到自动控制温度的目的[4]。2.陈志文,王玮在基于PT100铂热电阻的温度变送器设计与实现中利用Ptl00铂热电阻的电阻~温度函数关系,将温度信号转换为电压信号,经过两级放大电路对电压信号进行放大,再将电压信号转换为标准的电流信号输出。在A/D温度采集时,利用精密电流电压转换芯片,将电流信号转换为标准的电压信号[5]。其中LP2951作为稳压电源电路主要集成块,放大电路采用LM258集成块。3.张修太,胡雪慧等在基于PT100的高精度温度采集设计系统设计与实现研究中介绍了温度采集系统的硬件、软件设计和实验研究。系统由下位机和上位机构成,下位机硬件主要由温度传感器PT100、由仪用放大器AD620构成的调理电路、A/D转换器MAX197和微控器AT89S52构成,上位机为PC机。下位机软件用C言语编写,上位机软件用VB6.0设计而成。在恒流源的激励下,PTIO0的阻值随温度的变化转换成电压的变化,调理电路对电压信号进行放大、变换,输出0V-5V的标准信号,经A/D转换送下位机,再通过串行通信上传给Pc机进行存储、显示和图形化。系统采用分段线性化算法,利用MATLAB软件进行最小二乘法线性拟合,得到不同温度区间上的标度变换算法[6]。校正分为模拟电路校正和微处理器数字化校正,模拟校正有很多现成的电路,其精度不高且易受温漂等干扰因素影响,数字化校正则需要在微处理系统中使用,将PT100电阻的电阻值和温度对应起来后存入EEPROM中,根据电路中实测的AD值以查表方式计算相应温度值。常用的PT100电阻接法有三线制和两线制,其中三线制接法的优点是将PT100的两侧相等的导线长度分别加在两侧的桥臂上,使得导线电阻得以消除[7]。小结33 本次设计系统控制器采用ATMEL公司生产的低功耗、高性能、强抗静电、强抗干扰功能的STC12C5A16S2,此单片机自带A/D转换口(P1.0-P1.7),有8路10位高速A/D转换器,速度可达250KHz(25万次/秒)。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等,用户可以通过软件设置将8路中任何一路设置为A/D转换,不需要作为A/D使用的口可继续作为I/O口使用。此单片机采用逐次比较型的ADC。利用此芯片使检测电路无需单独一块A/D转换,从而使电路更加简单,又能满足设计要求。上位机监控软件设计采用VisualBasic6.0编程语言编写。MicrosoftCommunicationsControl(以下简称MSComm)是Microsoft公司提供的简化WindowsXP/98下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。控件将进行上位机与下位机的通信。MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,因其可移植性高,因而在VC、VB等语言中都可使用。参考文献:[1]夏益明,杜敏.AT89C2051在加热炉温度采集系统中的应用[J].电子世界,2005(10):35~37.[2]才智,范长胜,杨东霞.PT100铂热电阻温度测量系统的设计.《现代电子技术》.2008第(20):15~17.[3]刘同召,朱亚明等.PT100铂热电阻在雨花茶精揉机温度控制中的应用.江西农业学报,2009[4]王龙.基于铂电阻PT100的高精度温度测量电路测控系统设计.吉林大学学报,2005,30(3):72~75.[5]陈志文,王玮.基于PT100铂热电阻的温度变送器设计与实现.现代电子技术,2010(8):45~47.[6]张修太,胡雪惠等.基于PT100的高精度温度采集系统设计与实验研究.传感器技术学报,2010.[7]刘兵,努尔买买提·阿布都拉.基于PT100的温度测控实验装置的开发与使用.新疆大学学报(自然科学版),2008,26(3):32~41.[8]于莹莹.新型PT100传感器智能温度测量系统的研究与开发[J].电大理工,2002(10):28~35.[9]张烂漫.一种优化的精密温度测量方法[J].机电工程,2009,26(9):58~59.[10]李平,张健.基于单片机C8051F350的温度测量系统设计.天中学刊.2010,20(9):45~48.[11]杨佩璐.基于VB6.0实现PC机与单片机的串行通信[J].中国集体经济·科技研发,2004(4):154~157.33 [12李湘江,彭建.基于VB的实时数据采集程序的设计[J].[13华,陈旭忠,李占芳等.基于VB与单片机串行通信的数据采集系统的设计[J].煤炭工程,2007(12):25~27.[14雷建龙,李秉玉.基于89C2051单片机的远距离高精度温度测控电路[J].中国仪器仪表,2003.[15赵晓安.MCS-51单片机原理及应用[M].天津:天津大学出版社,2001.33 毕业设计开题报告电气工程及其自动化远程温度采集仪的设计一、综述本课题国内外研究动态,说明选题的依据和意义国内外研究动态:在生产和科学研究中,为了便于测量结果准确一致,需要给物体冷热程度定量的描述。固此,有必要建立适当的标尺来衡量物体的冷热程度,以便科学地描述物体各种性能随温度变化的关系。温标就是温度的数值表示方法,它是借助于随温度变化而变化的物理量来定义温度数值的。各种各样温度计的数值都是由温标来决定的。所可以说温标就是温度的标尺。温标是表示温度数值的一套规则,它明确了温度的单位。温度测量离不开温标的概念,温标是温度测量中的参照标准。随着社会生产及科学技术的进步,温标的复现也在不断地发展。大约每20年对温标作一次较大的修改或更新。1990年国际温标是根据第18届国际计量大会第7号决议的要求,由第77届国际计量委员会于1989年会议通过的。本世纪初国际权度局制定的“标准温标范”范围从0℃到100℃,其复现性为0.02℃,随着科学技术的发展,标准温标的复现精度大幅提高,前苏联计量科学研究院在0℃~400℃范围内温标定点精度达0.0005℃,美国标准局水三相点的温度复现性达0.0001℃。最早的温度计是在1593年由意大利科学家伽利略(1564~1642)发明的。他的第一只温度计是一根一端敞口的玻璃管,另一端带有核桃大的玻璃泡。使用时先给玻璃泡加热,然后把玻璃管插入水中。随着温度的变化,玻璃管中的水面就会上下移动,根据移动的多少就可以判定温度的变化和温度的高低。这种温度计,受外界大气压强等环境因素的影响较大,所以测量误差大。伽利略发明的第一个温度计点击此处查看全部新闻图片后来伽利略的学生和其他科学家,在这个基础上反复改进,如把玻璃管倒过来,把液体放在管内,把玻璃管封闭等。比较突出的是法国人布利奥在1659年制造的温度计33 ,他把玻璃泡的体积缩小,并把测温物质改为水银,这样的温度计已具备了现在温度计的雏形。以后荷兰人华伦海特在1709年利用酒精,在1714年又利用水银作为测量物质,制造了更精确的温度计。他观察了水的沸腾温度、水和冰混合时的温度、盐水和冰混合时的温度;经过反复实验与核准,最后把一定浓度的盐水凝固时的温度定为0℉,把纯水凝固时的温度定为32℉,把标准大气压下水沸腾的温度定为212℉,用℉代表华氏温度,这就是华氏温度计。在华氏温度计出现的同时,法国人列缪尔(1683~1757)也设计制造了一种温度计。他认为水银的膨胀系数太小,不宜做测温物质。他专心研究用酒精作为测温物质的优点。他反复实践发现,含有1/5水的酒精,在水的结冰温度和沸腾温度之间,其体积的膨胀是从1000个体积单位增大到1080个体积单位。因此他把冰点和沸点之间分成80份,定为自己温度计的温度分度,这就是列氏温度计。华氏温度计制成后又经过30多年,瑞典人摄尔修斯于1742年改进了华伦海特温度计的刻度,他把水的沸点定为零度,把水的冰点定为100度。后来他的同事施勒默尔把两个温度点的数值又倒过来,就成了现在的百分温度,即摄氏温度,用℃表示。华氏温度与摄氏温度的关系为℉=9/5℃+32,或℃=5/9(℉-32)。现在英、美国家多用华氏温度,德国多用列氏温度,而世界科技界和工农业生产中,以及我国、法国等大多数国家则多用摄氏温度。随着科学技术的发展和现代工业技术的需要,测温技术也不断地改进和提高。由于测温范围越来越广,根据不同的要求,又制造出不同需要的测温仪器。下面介绍几种。气体温度计多用氢气或氦气作测温物质,因为氢气和氦气的液化温度很低,接近于绝对零度,故它的测温范围很广。这种温度计精确度很高,多用于精密测量。电阻温度计分为金属电阻温度计和半导体电阻温度计,都是根据电阻值随温度的变化这一特性制成的。金属温度计主要有用铂、金、铜、镍等纯金属的及铑铁、磷青铜合金的;半导体温度计主要用碳、锗等。电阻温度计使用方便可靠,已广泛应用。它的测量范围为-260℃至600℃左右。温差电偶温度计是一种工业上广泛应用的测温仪器。利用温差电现象制成。两种不同的金属丝焊接在一起形成工作端,另两端与测量仪表连接,形成电路。把工作端放在被测温度计,工作端与自由端温度不同时,就会出现电动势,因而有电流通过回路。通过电学量的测量,利用已知处的温度,就可以测定另一处的温度。这种温度计33 多用铜——康铜、铁——康铜、镍铭——康铜、金钴——铜、铂——铑等组成。它适用于温差较大的两种物质之间,多用于高温和低浊测量。有的温差电偶能测量高达3000℃的高温,有的能测接近绝对零度的低温。高温温度计是指专门用来测量500℃以上的温度的温度计,有光测温度计、比色温度计和辐射温度计。高温温度计的原理和构造都比较复杂,这里不再讨论。其测量范围为500℃至3000℃以上,不适用于测量低温。选题的依据和意义:温度是表征物体冷热程度的物理量,是国际单位制中七个基本物理量之一。温度测量是工业、农业、国防和科研等部门最普遍的测量项目。它在工农业生产、现代科学领域及高新技术开发中也是一个极其普遍而且重要的测量参数。随着科学技术水平的不断提高,温度测量技术也得到了不断的发展。实用的温度传感器种类繁多,但在工业部门多采用辐射温度计及热电偶。热电偶与热电阻约占1/3,这与日本铁钢协会的调查结果相符。国内绝大部分采用接触式测温,热电偶与热电阻的用量占98%。国外辐射测温技术的蓬勃发展,已引起国内有关人士的重视,近几年有了明显变化。温度测量方法有很多,测量原理也多样性。一般分为接触式测温方法和非接触式这两大类。接触式测量方法一般包括膨胀式测温、电量式测温、触式光电和热色测温等几大类。接触式测温法在测量时需要与被测物体或介质充分接触,一般测量的是被测对象和传感器的平衡温度,在测量时会被测温度有一定干扰。非接触式测温方法主要包括辐射式测温、光谱法测温、微光干涉测温、声波和微波法测温。非接触式测温方法不需要与被测对象接触,因而不会干扰温度场,动态响应特性一般也很好,但是会受到被测对象表面状态或测量介质物性参数的影响。33 传统的热电偶、热电阻测温方法以及技术的成熟、结构简单、使用方便等特点,在未来温度测量领域中,依然能够广泛使用。随着新材料、新工艺以及一些新的技术的发展,其应用范围更加拓展。在传感器结构改进方面,出现了薄膜温度传感器,它是随着薄膜技术的成熟而发展起来的新型微传感器,其敏感元件为微米级的薄膜,具有体积小、热干扰小、热动态响应时间短、灵敏度高、集成和安装的特点,且具有耐磨、耐压、耐热冲击和抗剥离的优良性能,特别适合微尺度或小空间温度测量、表面温度的测量等场合。近年来发展的陶瓷薄膜热电偶,可以测量更高的温度,克服了金属薄膜热电偶的一些催化效应和冶金效应等缺点,在高温表面温度测量领域应用更为广泛。在热电偶材料方面,一些类型的热电偶得到了提高,并出现了一些新型热电偶类型:(1)N型热电偶越来越来受到重视。与K型热电偶相比,N型热电偶的高温稳定性与使用寿命均明显提高。目前国外N型热电偶得到了广泛的应用,而国内应用仍旧不是很普遍,但随着对加工产品质量控制要求的提高,N型热电偶使用将会越来越广泛;(2)钨铼热电偶抗氧化技术得到了发展,拓宽了其应用领域;(3)一些非标准分度的金属、非金属热电偶正在研究并逐渐得到应用。随着光电和红外线探测器的发展,出现了多种多样的所谓的辐射式测温技术,如红外测温仪,红外测温技术也得到了更多的应用。近几年光纤测温技术是温度测量技术发展的重点之一,利用其原理制作的光纤多点温度传感器,可以应用在油井温度测量、大坝或地质灾害监测、飞机蒙皮的健康监测等场合。在动力工程中,利用热电阻作为传感器最为广泛,研究此类课题,对当今工业领域有着重要意义。热由于其在测温时它与被测物体直接接触不受中间介质的影响,所以在工业温度测量有较高的准确性。二、研究的基本内容,拟解决的主要问题:研究的基本内容:1、设计一套远程温度采集设备。2、采集温度范围0~600℃,精度1度。3、采集结果可在计算机屏幕上显示。4、通信距离大于100米。需解决的主要问题:1、当下温度采集的方法多种多样,同时对不同的范围的温度测量有不同的传感器对其进行检测,既如何解决本毕业设计采用何种温度传感器以及采用哪种检测方法更加合理可靠等问题?2、对于微控制处理芯片的选择?3、对于短距离数据传送和远程数据传送之间有何差别?4、采用哪种语言进行对上位机软件的设计以及如何将下位机与上位机能很好的连接?33 三、研究步骤、方法及措施:通过学校图书馆数据库、馆藏书籍查询相关资料信息,整理文献资料,按计划进行毕业设计:1.硬件电路的设计:首先弄清楚LED显示的原理,设计好原理图,并找到合适的元件,利用PROTEL软件绘制原理图,然后进行PCB图的绘制。2.硬件电路的安装:在实验室进行硬件的安装,并做好检查与调试,确保硬件安装的完整性。3.软件的编写:对单片机各引脚功能熟悉,然后根据要达到的显示效果,利用汇编语言或者C语言进行程序的编写。4.软硬件的拼接:把编写好的程序烧入单片机,进行最后的调试,并根据实际情况进行修改。5.撰写论文。四、参考文献[1]李广弟,朱月秀等.单片机基础.北京航空航天大学出版社.北京[2]求是科技.单片机通信技术与工程实践.人民邮电出版社.北京[3]VisualBasic.数据采集与串口通信测控应用实战.人民邮电出版社.北京[4]求是科技.VisualBasic6.0程序设计与开发技术大全.人民邮电出版社.北京[5]陈志文,王玮.基于PT100铂热电阻的温度变送器设计与实现.《现代电子技术》.2010年第8期总第319期.[6]张修太,胡雪惠等.基于PT100的高精度温度采集系统设计与实验研究.传感器技术学报.2010年6月.[7]刘兵,努尔买买提·阿布都拉.基于PT100的温度测控实验装置的开发与使用.新疆大学学报(自然科学版).第26卷第第3期.[8]于莹莹.新型PT100传感器智能温度测量系统的研究与开发.电大理工.2010年3月.[9]张烂熳.一种优化的精密温度测量方法.机电工程.2009年9月第6卷第9期.[10]李平,张健.基于单片机C8051F350的温度测量系统设计.天中学刊.2010年10月第20卷第9期.33 33 本科毕业设计远程温度采集仪的设计33 摘要温度测量系统应用非常广泛,涉及到各行业的方方面面,在各不同的领域中都占有重要的位置,如农业中大棚温度控制等[1]。本文设计了一种以PT100铂热电阻作为温度采集传感元件,其采集温度范围很宽,为-200℃-600℃;以LM2576作为5V恒定直流电源产生电路的主要集成芯片,以STC12C5A16S2单片机为核心的微控制器,其内部自带10位A/D转换寄存器,从而简化系统的硬件设计,并使其系统的调试简单化的温度远程采集系统。下位机程序采用单片机C语言编写,上位机温度监控软件采用VisualBasic6.0编写,其采用事件驱动方式及MSComm串行通信控件等知识设计上位机与下位机的通信软件,上位机温度实时监控具有良好的人机界面,使得监控更加人性化。同时给出了系统硬件结构原理图和软件设计流程图及相关主要程序。此次设计采用LM358与其他基本元件构成的电路充当恒流源,在此激励下,PT100的阻值随温度的变化而转换成电压的变化,再经LM358构成的电压放大电路,放大采样信号后输入到STC12C5A16S2单片机的A/D口(P1端口),经过单片机程序的处理、温度的补偿,最后经单片机的串行口发送至上位机监控系统显示、存储温度信息。该系统具有精度高、响应快、宽量程等特点。关键词:温度测量;PT100;单片机;上位机;人机界面33 AbstractTemperaturemeasurementsystemisusedwidely,relatedtoallaspectsoftheindustry,inalldifferentfieldshaveanimportantplace,suchasagriculturalgreenhousetemperaturecontrol.Inthispaper,thedesignofaPT100platinumRTDsensingelementfortemperaturecollection,thecollectionisverywidetemperaturerangeforthe-200℃-600℃;theLM2576constant5VDCpowergeneratedasthemainintegratedcircuitchiptoSTC12C5A16S2SCMasthecoreofthemicro-controller,itsinternalown10-bitA/Dconversionregisterinordertoreducethehardwaresystemdesignanddebugtheirsystemssimple.LowercomputerprogramisbasicallyusingSCMClanguage,thehostcomputertemperaturemonitoringsoftwareusingVisualBasic6.0iswrittenusingevent-drivenmannerandMSCommserialcommunicationcontrolandotherknowledgetodesignthehostcomputerandthenextcrewofthecommunicationssoftware,PCmachinetemperaturereal-timemonitoringwithgoodman-machineinterface,makingcontrolmorehumane.Alsogivesthehardwarestructureandsoftwareflowchartdiagramandmajorprocedures.Thedesignofothercomponents,theuseofLM358actasaconstantcurrentsourcecircuit,inthisexcitation,PT100'sresistancechangeswithtemperaturechangesintovoltage,andthenposedbytheLM358voltageamplifier,amplifytheinputsignalandsamplingtoSTC12C5A16S2microcontrollerA/Dport(P1port),throughthemicrocontroller'sprocessing,temperaturecompensation,andfinallybythemicrocontrollerserialporttosendfirst-bitmachinemonitoringsystemdisplay,storagetemperatureinformation.Thesystemhashighaccuracyandfastresponse,widerangeandsoon.Keywords:Temperaturemeasurement;PT100;PC;SCM;Man-machineinterface33 目录前言1第1章绪论21.1温度测量方法21.2测温元件的发展动态2第2章方案设计32.1本文设计任务32.2测温电路的选择32.3温度传感元件——热电阻42.3.1热电阻测温系统的组成42.3.2热电阻的安装要求42.3.3Pt100热电阻原理42.4上位机52.5系统设计框图5第3章硬件系统设计73.1STC12C5A16S2单片机73.25V电源电路83.3信号放大处理电路93.4数据发送模块电路103.5设计最终实际效果图11第4章软件设计124.1STC12C5A16S2自带A/D转换124.1.1ADC转换内部结构图124.1.2A/D转换基本参数设置134.2特殊功能寄存器简介134.3串行口通信144.3.1串行口1的控制寄存器SCON和PCON1433 4.3.2串行口1缓冲寄存器SBUF154.3.3方式1和方式3选择154.3.4串行通信中波特率设置164.4与串行口1中断相关的寄存器IE、IP和IPH164.5下位机程序设计174.5.1下位机软件程序流程图174.5.2主要功能模块程序设计174.6上位机软件设计194.6.1上位机通信驱动方式选择194.6.2常用控件属性和方法194.6.3上位机软件程序流程图204.6.4上位机通信程序设计204.6.5软件运行效果图22第5章调试23结论与展望24致谢25参考文献26附录1:PT100铂热电阻分度表27附录2:远程温度采集仪原理图29附录3:上位机程序30附录4:下位机程序3233 33 前言温度是表征物体冷热程度的物理量,是国际单位制中七个基本物理量之一[2]。温度测量是工业、农业和科研等部门最普遍的测量项目之一。随着科学技术水平的不断提高,温度测量技术也得到了不断的发展。进入21世纪后,国内各行业的产品面临巨大挑战,其中传统产业急切需要应用现代电子技术、自动控制原理技术进行改造和升级。如在纺织行业,温度是影响纺织品质量的重要因素之一,但纺织企业对温度的测控手段仍很粗糙,绝大多数仍采用人工观测,人工进行阀门的调节或调节风机的方法,其控制效果可想而知,既反应迟钝是其致命缺点,制药行业里也基本如此。同时也值得一提的便是:随着农业向产业化发展,许多农民意识到必需摆脱落后的传统方式,采用现代科学技术来应付进口农产品的挑战,并打进国外市场。随着人们科技意思的提高,全国各地建立了许多新型温室大棚,用以种植反季节蔬菜、瓜果等作物;养殖业对环境的测控也非常迫切;调温冷藏库的大量兴建,这些都给温度测控技术提供了广阔的发展、应用市场[3]。现我国已引进国外一些较为先进的大型温室,自动化程度较高,但是成本也相对较高。在动力工程中,利用热电阻作为传感器最为广泛,研究此类课题,对当今工业领域有着重要意义。热电阻的主体实际由两种不同性质的导体或半导体一端焊接在一起而成,构造简单。由于其在测温时它与被测物体直接接触不受中间介质的影响,所以在工业温度测量有较高的准确性33 第1章绪论1.1温度测量方法温度测量方法有很多,测量原理也存在多样性。其一般分为接触式测温方法和非接触式这两大类。接触式测量方法一般包括膨胀式测温、电量式测温、触式光电和热色测温等几大类。接触式测温法在测量时需要与被测物体或介质需充分接触,一般测量的是被测对象和传感器的平衡温度,在测量时会对被测温度有一定干扰,从而会影响测温的精度。非接触式测温方法主要包括辐射式测温、光谱法测温、微光干涉测温、声波和微波法测温。非接触式测温方法不需要与被测对象接触,因而不会干扰温度场,动态响应特性一般也很好,但是会受到测量介质物性参数或被测对象表面状态的影响[4]。1.2测温元件的发展动态传统的热电偶、热电阻元件具有测温方法和技术的成熟、结构简单、使用方便等特点,其在未来温度测量领域中,依然拥有被广泛使用的空间。随着新材料、新工艺以及一些新的前言技术的不断发展,其应用范围也会变得更加广泛。在传感器结构改进方面,出现了薄膜温度传感器,其随薄膜技术的不断成熟而发展起来的新型微温度传感器,具有耐磨、耐压、耐热冲击和抗剥离的优良性能;其敏感元件为微米级的薄膜,具有体积小、灵敏度高、热干扰小、热动态响应时间短、集成和便于测控人员安装的特点,特别适合微尺度或小空间温度测量、表面温度的测量等场合。近年发展起来的陶瓷薄膜热电偶,可以测量更高的温度,克服了金属薄膜热电偶的一些催化效应和冶金效应等缺点,其在高温表面温度测量领域应用更为广泛。在热电偶材料方面,一些类型的热电偶得到了提高,并出现了一些新型热电偶类型:(1)钨热电偶抗氧化技术得到了发展,拓宽了其应用领域;(2)一些非标准分度的金属、非金属热电偶正在研究并逐渐得到应用;(3)N型热电偶越来越来受到重视。与K型热电偶相比,N型热电偶的高温稳定性与使用寿命均明显提高。目前国外N型热电偶得到了广泛的应用,而国内应用仍旧不是很普遍,但随着对加工产品质量控制要求的提高,N型热电偶使用将会越来越广泛。随着光电和红外线探测器的发展,出现了多种多样的所谓的辐射式测温技术,如红外测温仪,红外测温技术也得到了更多的应用。近几年光纤测温技术是温度测量技术发展的重点之一,利用其原理制作的光纤多点温度传感器,可以应用在油井温度测量、大坝或地质灾害监测、飞机蒙皮的健康监测等场合[5]。33 第2章方案设计2.1本文设计任务设计一套远程温度采集设备:(1)采集温度范围0~600℃,精度为1度;(2)采集结果可在计算机屏幕上显示;(3)采集距离大于100米。根据以上设计要求:测温元件采用PT100铂热电阻温度传感器,利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、复现性和稳定性好等特点,被广泛用于中温(-200℃~600℃)的范围测量中。数据处理芯片采用自带10位A/D转换的微处理芯片STC12C5A16S2,从而将减少硬件电路的设计,上位机显示监控软件采用常见的VisualBasic6.0语言编写[7]。2.2测温电路的选择方案一:采用桥式测温电路如图2.1所示图2.1桥式测温电路采用R1、R2、VR2、Pt100构成测量(其中R1=R2,VR2为100精密电阻),当Pt100的电阻值和VR2的电阻值不相等时。电桥输出一个mV级的压差信号,这个压差信号经过运放后输出期望大小的电压信号。方案二:恒流源测温电路测温原理:通过运放U1A将基准电压转换为恒流源,电流流过Pt100时在其上产生压降,再通过运算放大U1B将该微弱压降信号放大,即输出期望的电压信号。如图2.2所示:图2.2恒流源测温电路33 方案一虽结构清晰,流过Pt100的电流随着周围温度的变化而变化,当温度减小时,流过其电流增大,发热大,使其测温得温度误差较大,而采用恒流源方案,当恒定电流小于1mA时,其测温效果比桥式好很多,综上所述,本次设计采用恒流源测温电路较佳。2.3温度传感元件——热电阻所谓热电阻,它就是一种感温元件,即电阻值随温度变化的温度检测元件。热电阻是中低温区最常用的一种温度检测器。其主要特点是测量精度高,性能稳定。其中铂热电阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。2.3.1热电阻测温系统的组成(1)热电阻测量系统一般由热电阻、连接导线和显示仪表等组成。必须注意以下两点:1、热电阻和显示仪表的风度号必须一致;2、为了消除连接导线变化的影响,必须使用三线制接法。(2)端面热电阻感温元件由特殊处理的电阻丝绕制,紧贴在温度计端面。它与一般轴向热电阻相比,能更加正确和快速地反映被测端面的实际温度,适用于测量轴瓦和其他机件端面温度。2.3.2热电阻的安装要求对热电阻的安装,应注意有利于测温准确,安全可靠及维修方便,而不影响设备运行和生产操作,满足以上要求,在选择对热电阻的安装部位和插入深度时要注意以下几点:1、为了使热电阻的测量端与被测介质之间有充分的热交换,应合理选择测点位置,尽量避免在阀门,弯头及管道和设备的死角附近装设热电阻。2、带有保护套管得热电阻有传热和散热损失,为了减少测量误差,热电阻应该有足够的插入深度:(1)对于测量管道中心流体温度的热电阻,一般都应将其测量端插入到管道中心处(垂直安装或倾斜安装),如被测流体的管道直径是200毫米,那热电阻插入深度应选择100毫米;(2)对于高温高压和高速流体的温度测量(如主蒸汽温度),为了减少保护套对流体的阻力和防止保护套在流体作用下发生断裂,可采取保护管浅插方式或采用热套式热电阻,浅插式的热电阻保护套管,其插入主蒸汽管道的深度应不小于75mm,热套式热电阻的标准插入为100mm。(3)若需要测量是烟道内烟气的温度,尽管烟道直径为4m,热电阻插入深度为1m即可。(4)当测量原件插入深度超过1m时,应尽可能垂直安装,或加装支架和保护套管。2.3.3Pt100热电阻原理热电阻在氧化性介质中,甚至高温下其物理、化学性质都非常稳定,因此它具有精度高、稳定性好、性能可靠的特点[10]。因此铂热电阻在中温(-200~650℃)范围内得到广泛应用。目前市场上已有用金属铂制作成的标准测温热电阻,如Pt100、Pt500、Pt1000等。其的电阻值与温度函数关系线性度非常好,下图所示是其电阻—温度在-200~650℃关系曲线。在测量的温度范围内线性度已经非常接近直线。这对于软件中处理温度与电阻的转换关系就相对方便、清晰了。本次毕业设计采用Pt100作为测量温度的传感器。Pt100的电阻—温度关系曲线如下图所示:铂电阻阻值与温度的关系可以近似用下式表示:在-190~0℃范围内:Rt=R0(1+At+Bt2+C×(t-100)×t3)33 在0~650℃范围内:Rt=R0(1+At+Bt2)式中A、B、C为常数:A=3.96847×10-3;B=-5.847×10-7;C=-4.22×10-12;图2.3PT100温度传感器的电阻与温度对应关系图Rpt为温度为某一时刻的电阻值;Ro为温度是外界温度为0℃时的电阻值,那么Pt100铂热电阻中Ro就等于100Ω,即环境温度等于0度的时候,Pt100的阻值就是100Ω。当温度变化的时候,Pt100的电阻也基本随其线性变化,通过以上电阻和温度表达式便可计算得出相对应的温度数值[14]。在实际工业应用中,一般使用单片机或其他集成元件来进行温度的计算,由于该表达式比较复杂,用单片机处理这样的计算过程,将会占用大量的资源,程序的编写上也相当复杂,所以一般采用先查表(附录1),再插值的方法换算出温度。2.4上位机为了使温度监控工作人员能更直观的观测温度数据的变化,采用编程语言在PC上设计一个上位机的监控软件,这样就能很明了的显示出要监控对象的参数内容[13]。上位机的编写语言有很多种,如C++、VC、VB等,对于电气工控人员,其中VB很容易上手,所以本次设计上位机采用VB语言编写,利用VB6.0开发上位机通信程序有两种方法:一种是采用VB6.0标准控件MSComm实现,另一种是用Windows的AIP来实现通信设置[17]。后面这种方法可编程实现的功能较为丰富,应用面相对比较广泛,但要求开发者掌握大量的通信知识,既而比较复杂;而利用MSComm串行通信控件,电气工控人员只需知道其标准的属性和事件的方法即可,这样就大大的节省了开发上位机的时间。MicrosoftCommunicationsControl(以下简称MSComm)是Microsoft公司提供的简化WindowsXP/98下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。控件将进行上位机与下位机的通信。MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,因其可移植性高,因而在VC、VB等语言中都可使用。2.5系统设计框图33 本次设计采用LM2576作为5V电源稳压模块,PT100铂热电偶作为温度传感器,硬件PT100两端的电压经过LM358放大,送入单片机进行A/D转换,然后通过单片机串口发送到上位机显示温度数值。系统框图如下所示:温度采样、放大TXD单片机RXDPCTINA收发器MAX485BROUTRS485-RS232转换器图2.4远程温度采集系统框图33 第3章硬件系统设计3.1STC12C5A16S2单片机STC12C5A16S2单片机是由台湾宏晶公司生产的单时钟/机器周期的单片机,其是一种高速/低功耗/超强抗干扰能力的新一代8051系列单片机,指令代码皆兼容传统8051,而其速度比传统的快8-12倍,并且增加了一些特殊功能寄存器及串行口等。8路高速10位A/D转换(250K/S),并且其能与普通的I/O口通过程序编写进行转换。图3.1STC12C5A16S2单片机效果图1.增强型8051CPU,指令代码完全兼容传统8051;2.工作电压:5.5V-3.3V(5V);3.片上集成1280字节RAM;4.工作频率范围:0-35MHz;5.用户应用程序空间16K;6.通用I/O口(36/40/44),复位后为:准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式;7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器。8.有EEPROM功能;9.看门狗WDT_CONTR;10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地);11.外部掉电检测电路:在P4.6口有一个低压门槛比较器。5V单片机为1.32V,误差为+/-5%;12.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内)1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟。常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz。33 13.2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;14.共4个16位定时器。两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器;做串行通讯的波特率发生器;再加上2路PCA模块可再实现2个16位定时器;15.A/D转换,10位精度ADC,共8路,即P1口,转换速度可达250K/S(每秒钟25万次)。16.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口。17.STC12C5A16S2系列有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)。3.25V电源电路5V电源电路其主控芯片为LM2576-5.0,LM2576系列的稳压器是单片集成电路,能提供降压开关稳压器(buck)的各种功能,能驱动3A的负载,有优异的线性和负载调整能力,这些器件的固定输出电压有3.3V,5V,12V,15V,还有可调整输出型号,本次设计采用的是LM2576S-5.0型号。这些稳压器内部含有频率补偿和一个固定频率振荡器,将外部元件的数目减到最少,使用方便。LM2576的效率比流行的三段线性稳压器要高得多,是理想的替代品。一般情况下不需要或只需要很小尺寸的外加散热片,已经优化可和LM2576一起使用的标准系列电感由好几个不同的电感生产商提供,此特征大大简化了开关电源的设计,其它一些特征包括:在指定输入电压和输出负载条件下保证输出电压的±4%误差,以及振荡器频率的±10%误差,还包括外部的开关电路,特征有50uA(典型值)待机电流。输出开关包括逐周限流,以及在故障状态下提供完全保护的热关断功能。LM2576的封装如下图所示:图3.2LM2576集成芯片封装效果图其原理是:220V电源经降压变压器降压,然后通过2W08模块进行整流,再输入到LM2576稳压模块,通过其与外部电感、电容、快速通断二极管IN5822构成反馈回路,从而达到降压稳压的效果。主要电路原理图如图3.3所示:33 图3.35V电源产生电路原理图3.3信号放大处理电路信号采集与放大电路主要集成芯片TL431、Pt100和LM358,本次设计主要采用恒流源的方式,在Pt100两端存在电压差,从而再经过LM358放大,最后输入到单片机的A/D口。TL431集成电路是三端可编程并联稳压二极管。此单片集成电路电压基准如同低温系数齐纳二极管一样运行,通过两个外部电阻可从编程至36V。该器件显示出宽工作电流范围,在典型动态阻抗0.22时为1.0mA至100mA,这些基准特性使其能在数字电压表、电源和运放电路等许多应用中代替齐纳二极管。2.5V参考使从5.0V逻辑电源可方便地获得稳定的参考电压,由于TL431工作方式为并联稳压器,所以可以作用正压或负压参考。其封装效果图如下所示:l可编程输出电压,达36V;l电压参考源误差:典型±0.4%;l低动态输出阻抗,典型值为0.22;l1.0mA至100mA的灌电流能力;l典型值为50ppm/℃的等效全范围温度系数;l在整个额定工作温度范围内可进行工作温度补偿;l低输出噪声电压。图3.4TL431三端可编程二极管封装效果图LM358内部包括两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模组,音频放大器、工业控制、DC增益部件和其他所有可用单电源供电的使用运算放大器的场合。LM358的封装形式有塑封8引线双列直插式和贴片式。双列直插式效果图如3.5所示:33 图3.5LM358集成运放封装效果图首先5V直流电源经过TL431进行调压,调节电压到3V,输入到LM358,从而根据电路产生1mA的稳定的直流电流,让其流过PT100,当周围的温度发生变化,Pt00的电阻值就会发生变化,当周围温度为0℃的时候,按附录一可知其电阻值为100,那么PT100两端的电压就为,此电压再经过LM358构成的放大电路放大10倍,输入到单片机A/D输入口,最后单片机对其进行模数转换。依次原理,周围温度变化,PT100的电阻值发生变化,两端电压差也随之变化,从而使输入的模拟电压发生变化,经过单片机程序的处理分析,就能得到相对应的温度值。信号采集放大电路如图3.6所示:图3.6信号采集放大电路原理图3.4数据发送模块电路数据远程传送采用MAX485,其接口芯片是Maxim公司的一种RS-485芯片。采用单一电源+5V工作,额定电流300微安,采用半双工通信方式。其完成将TTL电平转换为RS-485电平的功能。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的和驱动的输入端,与单片机连接时只需分别与单片机的RXD与TXD相连即可;非RE和DE端分别为接收和发送的使能端,当非RE为逻辑0时,器件处于接收状态,当DE为逻辑1时,器件处于发送状态,因MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送数据为0。在与单片机连接时接线非常简单,只需要一个信号控制MAX485的接收和发送即可。33 MAX485的驱动器不受限制,可实现最高2.5Mbps的传输速率,此收发器在驱动器禁用的空载或满载的状态下,吸取的电源电流在120微安至500微安之间,接收器输入具有实效保护特性,当输入开路时,可以确保逻辑高电平输出,具有较高的抗干扰性能,MAX485是市面上最为常用的RS422芯片,性价比高,优质,供货稳定。其元件效果图:图3.7MAX485发收器元件图3.5设计最终实际效果图图3.8设计最终实际效果图33 第4章软件设计由附录1知:当PT100周围温度为0℃时,其阻值为100;当周围温度为600℃,其阻值为313.71。周围温度每增加0.1℃时,PT100基本增加0.32-0.39,平均值为0.356。输入单片机的电压变化范围为1V-3.13V,单片机A/D转换位数为10位。4.1STC12C5A16S2自带A/D转换STC12C5A16S2单片机,其自带A/D转换口P1(P1.7-P1.0),具有八路十位高速A/D转换器,速度可达250KHz(25万次/秒)。八路电压输入型A/D,可做温度检测、按键扫描、电池电压检测等。上电复位后P1口为弱上拉型I/O口,其中我们可以很容易的通过软件设置八路中的任何一路为A/D转换口,不做A/D口使用的也可做普通的I/O口使用。AUXR.1/ADRJ=0时,A/D转换寄存器格式如下:ADC_RESL[7:0]ADC_B9ADC_B8ADC_B7ADC_B6ADC_B5ADC_B4ADC_B3ADC_B2ADC_RES[1:0]......ADC_B1ADC_B0AUXR.1/ADRJ=1时,A/D转换寄存器格式如下:ADC_RES[1:0]ADC_B9ADC_B8ADC_RESL[7:0]ADC_B7ADC_B6ADC_B5ADC_B4ADC_B3ADC_B2ADC_B1ADC_B04.1.1ADC转换内部结构图STC12C5A16S2单片机的ADC转换器由多路选择开关、比较器、逐次比较寄存器、10位DAC转换结果寄存器(ADC_RES和ADC_RESL)以及ADC_CONTR构成,如图4.1所示:图4.1A/D转换内部结构图33 STC12C5A16S2单片机中的ADC转换类型是采用逐次比较型。逐次比较型ADC是由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序地对每一输入电压与内置D/A转换器输出进行比较,经过多次逐级比较,使得转换所得的数字量逐次逼近输出模拟量对应值。逐次比较型A/D转换器具有高速度,功耗低等优点[11][17]。4.1.2A/D转换基本参数设置从上图可以看出,通过模拟多路开关,将通过ADC0~7的模拟量输入给比较器。用数/模转换器(DAC)转换的模拟量与本次输入的模拟量通过比较器进行比较,将比较的结果保存到逐次比较器,并通过逐次比较器输出转换结果。A/D转换结束后,最终的转换结果保存到ADC转换结果寄存器ADC_RES和ADC_RESL中,同时,置位ADC控制寄存器ADC_CONTR中的A/D转换结果标志位ADC_FLAG,以供程序查询或发出中断申请。模拟通道的选择控制由ADC控制寄存器ADC_CONTR中的CH2~CH0确定。ADC的转换速度由ADC控制寄存器中的SPEED1和SPEED0确定。在使用ADC之前,应先给ADC上电,也就是置位ADC控制寄存器中的ADC_POWER。当ADRJ=0时,如果取十位结果,则按下面公式计算:A/D转换结果(ADC_RES[7:0],ADC_RESL[1:0])=1024×当ADRJ=1时,如果取十位结果,则按下面公式计算:A/D转换结果(ADC_RES[1:0],ADC_RESL[7:0])=1024×式中,为模拟输入通道输入电压,为单片机实际工作电压,用单片机工作电压作为模拟参考电压。4.2特殊功能寄存器简介ACC_CONTR:A/D转换控制寄存器,地址为BCH。ADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0ADC_RES:A/D转换结果寄存器高,其地址为BDH。ADC_RESL:A/D转换结果寄存器低,其地址为BEH。WDT_CONTR:看门狗控制寄存器,其地址为C1H。STC12C5A16S2型单片机I/O口均可由软件配置成4种工作类型之一,4种类型为:准双向口/弱上拉(标准8051输出模式)、强推挽输出/强上拉、仅为输入(高阻)或开漏输出功能。每个口由2个控制寄存器中的相应位控制每个引脚工作类型,其如表4.1所示。符号描述地址P1M1P1口模式配置寄存器191HP1M0P1口模式配置寄存器092HP0M1P0口模式配置寄存器193HP0M0P0口模式配置寄存器094HP2M1P2口模式配置寄存器195HP2M0P2口模式配置寄存器096HP3M1P3口模式配置寄存器1B1HP3M0P3口模式配置寄存器0B2H表4.1端口设置33 P1ASF:P1AnalogFunctionConfigureregister,其地址为9DH。4.3串行口通信STC12C5A16S2型号单片机,其具有2个采用UART(UniversalAsynchronousReceiver/Transmitter)工作方式的双全工串行通信(串行口1和串行口2)。每个串行口都有2个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器都由2个相互独立的接收、发送缓冲器构成,可以同时发送和接收数据。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入,因而两个缓冲器可以共用一个地址码。串行口1的两个缓冲器共用的地址码是99H;串行口2的两个缓冲器共用的地址码是9BH。串行口1的两个缓冲器串行通信特殊功能寄存器SBUF;串行口2的两个缓冲器统称串行通信特殊功能寄存器S2BUF。该单片机两个串行口都有四种工作方式,其中两种方式的波特率是可变的,另外两种是固定的,以供不同场合选择。用户可用软件设置不同的波特率和选择不同的工作方式,主机可通过查询或中断方式对接收和发送进行程序处理,从而程序员设计更加方便,使用十分灵活。4.3.1串行口1的控制寄存器SCON和PCONSTC12C5A16S2单片机的串行口1设有两个控制寄存器:串行控制寄存器SCON和波特率选择特殊功能寄存器PCON。串行控制寄存器SCON用于选择串行通行的工作方式和某些控制功能。其格式如下:SCON:串行1控制寄存器(可位寻址),地址为98H。B7B6B5B4B3B2B1B0SM0/FESM1SM2RENTB8RB8TIRISM0/FE:当PCON寄存器中的SMOD0/PCON.6位为1时,该位用于帧错误检测。当检测到一个无效停止位时,通过UART接收器设置该位,它必须由软件清零。当PCON寄存器中的SMOD0/PCON.6位为0时,该位和SM1一起指定串口通信的工作方式,如下表所示。其中SM0、SM1按下列组合确定串行口1的工作方式:SM0SM1工作方式功能说明波特率00方式0同步移位串行方式:移位寄存器当UARTA_M0x6=0时,波特率为SYSclk/12;当UARTA_M0x6=1时,波特率为SYSclk/2;01方式18位UART,波特率可变10方式29位UART11方式39位UART,波特率可变当T1x12=0时,定时器1的溢出率=SYSclk/12/(256-TH1);当T1x12=1时,定时器1的溢出率=SYSclk/(256-TH1);当BRTx12=0时,BRT独立波特率发生器的溢出率=SYSclk/12/(256-RBT);当BRTx12=1时,BRT独立波特率发生器的溢出率=SYSclk/(256-RBT);33 串行通信的中断请求:当一帧发送完成,内部硬件自动置位TI,即TI=1,请求中断处理;当接收完一帧信息时,内部硬件自动置位RI,请求中断处理。由于TI和RI以“或逻辑”关系向主机请求中断,所以主机响应中断时事先并不知道是TI还是RI请求的中断,必须在中断服务程序中查询TI和RI进行判断,然后分别处理。因此,两个中断请求标志位均不能由硬件自定置位,必须通过软件清零,否则将出现一次请求多次响应的错误。电源控制寄存器PCON中的SMOD/PCON.7用于设置方式1、方式2、方式3的波特率是否加倍。此寄存器格式如下:PCON:地址为87H;SMODSMOD0LVDFPOFGF1GF0PDIDLSMOD:波特率选择位。当用软件置位SMOD,即SMOD=1,则使串行通信方式1、2、3的波特率加倍;当SMOD=0时,则各工作方式的波特率加倍。复位时SMOD=0。SMOD0:帧错误检测有效控制位。当SMOD0=1时,SCON寄存器中的SM0/FE位用位FE(帧错误检测)功能;当SMOD0=0时,SCON寄存器中的SM0/FE位用于SM0功能,和SM1一起指定串行口地工作方式。复位时SMOD0=0。4.3.2串行口1缓冲寄存器SBUFSBUF:串口1数据缓冲器,地址为99H。串行通道内设有数据寄存器,在所有的串行通信方式中,在写入SBUF信号(MOVSBUF,A)的控制下,把数据装入相同的9位移位寄存器,前面8位为数据字节,其最低位为移位寄存器的输出位。根据不同的工作方式会自动将“1”或TB8的值装入移位寄存器的第九位,并进行发送。串口通道的接收寄存器是一个输入移位寄存器。在方式0时它的字长为8位,其他方式时为9位。当一帧接收完毕,移位寄存器中的数据字节装入串行数据缓冲器SBUF中,其第9位则装入SCON寄存器中的RB8位,如果由于SM2使得已接收到得数据无效时,RB8和SBUF中的内容不变。由于接收通道内设有输入移位寄存器和SBUF缓冲器,从而能使一帧接收完将数据由移位寄存器装入SBUF后,可立即开始接收下一帧信息数据,主机应在该帧接收结束前从SBUF缓冲器中将数据取走,否则前一帧数据将丢失。SBUF以并行方式送往内部数据总线。AUXR:辅助寄存器,地址为8EH。B7B6B5B4B3B2B1B0T0x12T1x12UART_M0x6BRTRS2SMODBRTx12EXTRAMS1BRST0x12:定时器0速度设定位,当T0x12=0时,定时器0是传统8051速度,12分频;当T0x12=1时,定时器0的速度是传统的12倍,不分频。T1x12:定时器1速度设定位,当T1x12=0时,定时器1是传统8051速度,12分频;当T1x12=1时,定时器1的速度是传统的12倍,不分频。如果UART串口用定时器1做波特率发生器,那么T1x12位就可以控制UART串口速度。AUXR1:辅助寄存器1,地址为A2H。·PCA_P4SP1_P4S2_P4GF2ADRJ·DPS4.3.3方式1和方式3选择当软件设置SCON的SM0、SM1为“01”33 时,串行口1则以方式1工作。此模式为8位UART格式,一帧信息为10位:1位起始位,8位数据位(低位在先)和1位停止位。波特率可变,即可根据需要进行设置。TxD/P3.1为发送信息,RxD/P3.0为接收信息,串行口为全双工接收/发送串行口。模式1的发送过程为:串行口通信模式发送时,数据由串行口发送端TxD输出。当主机执行一条写“SBUF”的指令就启动串行通信的发送,写“SBUF”信号还把“1”装入发送移位寄存器的第8位,并通知TX控制单元开始发送,发送各位的定时是由16分频计数器同步。4.3.4串行通信中波特率设置STC12C5A16S2型单片机通信接口有四种工作方式,可通过软件编程对SCON中的SM0、SM1的设置进行选择。其中模式1、模式2和模式3为异步通信,每个发送和接收的字符都自带有1个起始位和停止位。在模式0中,串行口被作为一个简单的移位寄存器使用。STC12C5A16S2型单片机通信的波特率随所选工作模式改变而改变,对于工作模式0和模式2,其波特率与系统时钟SYSclk和PCON中的波特率选择位SMOD有关,而模式1和模式3的波特率除SYSclk和PCON位有关外,还与定时器/计数器1或RBT独立波特率发生器设置有关。通过对定时器/计数器1或RBT独立波特率发生器的设置。可选不同的波特率,所以这种波特率是可变的[18]。4.4与串行口1中断相关的寄存器IE、IP和IPH串行口中断允许控制位ES位于中断允许寄存器IE中,中断允许寄存器的格式如下:IE:中断允许寄存器,地址为A8H。EAELVDEADCESET1EX1ET0EX0EA:CPU的总中断允许控制位,EA=1,CPU允许开放中断,EA=0,CPU屏蔽所有中断申请。EA的作用是使中断允许形成多级控制。即各个中断源首先受EA控制,其次还受各中断源自己的中断允许控制位控制。ES:串行口中断允许位,ES=1,允许串行口中断,ES=0,禁止串行口中断。IPH:中断优先级控制寄存器高(不可位寻址),其地址为B7H。B7B6B5B4B3B2B1B0PPCAHPLVDHPADCHPSHPT1HPX1HPT0HPX0HIPH:中断优先级控制寄存器低(不可位寻址),其地址为B8H。B7B6B5B4B3B2B1B0PPCAPLVDPADCPSPT1PX1PT0PX0PSH,PS:串行口1中断优先级控制位。优先级如下表所示:PSHPS优先级00串行口1中断为最低优先级中断(优先级0)01串行口1中断为较低优先级中断(优先级1)10串行口1中断为较高优先级中断(优先级2)11串行口1中断为最高优先级中断(优先级3)33 4.5下位机程序设计4.5.1下位机软件程序流程图温度采样、数据处理、查表及发送上位机流程图如下图所示:开始程序初始化开A/D转换延时电压采样端口设置一次读取转换结果采样5次?5次求平均数据处理串口发送上数据发送完成?图4.2下位机软件流程图4.5.2主要功能模块程序设计//A/D转换初始化设置voidAD_init()//初始化函数{TMOD=0x21;//定时计数器方式控制寄存器,"自动重装,16位计数器".SCON=0x50;//串行控制寄存器33 TH1=0xfa;//赋初值TL1=0xfa;TR1=1;}/******A/D转换上电******/voidADC_Power_On(){ADC_CONTR|=0x80;//ADC_POWER=1,AD转换上电delay(5);//必须延时,至少四个时钟周期延时,才能正确读到ADC_CONTR的值}/******读取转换结果*******/voidget_ad_result()//读取AD结果函数{uinti,temp1,temp2=0for(i=0;i<5;i++){flag=0;ADC_RES=0;//高八位数据清零ADC_RESL=0;//低两位清零ADC_CONTR|=0x08;//启动AD转换,ADC_START=1while(!flag)//判断AD转换是否完成{flag=0x10;flag&=ADC_CONTR;}ADC_CONTR&=0xe7;//ADC_FLAG=0;ADC_START=0ad_average_1=ADC_RES;temp1=temp1+ad_average_1;ad_average_2=ADC_RESL;temp2=temp2+ad_average_2;}ad_average_1=temp1/5;//取平均值ad_average_2=temp2/5;}33 4.6上位机软件设计4.6.1上位机通信驱动方式选择VB编程语言中MSComm控件提供了两种处理通信的方式:一种称为事件驱动方式,此方式相当于我们在一般程序设计中的中断方式(如51单片机中的几种中断方式)。当串口发生事件或错误时,MSComm控件就会产生OnComm事件,用户程序可以捕获该事件,从而进行相应处理。另一种称为查询方式,在用户在程序中设计定时或不定时查询MSComm控件的某些特定属性是否发生变化,从而确定相应处理。在程序空闲时间较多时可以采用该方式。本次设置使用事件驱动方式来处理和解决各类通信软件的开发设计问题,实时性很强[19]。4.6.2常用控件属性和方法由于MSComm控件属性很多,在此仅介绍与本次毕业设计实现串口通信密切相关的核心属性,下面介绍MSComm控件的常用基本属性和方法:(1)Commport:设置或返回串口号。如设置为1,表示对COM1端口进行操作。语法object.CommPort[value](value一整型值,说明端口号,其缺省值为端口1)注意:必须在打开端口之前设置CommPort属性。(2)Settings:返回串口通信参数设置,其包括波特率、奇偶校验、数据位、停止位等参数。语法:object.Settings=[value]如:"9600,N,8,1",即表示串口通信的波特率为9600bit/s,不作奇偶校验,8位数据位和1位停止位。(3)Portopen:设置或返回串口状态。语法:object.PortOpen[=value]设置为False表示关闭端口并清除接收和传输缓冲区,为True打开端口。[14][15]。(4)InputMode:设置或返回接收数据的类型,其值为1时表示为二进制形式返回。(5)Input:从接收缓冲区中读取数据并清空该缓冲区。(6)Output:向发送缓冲区发送数据。(7)Inputlen:设置或返回一次从接收缓冲区中读取字节个数。语法object.InputLen[=value],value整型表达式。(8)CommEvent:这是一个非常重要的属性。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSComm控件为CommEvent属性赋不同的原代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的源代码,从而进行相应的事件处理[4];其上(5)、(6)、(8)属性设计时无效,运行时只读。(9)OutBufferCount:设置或返回发送缓冲区中等待发送的字符数。(10)InBufferCount:设置或返回接收缓冲区中等待接收的字符数。(11)InBufferSize:设置或返回接收缓冲区的大小(缺省值为1024字节)。(12)OutBufferSize:设置或返回发送缓冲区的大小(缺省值为512字节)[20]。33 4.6.3上位机软件程序流程图开始设置串行通信方式及波特率清空接收、发送缓冲区发送联络信号接收到数据读数据到数组显示温度数值等信息数据处理图4.3上位机软件程序流程图4.6.4上位机通信程序设计//串口初始化Combo1.List(0)="COM1"Combo1.List(1)="COM2"Combo1.List(2)="COM3"Combo1.List(3)="COM4"Combo1.List(4)="COM5"端口下拉设置SelectCaseCombo1.TextCase"COM1"Form1.MSComm1.CommPort=1Case"COM2"Form1.MSComm1.CommPort=2Case"COM3"33 Form1.MSComm1.CommPort=3Case"COM4"Form1.MSComm1.CommPort=4Case"COM5"Form1.MSComm1.CommPort=5'通信端口选择EndSelectMSComm1.Settings="9600,n,8,1"'定义串口数据格式波特率9600b/s,无奇偶校验,8位数据,1位停止MSComm1.OutBufferCount=0'清空发送缓冲区MSComm1.InBufferCount=0'清空接收缓冲区MSComm1.PortOpen=True'打开串口MSComm1.InputMode=1'通过Input属性以二进制形式取回数据MSComm1.InputLen=0'Input属性一次读取缓冲区内全部数据ExitSublll2:MsgBox"COM口不存在,请选择其他端口"//上位机发送命令程序PrivateSubcmdstart_Click()Dimoutdata(1)AsByte'定义一个字节型数组outdataoutdata(1)=&HAA'给其赋值为16进制AAbuf=""'定义字符串变量buf,并初始化为空buf=MSCcomm1.Input'清空出入缓冲区MSComm1.Output=outdata'将联络信号AA送入输出缓冲区//上位机数据接收程序PrivateSubTimer1_Timer()Dimbuf$Timer1.Enabled=Falsebuf=Trim(MSComm1.Input)'将缓冲区内的数据读入buf变量中IfLen(buf)=0Then'判断缓冲区内是否存在数据TextReceive.Text=""ElseTextReceive.Text=buf'送入显示窗口显示数值EndIfEndSub33 4.6.5软件运行效果图图4.4上位机软件运行效果图33 第5章调试在电源调试方面,由于本次毕业设计没有设计变压器,既而用了中兴的手机充电器充当变压器,经其降压后送入5V电源产生模块,经测量,其输出的电源电压为4.96V,稍微比5V小点,其偏差率为0.8%,满足本次毕业论文设计要求。在温度信号采集调试中,首先并没有使用PT100直接进行调试,而是先采用了一个100精密电阻接入到电路中,打开上位机软件,连接好串口通信口,插上电源插头调试。先编一个简单的数据发送程序,下载安装好USB驱动,设置好STC下载器的参数,然后再烧录到ST12C5A16S2单片机中,在进行串行口握手通信是否正常,开始时只是串行口没有选择正确,上位机发出“此串口不存在”的错误信号提示,这就要选择另外空闲的串口。该步骤结束后,就把毕业设计所要用到的程序烧录到单片机中进行调试,按照毕业设计原理,当PT100的值为100时,那么就表明其周围的温度为0℃,在调试之前,我们已经接入了一个100的精密电阻,让流过其电流为1mA,不成超过1mA,否则PT100的发热会很厉害,这会影响所测温度的精确性,如果程序正常,那么上位机软件显示当前温度的值为0℃,按此进行对硬件电路中流经PT100的电流和下位机软件程序调整,最终使单片机发送到上位机的数值经过运算显示为0℃。第二步,把原来的100的精密电阻换成150的精密电阻,再次调试,查附录一可知,其周围温度为130℃,若显示的温度为该值,说明程序基本可以运行,在精度方面也基本能达到1℃的要求。最后取下150的精密电阻,然后换上PT100热电阻温度传感器,再进行软硬件的调试。然后取一只标准的数字温度计作为当前温度的参考,测量几组在不同温度下的数值,进行对照,如果相差太大,这需要在软件中增加温度补偿(如A/D转换的处理),这样就能提高测量温度的准确度。33 结论与展望本次设计基本完成要求,通过模拟电路产生4.96V恒定直流电压源,LM358与其他元件产生基本恒定直流源,上位机与下位机能很好联机通信,采集温度范围广,但也存在一定的误差,也存在其他一些问题需要进一步研究解决。对于温度测量精度要求较高的,本系统存在一定的误差,在缩小误差方面,以后可考虑:1、采用独立高精度的A/D转换芯片(如ICL7135);2、采用与PT100相反特性的非线性元件作为补偿元件;3、使用高次方程做拟合等方法。通过运算放大电路产生的恒流源电路,存在一定的干扰信号,恒流源不太稳定。在今后的研究学习中,可以考虑采用OP07设计电路或增加放大电路的级数,从而减少误差。同时当温度波动比较大时,也可将运放的供电改为15V双电源供电。对于软件设计,加入一定软件温度补偿程序或采用分段转化的思想使测量的温度更加接近实际值。33 [参考文献][1]楼然苗,李光飞.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2003.[2]夏益明,杜敏.AT89C2051在加热炉温度采集系统中的应用[J].电子世界,2005(10):35~37.[3]李文江,马荣兵.单片机数据采集远距离无线传送的研究[J].电子技术,2007(1):34~36.[4]陈志延,叶晓燕,赵洁.基于单片机的远程温度数据采集系统设计[J].科技广场,2008(5):32~34.[5]蔡美琴,张为民,何金儿等.MCS—51系列单片机系统及其应用[M].高等教育出版社,2007.[6]黄伟力,虞晓磊.基于VB6.0的PC机与AT89C51的温度智能检测系统的实现[J].煤炭科技,2005,24(5):25~27.[7]杨佩璐.基于VB6.0实现PC机与单片机的串行通信[J].中国集体经济·科技研发,2004(4):154~157.[8]李湘江,彭建.基于VB的实时数据采集程序的设计[J].[9]季华,陈旭忠,李占芳等.基于VB与单片机串行通信的数据采集系统的设计[J].煤炭工程,2007(12):134~136.[10]雷建龙,李秉玉.基于89C2051单片机的远距离高精度温度测控电路[J].中国仪器仪表,2003(2):45~47.[11]赵晓安.MCS-51单片机原理及应用[M].天津:天津大学出版社,2001.[12]戴志超,向英.单片机系统数据远程传输协议设计与实现[J].现代电子技术,2010(6):47~54.[13]王萍.基于AT89C51单片机的温度测量设计[J].电子科学,2005(3):27~32.[14]刘志群.基于RS485实现的PC机与单片机多机通信[J].闽江学院学报,2007,28(2):44~46.[15]刘志鸿,王宏.利用VB6.0实现PC机与MCS—51单片机之间的串行通信[J].内蒙古科技与经济,2004(24):65~66.[16]潘浩,李洪彪,张朝晖.一种基于RS485总线的远程数据通信系统[J].仪器仪表学报,2003,24(4):467~468.[17]Philipssemiconductors.sJA1000stand—aloneCANcontroer[R].Holand:Philips,2000.[18]AtmelCorporation.A'I89S52Datasheets[EB/OL].2001.http://WWW.21icsearch.com/searchpdf/download.asp?id=137366.[19]周六顺.基于VB编程的微机温度采集系统的设计[J].化工设计通讯,2002(12):72~75.[20]才智,范长胜,杨冬霞.PT100铂热电阻温度测量系统的设计[J].虚拟仪器与应用,2008(20):172~177.[21]张修太,胡雪惠,张继军.基于PT100的高精度温度采集系统设计与实验研究[J].传感技术学报,2010,23(6):812~815.[22]于莹莹.新型PT100传感器智能温度测量系统的研究与开发[J].电大理工,2002(10):28~35.[23]张烂漫.一种优化的精密温度测量方法[J].机电工程,2009,26(9):58~59.33 附录1:PT100铂热电阻分度表温度℃0123456789电阻值(Ω)-20018.52         -190-180-170-160-150 22.8327.1031.3435.5439.7222.4026.6730.9135.1239.3121.9726.2430.4934.7038.8921.5425.8230.0734.2838.4721.1125.3929.6433.8638.0520.6824.9729.2233.4437.6420.2524.5428.8033.0237.2219.8224.1128.3732.6036.8019.3823.6827.9532.1836.3818.9523.2527.5231.7635.96-140-130-120-110-100 43.8848.0052.1156.1960.2643.4647.5951.7055.7959.8543.0547.1851.2955.3859.4442.6346.7750.8854.9759.0442.2246.3650.4754.5658.6341.8045.9450.0654.1558.2341.3945.5349.6553.7557.8240.9745.1249.2453.3457.4140.5644.7048.8352.9357.0140.1444.2948.4252.5256.60-90-80-70-60-5064.3068.3372.3376.3380.3163.9067.9271.9375.9379.9163.4967.5271.5375.5379.5163.0967.1271.1375.1379.1162.6866.7270.7374.7378.7262.2866.3170.3374.3378.3261.8865.9169.9373.9377.9261.4765.5169.5373.5377.5261.0765.1169.1373.1377.1260.6664.7068.7372.7376.73-40-30-20-10084.2788.2292.1696.09100.0083.8787.8391.7795.6999.6183.4887.4391.3795.3099.2283.0887.0490.9894.9198.8382.6986.6490.5994.5298.4482.2986.2590.1994.1298.0481.8985.8589.8093.7397.6581.5085.4689.4093.3497.2681.1085.0689.0192.9596.8780.7084.6788.6292.5596.48010203040100.00103.90107.79111.67115.54100.39104.29108.18112.06115.93100.78104.68108.57112.45116.31101.17105.07108.96112.83116.70101.56105.46109.35113.22117.08101.95105.85109.73113.61117.47102.34106.24110.12114.00117.86102.73106.63110.51114.38118.24103.12107.02110.90114.77118.63103.51107.40111.29115.15119.015060708090119.40123.24127.08130.90134.71119.78123.63127.46131.28135.09120.17124.01127.84131.66135.47120.55124.39128.22132.04135.85120.94124.78128.61132.42136.23121.32125.16128.99132.80136.61121.71125.54129.37133.18136.99122.09125.93129.75133.57137.37122.47126.31130.13133.95137.75122.86126.69130.52134.33138.13100110120130140138.51142.29146.07149.83153.58138.88142.67146.44150.21153.96139.26143.05146.82150.58154.33139.64143.43147.20150.96154.71140.02143.80147.57151.33155.08140.40144.18147.95151.71155.46140.78144.56148.33152.08155.83141.16144.94148.70152.46156.20141.54145.31149.08152.83156.58141.91145.69149.46153.21156.95150160157.33161.05157.70161.43158.07161.80158.45162.17158.82162.54159.19162.91159.56163.29159.94163.66160.31164.03160.68164.4033 170180190164.77168.48172.17165.14168.85172.54165.51169.22172.91165.89169.59173.28166.26169.96173.65166.63170.33174.02167.00170.70174.38167.37171.07174.75167.74171.43175.12168.11171.80175.49200210220230240175.86179.53183.19186.84190.47176.22179.89183.55187.20190.84176.59180.26183.92187.56191.20176.96180.63184.28187.93191.56177.33180.99184.65188.29191.92177.69181.36185.01188.66192.29178.06181.72185.38189.02192.65178.43182.09185.74189.38193.01178.79182.46186.11189.75193.37179.16182.82186.47190.11193.74250260270280290194.10197.71201.31204.90208.48194.46198.07201.67205.26208.84194.82198.43202.03205.62209.20195.18198.79202.39205.98209.56195.55199.15202.75206.34209.91195.91199.51203.11206.70210.27196.27199.87203.47207.05210.63196.63200.23203.83207.41210.98196.99200.59204.19207.77211.34197.35200.95204.55208.13211.70300310320330340212.05215.61219.15222.68226.21212.41215.96219.51223.04226.56212.76216.32219.86223.39226.91213.12216.67220.21223.74227.26213.48217.03220.57224.09227.61213.83217.38220.92224.45227.96214.19217.74221.27224.80228.31214.54218.09221.63225.15228.66214.90218.44221.98225.50229.02215.25218.80222.33225.85229.37350360370380390229.72233.21236.70240.18243.64230.07233.56237.05240.52243.99230.42233.91237.40240.87244.33230.77234.26237.74241.22244.68231.12234.61238.09241.56245.02231.47234.96238.44241.91245.37231.82235.31238.79242.26245.71232.17235.66239.13242.60246.06232.52236.00239.48242.95246.40232.87236.35239.83243.29246.75400410420430440247.09250.53253.96257.38260.78247.44250.88254.30257.72261.12247.78251.22254.65258.06261.46248.13251.56254.99258.40261.80248.47251.91255.33258.74262.14248.81252.25255.67259.08262.48249.16252.59256.01259.42262.82249.50252.93256.35259.76263.16245.85253.28256.70260.10263.50250.19253.62257.04260.44263.84450460470480490264.18267.56270.93274.29277.64264.52267.90271.27274.63277.98264.86268.24271.61274.96278.31265.20268.57271.94275.30278.64265.53268.91272.28275.63278.98265.87269.25272.61275.97279.31266.21269.59272.95276.30279.64266.55269.92273.29276.64279.98266.89270.26273.62276.97280.31267.22270.60273.96277.31280.64500510520530540280.98284.30287.62290.92294.21281.31284.63287.95291.25294.54281.64284.97288.28291.58294.86281.98285.30288.61291.91295.19282.31285.63288.94292.24295.52282.64285.96289.27292.56295.85282.97286.29289.60292.89296.18283.31286.62289.93293.22296.50283.64286.85290.26293.55296.83283.97287.29290.59293.88297.16550560570580590297.49300.75304.01307.25310.49297.81301.08304.34307.58310.81298.14301.41304.66307.90311.13298.47301.73304.98308.23311.45298.80302.06305.31308.55311.78299.12302.38305.63308.87312.10299.45302.71305.96309.20312.42299.78303.03306.28309.52312.74300.10303.36306.61309.84313.06300.43303.69306.93310.16313.39600313.71314.03314.35314.67314.99315.31315.64315.96316.28316.6033 610620630640316.92320.12323.30326.48317.24320.43323.62326.79317.56320.75323.94327.11317.88321.07324.26327.43318.20321.39324.57327.74318.52321.71324.89328.06318.84322.03325.21328.38319.16322.35325.53328.69319.48322.67325.84329.01319.80322.98326.16329.32650660329.64332.79329.96330.27330.59330.90331.22331.53331.85332.16332.48附录2:远程温度采集仪原理图33 33 附录3:上位机程序DimtemperatureAsSingle‘温度变量DimMaxWAsSingle'最大值DimMinWAsSingle'最小值Timer1.Enabled=Truestart=TimerCombo1.List(0)="5s"Combo1.List(1)="15s"Combo1.List(2)="30s"Combo1.List(3)="1min"Combo1.List(0)="COM1"Combo1.List(1)="COM2"Combo1.List(2)="COM3"Combo1.List(3)="COM4"Combo1.List(4)="COM5"端口下拉设置SelectCaseCombo1.TextCase"COM1"Form1.MSComm1.CommPort=1Case"COM2"Form1.MSComm1.CommPort=2Case"COM3"Form1.MSComm1.CommPort=3Case"COM4"Form1.MSComm1.CommPort=4Case"COM5"Form1.MSComm1.CommPort=5'通信端口选择EndSelectMSComm1.Settings="9600,n,8,1"'定义串口数据格式波特率9600b/s,无奇偶校验,8位数据,1位停止MSComm1.OutBufferCount=0'清空发送缓冲区MSComm1.InBufferCount=0'清空接收缓冲区MSComm1.PortOpen=True'打开串口MSComm1.InputMode=1'通过Input属性以二进制形式取回数据MSComm1.InputLen=0'Input属性一次读取缓冲区内全部数据MaxW=600'最大最小值赋初值MinW=0ExitSublll2:33 MsgBox"COM口不存在,请选择其他端口"PrivateSubcmdstart_Click()Dimoutdata(1)AsByte'定义一个字节型数组outdataoutdata(1)=&HAA'给其赋值为16进制AAbuf=""'定义字符串变量buf,并初始化为空buf=MSCcomm1.Input'清空出入缓冲区MSComm1.Output=outdata'将联络信号AA送入输出缓冲区PrivateSubTimer1_Timer()Dimbuf$Timer1.Enabled=Falsebuf=Trim(MSComm1.Input)'将缓冲区内的数据读入buf变量中IfLen(buf)=0Then'判断缓冲区内是否存在数据TextReceive.Text=""ElseTextReceive.Text=buf'送入显示窗口显示数值EndIfEndSubrivateSubMSComml_OnComm()‘事件响应子程序SelectCaseMSComml.CommEvent‘判断MSComml通讯事件CasecomEvReceive‘收到Rthreshold个字节产生的接收事件MSComml.RThreshold=0‘关闭OnComm事件接收TimeDelay20‘延时20mstemperatureShow=Right(MSComml.Input.7)‘读取第一个数据字节(BCD码高位字节)temperature=VaI(temperature5how)‘数值组合,标定小数点text3.Text=Value(temperature)'显示当前值Iftemperature>MaxWThenMaxW=temperaturetext1.Text=Value(Maxw)‘显示最大值Iftemperature

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭