基于单片机的涡流计设计.doc_第1页
基于单片机的涡流计设计.doc_第2页
基于单片机的涡流计设计.doc_第3页
基于单片机的涡流计设计.doc_第4页
基于单片机的涡流计设计.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

无 锡 职 业 技 术 学 院毕业设计说明书(论文)899基于单片机的涡流计毕业设计摘 要:工业生产中过程控制是流量测量与仪表应用的一大领域,流量与温度、压力和物位一起统称为过程控制中的四大参数,人们通过这些参数对生产过程进行监视与控制。对流体流量进行正确测量和调节是保证生产过程安全经济运行、提高产品质量、降低物质消耗、提高经济效益、实现科学管理的基础。流量的检测和控制在化工、能源电力、冶金、石油等领域应用广泛。关键字:AT89C51,ADC0809,流量检测,涡轮流量传感器引言:气体流量的测量在热电生产、石油化工、食品卫生等工业领域具有广泛的应用。随着传感器技术,微电子技术、单片机技术的发展为气体流量的精确测量提供了新的手段。随着传感器技术,微电子技术、单片机技术的发展为气体流量的精确测量提供了新的手段,本文以80C51单片机为智能检测核心,充分利用单片机丰富的硬件资源,配以适当的检测接口电路,可精确测量由涡街流量传感器或电磁流量传感器输出的代表流量大小的脉冲信号,以及气体在当地状态下的压力、温度等模拟电压信号。由软件计算出对虚的标准状态藏量和累积流量,以简单的硬件结构实现了一个高可靠性、高精度、多功能的气体流量检测系统。工业生产中过程控制是流量测量与仪表应用的一大领域,流量与温度、压力和物位一起统称为过程控制中的四大参数,人们通过这些参数对生产过程进行监视与控制。对流体流量进行正确测量和调节是保证生产过程安全经济运行、提高产品质量、降低物质消耗、提高经济效益、实现科学管理的基础。流量的检测和控制在化工、能源电力、冶金、石油等领域应用广泛。1.2 流量计的分类为了满足各种测量的需要,几百年来人们根据不同的测量原理,研究开发制造出了数十种不同类型的流量计,大致分为容积式、速度式、差压式、面积式、质量式等。各种类型的流量计量原理、结构不同既有独到之处又存在局限性。为达到较好的测量效果,需要针对不同的测量领域,不同的测量介质、不同的工作范围,选择不同种类、不同型号的流量计。工业计量中常用的几种气体流量计有: 差压式流量计、容积式流量计、涡轮流量计、涡街流量计、旋进涡轮流量计、时差式超声波流量计、科式质量流量计等。1差压式流量计:差压式流量计是以伯努利方程和流体连续性方程为依据,根据节流原理,当流体流经节流件时(如标准孔板、标准喷嘴、长径喷嘴、经典文丘利嘴、文丘利喷嘴等),在其前后产生压差,此差压值与该流量的平方成正比。2容积式流量计:在容积式流量计的内部,有一构成固定的大空间和一组将该空间分割成若干个已知容积的小空间的旋转体,如腰轮、皮膜、转筒、刮板、椭圆齿轮、活塞、螺杆等。旋转体在流体压差的作用下连续转动,不断地将流体从已知容积的小空间中排出。根据一定时间内旋转体转动的次数,即可求出流体流过的体积量。3涡街流量计:在流体中安放非流线型旋涡发生体,流体在旋涡发生体两侧交替地分离释放出两列规则的交替排列的旋涡涡街。在一定的流量(雷诺数)范围内,旋涡的分离频率与流经涡街流量传感器处流体的体积流量成正比。4时差式超声波流量计:当超声波穿过流动的流体时,在同一传播距离内,其沿顺流方向和沿逆流方向的传播速度则不同。在较宽的流量(雷诺数)范围内,该时差与被测流体在管道中的体积流量(平均流速)成正比。5涡轮流量计:气体涡轮流量计是一种速度式流量计,如图1.1 所示,它是由涡轮、轴承、前置放大器、显示仪表组成;被测流体冲击涡轮叶片,使涡轮旋转,涡轮的转速随流量的变化而变化,即流量大,涡轮的转速也大,再经磁电转换装置把涡轮的转速转换为相应频率的电脉冲,经前置放大器放大后,送入显示仪表进行计数和显示,根据单位时间内的脉冲数和累计脉冲数即可求出瞬时流量和累积流量。涡轮变送器的工作原理是当流体沿着管道的轴线方向流动,并冲击涡轮叶片时,便有kQ = f ,其中:Q 是流经变送器的流量(L/s);f 是电脉冲频率;k 是仪表系数,次/升。管道内流体的力作用在叶片上,推动涡轮旋转。在涡轮旋转的同时,叶片周期性地切割电磁铁产生的磁力线,改变线圈的磁通量。根据电磁感应原理,在线圈内将感应出脉动的电势信号,此脉动信号的频率与被测流体的流量成正比,k 是涡轮变送器的重要特性参数,它是代表每立方米流量有几个脉冲,或者每升流量有几个脉冲,不同的仪表有不同的k。涡轮变送器输出的脉冲信号,经前置放大器放大后,送入显示仪表,就可以实现流量的测量。1.3涡轮流量计的特点在各种流量计中涡轮流量计、容积式流量计是可以得到最佳重复性的少数仪表。二者相比,涡轮流量计又具有自己的特点,如结构简单、加工零部件少、质量轻、维修方便、成本低的特点。涡轮流量计还具有测量准确度高、测量范围广、压力损失小、惰性小、温度范围广及数字信号输出等优点。像这样的技术参数其他流量计则是难以达到的。因此涡轮流量计在工业上应用最广泛,发展最迅速。除了在石油、化工、电力工业中用来测量水、油品、燃气等管流流量及食品工业中测量牛奶、酒类等流量外,由于其兼有测量准确度高和重复性好的特点,故还可以作为校验其它流量计的标准表。涡轮流量计虽有很多优点,但由于涡轮必须与流体接触并转动,因此对被测流体的洁净度要求高。流体的温度、粘度、密度对仪表指示值也有较大影响。而且由于有转动部件,会带来轴承的磨损,使仪表的使用年限受到影响。因此,必须注意根据被测流体的具体情况恰当的选择变送器型式及其附属设备,如附加适当的过滤器等保护设备。应该指出,随着新材料、新工艺的发展,仪表转动部分的耐磨性、变送器的维修性能和寿命正在不断提高;随着对涡轮流量计粘度修正问题研究的不断深入以及测量线路的完善和微的应用,涡轮流量计可以方便和准确得进行各种参数的修正,显示仪表的性能也将更臻完善目前生产的双涡轮流量计,由于变送器内串联两个涡轮,可以互相校核,从而提高了仪表使用的可靠性,受到好评。可以语言,随着涡轮流量计结构和性能的不断完善,它将在各个领域中越来越广泛的得到应用,在流量测量和标准传递中发挥更大作用。除此之外,考虑到价格因素:用于检测气体流量的孔板的价格一般在40000-10000元,所以选用涡轮流量计作为检测元件是性价比比较适合的。系统工作原理2.1 总体设计(系统结构,主要是硬件结构,主要组成部件)通过AD转换器,作为单片机与外部输入的接口,将外部的模拟量输入单片机。单片机在系统软件的控制作用下,对输入的数据进行分析,向外部输出控制信号,实现LED显示。LED数码管显示动态的流量。系统软件主要包括主程序,显示程序和供主程序调用的各个小的子程序。主程序实现系统的总体功能,子程序实现相应的具体功能。2.2工作原理被测流体流经涡轮流量传感器时,传感器内的叶轮借助于流体的动能而产生旋转,周期性的改变磁电感应转换系统中的磁阻值,使通过线圈的磁通量周期性的发生变化而产生电脉冲信号。在一定的流量范围下,叶轮转速与流体流量成正比,即电脉冲数量与流量成正比。该脉冲信号经放大器放大后送至二次仪表进行流量和总量的显示或积算。在测量范围内,传感器输出的脉冲总数与流过传感器的体积总量成正比,其比值称为仪表常数,以K (次,L)表示。每台传感器都经过实际标定测得仪表常数值。当测出脉冲信号的频率f除以仪表常数K便可求得瞬进流量q(Ls)。即q-fK。流量传感器采集到流量信息,通过变换器,转化为电信号,AD转换器将模拟电信号转化为离散信号,传给单片机。单片机将信号以数字形式在LED数码管上显示。图1 原理框图传感器ADC0809AT89C51显示驱动LED显示硬件设计根据对系统机构的分析,针对流量监测中存在的(什么问题),我进行改进设计。3.1 检测电路硬件电路的总体设计系统的总体设计思想是流量传感器采集到流量信息,通过变换器,转化为电信号,AD转换器将模拟电信号转化为离散信号,传给单片机。单片机软件系统根据事先的设定值对采集的信息进行处理,输出离散的数字型号。数字先好通过LED数码管显示,从而实现对气体流量的检测。传感器传感器为光纤涡轮传感器,其结构如图所示。采用Y型多模光纤,由于光纤长度很短,传输损耗可忽略不计,为保证接收的光信号为最大,要求发光源的光量经过透镜后最大限度耦合给光纤,也就是使光纤的一个端面位于透镜的焦点上。另一方面,要求光线入射到光纤的入射角和光线出射后通过反射片反射回来入射到接收光纤的入射角尽量小于12。透镜用双胶合透镜,直径为4mm,调整好后胶接在探头上。采用光敏三极管或二极管将光信号转换成电信号,经放大后输入到计数器累计显示流量,其表达式:VKNK为比例系数:N为计数器的读数。比例常数K由涡轮叶片与轴线的夹角、涡轮的平均半径、涡轮所处的液流面积等因素决定。光纤涡轮传感器具有重现性和稳定性好,显示迅速,测量范围较大以及不易受电磁、温度等环境因素的干扰等优点。但该传感器的主要缺点是只能用来测量透明的气体或液体。图2 传感器3.2.1 AT89C51单片机及引脚介绍AT89C51属于MCS-51系列单片机。在MCS-51系列中,各类单片机是相互兼容的,只是引脚功能略有差异。在器件引脚的封装上,MCS-51系列机通常有两种封装:一种是双列直插式封装,常为HMOS型器件所用;另一种是方形封装,大多数在CHMOS型器件中使用。其中,引脚1和引脚2(方形封装为引脚2和引脚3)的第二功能仅用于8052/8032,NC为空引脚。如下图所示。AT89C51有40条引脚,共分为端口线、电源线和控制线三类。1端口线(48=32条)8051共有四个并行I/O端口,每个端口都有八条端口线,用于传送数据/地址。由于每个端口的结构各不相同,因此它们在功能和用途上的差别颇大。现对它们综述如下:P0.7P0.0:这组引脚共有八条,为P0口所专用,其中P0.7为最高位,P0.0为最低位。这八条引脚共有两种不同的功能,分别使用于两种不同的情况之下。第一种情况是AT89C51不带片外存储器,P0口可以作为通用I/O口使用,P0.7P0.0用于传送CPU的输入/输出数据。这时,输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性。第二种情况是AT89C51带片外存储器,P0.7P0.0在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。图3 AT89C51引脚图 其中,8751的P0口还有第三种功能,即它们可以用来得8751片内EPROM编程或进行编程后的读出校验。这时,P0.7P0.0用于传送EPROM的编程机器码或读出校验码。P1.7P1.0:这八条引脚和P0口的八条引脚类似,P1.7为最高位,P1.0为最低位。当P1口作为通用I/O使用时,P1.7P1.0 的功能和P0口的第一功能相同,也用于传送用户的输入输出数据。8751的P1口还有第二功能,既它在8751编程/校验时用于输入片内EPROM的低8位地址。即它可以作为通用P2.7P2.0:这组引脚的第一功能和上述两组引脚的第一功能相同, I/O使用。它的第二功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不能像P0口那样还可以传送存储器的读写数据。8751的P2.7P2.0还具有第二功能,即它可以配合P1.7P1.0传送片内EPROM12位地址中的高八位地址。P3.7P3.0:这组引脚的第一功能和其余三个端口的第一功能相同。第二功能作控制用,每个引脚并不完全相同,如表1所示。表1 P3口各位的第二功能P3口的位第二功能注释P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXDTXDT0T1串行数据接收口串行数据发送口外中断0输入外中断1输入计数器0计数输入计数器1计数输入外部RAM写选通信号外部RAM读选通信号2电源线(2条)VCC为+5V电源线,VSS为接地线。+5V电压也是利用三端稳压集成电路得到的,采用7805芯片。其用法和LM317差别不大,如下图8所示。LM7805的1端是电源的输入端,3端是输出端,2端是接地端。图3电源电路3控制线(6条)ALE/:地址锁存允许/编程线,配合P0口引脚的第二功能使用。在访问片外存储器时,8051CPU在P0.7P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/线上输出一个高电位脉冲,用于把这个片外存储器低8位地址锁存到外部专用地址锁存器。以便空出P0.7P0.0引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储器时,8051自动在ALE/线上输出频率为fOSC/6的脉冲序列。该脉冲序列可用作外部时钟电源或作为定时脉冲源使用。对于8751,ALE/线还具有第二功能。它可以在对8751片内EPROM编程/校验时传送52ms宽的负脉冲。/VPP:允许访问片外存储器/编程电源线,可以控制8051使用片内ROM还是使用片外ROM。若=1,则允许使用片内ROM;若=0,则允许使用片外ROM。对8751,/VPP用于在片内EPROM编程/校验时输入21V编程电源。:片外ROM选通线,在执行访问片外ROM的指令MOVC时,8051自动在线上产生一个负脉冲,用于为片外ROM芯片的选通。其他情况下,线均为高电平封锁状态。RST/VPD:复位/备用电源线,可以时8051处于复位(即初始化)工作状态。通常,8051 的复位有自动上电复位和人工按钮复位两种。RST/VPD的第二功能是作为备用电源输入端。当主电源VCC发生故障而降低到规定低电平时,RST/VPD线上的备用电源自动投入使用,以保证片内RAM中信息不丢失。在单片机应用系统中,除单片机本身需要复位以外,外部扩展I/O接口电路等也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接8051片内OSC的定时反馈回路。石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便使MCS-51片内的OSC电路按石英晶振相同频率自激振荡。通常,fOSC的输出时钟频率fOSC为0.5MHz16MHz,典型值为12MHz或11.059MHz。电容C01和C02可以帮助起振,典型值为30pf,调节它们可以达到微调fOSC的目的。MCS-51所需的时钟也可以由外部振荡器提供。外部时钟源应是方波发生器,频率应根据所用MCS-51中的具体机型确定。3.2.2 A/D转换元件 ADC有两大类:一类在电子线路中使用,不带使能控制端;另一类带有使能控制端,可和微机直接接口。ADC0809是一种8位逐次逼近式A/D转换器,可以和微机直接接口。ADC0809的姐妹芯片是ADC0808,可以相互代换。1.主要技术指标和特性(1)分辨率: 8位。(2)总的不可调误差: ADC0808为LSB,ADC 0809为1LSB。(3)转换时间: 取决于芯片时钟频率,如CLK=500kHz时,TCONV=128s。(4)单一电源: +5V。(5)模拟输入电压范围: 单极性05V;双极性5V,10V(需外加一定电路)。(6)具有可控三态输出缓存器。(7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D转换开始。(8)使用时不需进行零点和满刻度调节。2内部结构ADC0809由八路模拟开关、地址锁存与译码器、比较器、256电阻阶梯、树状开关、逐次逼近式寄存器SAR、控制电路和三态输出锁存器等组成。 图4 ADC0809内部结构(1)八路模拟开关及地址锁存与译码器八路模拟开关用于输入IN0IN7上八路模拟电压。地址锁存和译码器在ALE信号控制下可以锁存ADDA、ADDB和ADDC上地址信息,经译码后控制IN0IN7上哪一路模拟电压送入比较器。例如:当ADDA、ADDB和ADDC上均为低电平0以及ALE为高电平时,地址锁存和译码器输出使IN0上模拟电压送到比较器输入端VIN。(2)256电阻阶梯和树状开关为了简化问题起见,现以二位电阻阶梯和树状开关为例加以说明。其中,四个分压电阻使A、B、C和D四点分压成2.5V、1.5V、0.5V和0V。SAR中高位D1控制左边两只树状电子开关,低位D0控制右边四只树状开关。各开关旁的0和1表示树状开关闭合条件,由D1D0状态决定。例如:D1=1,则上面开关闭合而下面开关断开,D1=0时的情况正好与此相反。树状开关输出电压VST和D1D0关系列出于表2。表2 VST和D1D0的关系D1 D0VST0 00V0 10.5V1 01.5V1 12.5V对于8位A/D转换器,SAR为八位,电阻阶梯、树状开关和上述情况类似。只是要有28=256个分压电阻,形成256个标准电压供给树状开关使用。VST送给比较器输入端。(3)逐次逼近寄存器和比较器(引进事例,用16位)SAR在A/D转换过程中存放暂态数字量,在A/D转换完成后存放数字量,并可送到“三态输出锁存器”。A/D转移前,SAR为全0。A/D转换开始时,控制电路使SAR最高位为1,并控制树状开关的闭合和断开,由此产生VST送给比较器。比较器对输入模拟电压VIN和VST进行比较。若VINVST,则比较器输出逻辑0而使SAR最高位由1变为0;若VINVST,则比较器输出使SAR最高位保留1。此后,控制电路在保持最高位不变下,依次对次高位、次次高位最低位重复上述过程,就可在SAR中得到A/D转换完成后的数字量。(4)三态输出锁存器和控制电路三态输出锁存器用于锁存A/D转换完成后的数字量。CPU使OE引脚变为高电平就可以从“三态输出锁存器”取走A/D转换后的数字量。控制电路用于控制ADC0809的操作过程。2引脚功能ADC0809采用双列直插式封装,共有28条引脚,如图4.2所示,现分为四组简述如下:图5 ADC0809引脚图(1)IN0IN78路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。(2)D7D0A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。(3)ADDA、ADDB、ADDC模拟通道选择地址信号,ADDA为低位,ADDC为高位。地址信号与选中通道对应关系如表11.3所示。(4)VR(+)、VR(-)正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。表3 地址信号与选中通道的关系地 址选中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7(5)ALE地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。(6)STARTA/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。(7)EOC转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。(8)OE输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。3工作时序与使用说明ADC 0808/0809的工作时序如图3.3所示。当通道选择地址有效时,ALE信号一出现,地址便马上被锁存,这时转换启动信号紧随ALE之后(或与ALE同时)出现。START的上升沿将逐次逼近寄存器SAR复位,在该上升沿之后的2s加8个时钟周期内(不定),EOC信号将变低电平,以指示转换操作正在进行中,直到转换完成后EOC再变高电平。微处理器收到变为高电平的EOC信号后,便立即送出OE信号,打开三态门,读取转换结果。图6 ADC 0808/0809工作时序模拟输入通道的选择可以相对于转换开始操作独立地进行(当然,不能在转换过程中进行),然而通常是把通道选择和启动转换结合起来完成(因为ADC0808/0809的时间特性允许这样做)。这样可以用一条写指令既选择模拟通道又启动转换。在与微机接口时,输入通道的选择可有两种方法,一种是通过地址总线选择,一种是通过数据总线选择。如用EOC信号去产生中断请求,要特别注意EOC的变低相对于启动信号有2s+8个时钟周期的延迟,要设法使它不致产生虚假的中断请求。为此,最好利用EOC上升沿产生中断请求,而不是靠高电平产生中断请求。3.2.3 LED数码管LED(LightEmitting Diode)是发光二极管的简称。LED有七段和八段之分,也有共阴和共阳两种。1LED数码显示管原理LED数码管结构简单,价格便宜。八段LED显示管有八只发光二极管组成,编号是a、b、c、d、e、f、g和SP,分别和同名管脚相连。七段LED显示管比八段LED少一只发光二极管SP,其他的和八段LED相同。八段LED数码显示管原理很简单,是通过同名管脚是所加电平高低来控制发光二极管是否点亮而显示不同字形的。例如:若在共阴LED管的SP、g、f、e、d、c、b、a管脚上分别加上7FH控制电平(即:SP上为0伏,不亮;其余为TTL高电平,全亮),则LED显示管显示字形为“8”。7FH是按SP、g、f、e、d、c、b、a顺序排列后的十六进制编码(0为TTL低电平,1为TTL高电平),常称为字形码。因此,LED上所显示字形不同,相应字形码也不一样。八段共阴能显示的字形及相应字形码如表4所列。该表常放在内存,SGTB为表的起始地址,各地址骗移量为相应字形码对表始址的项数。由于“B”和“8”、“D”和“0”字形相同,故“B”和“D”均以小写字母“b”和“d”显示。LED数码显示管分为共阴和共阳两种。为共阴八段LED管时,所有发光二极管阴极共连后接到引脚G,G脚为控制端,用于控制LED是否点亮。若G脚接地,则 LED被点亮;若G脚TTL高电平,则它被熄灭。为共阳八段LED数码显示管时,所有发光二极管阳极共连后接到G脚。正常显示时G脚接+5V,各发光二极管是否点亮取决于aSP各引脚上是否是低电平0伏。因此,共阴和共阳所需字形码正好相反,如表5所列。2MCS-51对LED的显示接口电路MCS-51对LED管的显示可以分为静态和动态两种。静态显示的特点是各LED管能稳定地同时显示各自字形;动态显示是指各LED轮流一遍一遍显示各自字符,人们因视觉惰性而看到的是各LED似乎在同时显示不同字形。表 4 八段LED数码显示管字型码表地址偏移量共阴字形码共阳字形码所显字符SGTB+0H3FHC0H0+1H06HF9H1+2H5BHA4H2+3H4FHB0H3+4H66H99H4+5H6DH92H5+6H7DH82H6+7H07HF8H7+8H7FH80H8+9H6FH90H9+AH77H88HA+BH7CH83Hb+CH39HC6HC+DH5EHA1Hd+EH79H86HE+FH71H8EHF+10H00HFFH空格+11HF3H0CHP+12H76H89HH+13H80H7FH+14H40HBFH图7 数码管原理图图8 共阴极数码管实物图3.3 单片机与芯片接口3.3.1 与A/D的接口MCS-51和ADC接口必须弄清和处理好三个问题:要给START线送一个100ns宽的起动正脉冲;获取EOC线上的状态信息,因为它是A/D转换的结束标志;要给“三态输出锁存器”分配一个端口地址,也就是给OE线上送一个地址译码器输出信号。MCS-51和ADC接口通常可以采用查询和中断两种方式。采用查询法传送数据时,MCS-51应对EOC线查询它的状态:若它为低电平,表示A/D转换正在进行,则MCS-51应当继续查询;若查询到EOC变为高电平,则就给OE线一个高电平,以便2-12-6线上提取A/D转换后的数字量。采用中断方式传送数据时,EOC线作为CPU的中断请求输入线。CPU响应中断后,应在中断服务程序中使OE线变为高电平,以提取A/D转换后的数字量。图9 A/D接口电路3.3.2 与LED现实的接口(1)静态显示在单片机应用系统中,常采用MC14495芯片作为LED的静态显示接口,它可以和LED显示器直接连接。MC14495芯片是由4位锁存器、地址译码器和笔段ROM阵列以及带有限流电阻的驱动电路(输出电流为10mA)等三部分电路组成。A、B、C、D为二进制码(或BCD码)输入端;为锁存控制端,为低电平时可以输入数据。为高电平时锁存输入数据,h+I为输入数据大于等于10指示位,若输入数据大于或等于10,则h+I输出高电平,否则输出为低电平;为输入等于15指示位,若输入数据等于15,则输出高电平,否则为高阻状态。MC14495芯片的作用是输入被显字符的二进制码(或BCD码),并把它自动转换成相应字形码,送给LED显示。图7-31为采用MC14495芯片的4位静态LED显示器接口电路。图中,P1.7P1.4用于输出欲显示字符的二进制码(或BCD码),P1.2=0用于控制二四译码器工作,P1.1和P1.0经译码器输出后控制MC14495中哪一位接收P1.7P1.4上代码。(2)动态显示为了减少硬件开锁,提高系统可靠性和降低成本,单片机控制系统通常采用动态扫描显示。图3.7示出了89C51通过对六只共阳LED的接口电路。图中,B口和所有LED的a、b、c、d、e、f、g、SP引线相连,各LED控制端G和8155C口相连,故B口为字形口和C口为字位口,因为CPU可以通过C口控制各LED是否点亮。动态显示采用软件法把欲显示十六进制数(或BCD码)转换为相应字形码,故它通常需要在RAM区建立一个显示缓冲区。显示缓冲区内包含的存储单元个数常和系统中LED显示器个数相等。显示缓冲区的起始地址很重要,它决定了显示缓冲区在RAM中的位置。显示缓冲区中每个存储单元用于存放相应LED显示器欲显示的字形码地址偏移量,故CPU可以根据这个地址偏移量通过查字形码表来找出所需显示字符的字形码,以便送到字形口显示。当显示器位数较少时,采用静态显示的方法是适合的。当位数较多时,用静态显示所需的I/O太多,一般采用动态显示方法。图10 LED接口电路采用四联排共阴极数码管进行显示,具有四位数码管,这四个数码管的段选a、b、c、d、e、f、g分别接在一起,每一个都拥有一个共阴的位选端。P3口控制数码管的点亮情况。因为单片机的IO口输出功率有限,需要使用74LS374芯片进行锁存。此外还用一个电阻R-PACK8来保护LED。系统软件设计系统软件设计是该设计的核心,也是设计的重点和难点部分。控制系统软件设计的好坏直接影响到该控制系统的控制功能,因此,要想做好本设计,一个好的系统软件是关键。该控制系统的程序主要分为三部分:主程序、各种中断子程序。主程序完成系统的地址分配、系统初始化。实现系统的数字化显示。各子程序完成相应的各功能。 主程序数码管显示键盘输入数据采集图11 程序结构图4.1 主程序结构图主程序部分,主要完成存储器分配、系统初始化等,并通过调用各子程序段,实现软件的总体设计功能。开始系统初始化采样中断显示流量值图12 主程序框图#include #define uchar unsigned char #define uint unsigned int uchar out0=0x7f ; /赋初值uchar buf3=0,0,0;/全局数组uchar pr=0x57,0x6E,0x5E,0x3E,0x6D,0x5D,0x3D,0x6B,0x5B,0x3B;uchar discode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;int AD; /转换结果,十六进制int uuu,sc=0; int Int_result, /标度变换后的结果sbit Dataout=P10; /数据线sbit cs=P11; /片选sbit sclk=P12; /io口时钟sbit dx=P13; /断码显示控制锁存sbit wx=P14; /位控控制锁存sbit sw=P17;sbit PWM=P15;sbit direction=P16;void delay1ms(uchar T) /单位时间1ms延时 uchar time; while(T-) for(time=0;time0) wx=0; P0=0xfb; wx=1; dx=0; P0=discodeshi;/|0x80; /显示十位 dx=1;delay1ms(1); wx=0; P0=0xfd; wx=1; dx=0; P0=discodebai; /显示百位 dx=1;delay1ms(1); 4.3 A/D转换程序初始化读取上次数据延时复位处理数据图13AD_val() uchar i,temp=0; cs=1;/初始化,启动 sclk=0; cs=0; _nop_(); for(i=0;i8;i+)/读取采集数据,读取的是上一次采集数据 sclk=1; temp=temp1; if(Dataout) temp |=0x01; sclk=0; cs=1; AD=temp; for(i=0;i5;i+) /延时17us以上,进行复位 _nop_(); Int_result=AD*100/256; /处理整数 uuu=Int_result; 抗干扰技术干扰的来源是多方面的,有时候也是错综复杂的。对于计算机控制系统来说,干扰可能来源于外部,也可能来源于内部。外部干扰指那些与系统结构无关,而是由外界环境因素决定的;而内部干扰则是由系统结构、制造工艺等所决定的。外部干扰主要是由空间电或磁的影响。例如:输电线和电气设备发出的电磁场,通讯广播发射的无线电波,太阳或其他天体辐射出的电磁波,空中雷电,火花放电,弧光放电辉光放电等放电现象,甚至湿度,气温等气象条件也是外来干扰。内部干扰主要是分布电容,分布电感引起的耦合感应,电磁场辐射感应,长线传输的波反应,多点节底引起的电位差引起的干扰,寄生震荡引起的干扰,甚至原器件产生的噪音也属于干扰。从机理上看,外部干扰和内部干扰的物理性质相同,引而消除火抑制它们的方法没有本质上的区别,常见的干扰由以下三种:即串模干扰、共模干扰和长线传输干扰。5.1硬件措施5.1.1模拟量输入回路抗干扰措施在此电路中加入RC滤波器,以减小工频干扰信号对输入信号的影响,如下图5-1所示:图14 RC滤波电路5,1.2长线传输的抗千扰措施单片机和处理数据的PC机通信,二者相距有一定的距离,为了防止距离的变化所造成的干扰,采取屏蔽技术,用屏蔽线接地的方法减少传输线上所产生的干扰。5.2软件措施当CPU 受到干扰后, 测控程序偏离了预定路径运行, 往往引起程序混乱。这时要采取措施将程序尽快引入正轨, 以下介绍几种抗干扰的措施。5.2.1插入NOP 指令在指令系统中有一种空操作指令NOP , 其只有一个操作码而没有操作数, 执行NOP 指令时只是将程序计数器加1 , 不进行任何其它操作, 相当于程序跳过一个字节。其主要用途为:(1) 进行延时或等待。(2) 用来调试程序。(例如删除某些指令, 可用NOP 指令取代即可) 。(3) 在程序中安排一些NOP 指令, 为以后添加一些新的指令留好存储空间。但除此之外, 在软件抗干扰方面, NOP 指令还有重要作用。当CPU 受干扰时, 会引起程序计数器PC 的混乱。若程序“跑飞“到某一条单字节上时, 整个系统不会受到太大的扰动。程序虽然出现错误, 但仍然按流程运行, 很快误差得到纠正。可是如果程序“跑飞“到某多字节上的操作数上时, 将操作数误认为操作码, 从而造成连续出错。这时可采用在一些多字节指令之后和一些关键指令之前(如: RET、CALL、RETI、LCALL、SJMP 等) 插入几条NOP 指令, 从而使最后一条NOP 指令不会被前面的失控程序拆散, 而被执行, 而重新使以后的程序走上正轨。5.2.2设置软件陷阱CPU 受干扰时, 有时程序会“跑飞“到非程序区。对于这种情况可采用软件陷阱的方法解决, 即在非程序区设置拦截措施, 当PC 失控时, 程序“跑飞“到非程序区时, 使程序进入陷井, 从而使程序返回正常状态。5.2.3设置看门狗还有一种常见的情况是“跑飞”的程序既没有进入软件陷阱, 又没有遇到冗余指令, 而自动形成一个死循环, 则可使用权用监视定时器(俗称看门狗) 的方法。大多数可靠性高的测控系统都设置监控定时器功能单元。其可使因受到干扰而偏离了预定路径运行的测控应用程序能在允许的时间内回到原先的路径上来, 从而保障系统的正常运行。监控定时器功能单元可由硬件方法实现, 也可由软件方法实现。图15 AD590系列主要电特性 当随机干扰混入干扰信号时,可采用滤波器滤掉信号中的无用成分,提高信号质量。模拟信号在低频和甚低频时实现是比较困难的。而数字滤波器不存在这些问题,它具有高精度、高稳定性和高可靠性的特点因而被广泛用于克服随机误差。数字滤波有以下特点:(1) 数字滤波是由软件程序实现的,不需要硬件,因此不存在阻抗匹配问题。(2) 对于多路信号输入通道,可以共用一个软件滤波器,从而降低设备的硬件成本。(3) 只要适当改变滤波器程序或运算参数,就能方便的改变滤波特性,这对于低频脉冲干扰和随机噪声的克服特别有效。数字滤波分为低通滤波、限幅滤波、中值滤波和算术平均滤波。其中中值滤波是对某一被测参数连续采样n次,然后把n次采样值按大小排列,取中间值为本次采样,中值滤波能有效地克服偶然因数引起的波动或采样器不稳定引起的误码等脉冲干扰。本设计采取中值滤波。每次获得一个采样数据时,连续采样三次,找出三个采样值中的一个居中的值作为本次采样的值。参考文献1 张毅刚. 单片机原理及应用J. 高等教育出版社,20032 徐科军传. 传感器与检测技术J. 电子工业出版社,20043 饶云涛,邹继军等.现场总线CAN原理及应用技术M. 北京航空航天大学出版社,20044 邬宽名. 现场总线技术应用选编M. 北京航空航天大学出版社,20035 李玉玉. 单片机智能流量仪J。 微小计算机开发与应用,1993,56 崔金宝. 高精度气体流量监测系统设计J。全国单片机学术交流会全国单片机学术交流会论文集,1998 7 魏颖. 基于单片机的流量检测表设计J。太原科技,2007,108 徐鹿眉. 基于P87C591单片机的管道气体检测系统设计J。现代电子技术,2006,9 孙洪程,李大宇,翁维勤等. 过程控制系统M.高等教育出版社,2006,210 周开利,邓春晖. MATLAB基础及其应用教J.北京大学出版社,2003,3袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄

温馨提示

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

评论

0/150

提交评论