《基于单片机的涡流计设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的涡流计设计.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、. .899基于单片机的涡流计毕业设计摘 要:工业生产中过程控制是流量测量与仪表应用的一大领域,流量与温度、压力和物位一起统称为过程控制中的四大参数,人们通过这些参数对生产过程进展监视与控制。对流体流量进展正确测量和调节是保证生产过程平安经济运行、提高产品质量、降低物质消耗、提高经济效益、实现科学管理的根底。流量的检测和控制在化工、能源电力、冶金、石油等领域应用广泛。关键字:AT89C51,ADC0809,流量检测,涡轮流量传感器引言:气体流量的测量在热电生产、石油化工、食品卫生等工业领域具有广泛的应用。随着传感器技术,微电子技术、单片机技术的开展为气体流量的准确测量提供了新的手段。随着传感器
2、技术,微电子技术、单片机技术的开展为气体流量的准确测量提供了新的手段,本文以80C51单片机为智能检测核心,充分利用单片机丰富的硬件资源,配以适当的检测接口电路,可准确测量由涡街流量传感器或电磁流量传感器输出的代表流量大小的脉冲信号,以及气体在当地状态下的压力、温度等模拟电压信号。由软件计算出对虚的标准状态藏量和累积流量,以简单的硬件构造实现了一个高可靠性、高精度、多功能的气体流量检测系统。工业生产中过程控制是流量测量与仪表应用的一大领域,流量与温度、压力和物位一起统称为过程控制中的四大参数,人们通过这些参数对生产过程进展监视与控制。对流体流量进展正确测量和调节是保证生产过程平安经济运行、提高
3、产品质量、降低物质消耗、提高经济效益、实现科学管理的根底。流量的检测和控制在化工、能源电力、冶金、石油等领域应用广泛。1.2 流量计的分类为了满足各种测量的需要,几百年来人们根据不同的测量原理,研究开发制造出了数十种不同类型的流量计,大致分为容积式、速度式、差压式、面积式、质量式等。各种类型的流量计量原理、构造不同既有独到之处又存在局限性。为到达较好的测量效果,需要针对不同的测量领域,不同的测量介质、不同的工作X围,选择不同种类、不同型号的流量计。工业计量中常用的几种气体流量计有:差压式流量计、容积式流量计、涡轮流量计、涡街流量计、旋进涡轮流量计、时差式超声波流量计、科式质量流量计等。1差压式
4、流量计:差压式流量计是以伯努利方程和流体连续性方程为依据,根据节流原理,当流体流经节流件时如标准孔板、标准喷嘴、长径喷嘴、经典文丘利嘴、文丘利喷嘴等,在其前后产生压差,此差压值与该流量的平方成正比。2容积式流量计:在容积式流量计的内部,有一构成固定的大空间和一组将该空间分割成假设干个容积的小空间的旋转体,如腰轮、皮膜、转筒、刮板、椭圆齿轮、活塞、螺杆等。旋转体在流体压差的作用下连续转动,不断地将流体从容积的小空间中排出。根据一定时间内旋转体转动的次数,即可求出流体流过的体积量。3涡街流量计:在流体中安放非流线型旋涡发生体,流体在旋涡发生体两侧交替地别离释放出两列规那么的交替排列的旋涡涡街。在一
5、定的流量雷诺数X围内,旋涡的别离频率与流经涡街流量传感器处流体的体积流量成正比。4时差式超声波流量计:当超声波穿过流动的流体时,在同一传播距离内,其沿顺流方向和沿逆流方向的传播速度那么不同。在较宽的流量雷诺数X围内,该时差与被测流体在管道中的体积流量平均流速成正比。5涡轮流量计:气体涡轮流量计是一种速度式流量计,如图1.1 所示,它是由涡轮、轴承、前置放大器、显示仪表组成;被测流体冲击涡轮叶片,使涡轮旋转,涡轮的转速随流量的变化而变化,即流量大,涡轮的转速也大,再经磁电转换装置把涡轮的转速转换为相应频率的电脉冲,经前置放大器放大后,送入显示仪表进展计数和显示,根据单位时间内的脉冲数和累计脉冲数
6、即可求出瞬时流量和累积流量。涡轮变送器的工作原理是当流体沿着管道的轴线方向流动,并冲击涡轮叶片时,便有kQ = f ,其中:Q 是流经变送器的流量L/s;f 是电脉冲频率;k 是仪表系数,次/升。管道内流体的力作用在叶片上,推动涡轮旋转。在涡轮旋转的同时,叶片周期性地切割电磁铁产生的磁力线,改变线圈的磁通量。根据电磁感应原理,在线圈内将感应出脉动的电势信号,此脉动信号的频率与被测流体的流量成正比,k 是涡轮变送器的重要特性参数,它是代表每立方米流量有几个脉冲,或者每升流量有几个脉冲,不同的仪表有不同的k。涡轮变送器输出的脉冲信号,经前置放大器放大后,送入显示仪表,就可以实现流量的测量。1.3涡
7、轮流量计的特点在各种流量计中涡轮流量计、容积式流量计是可以得到最正确重复性的少数仪表。二者相比,涡轮流量计又具有自己的特点,如构造简单、加工零部件少、质量轻、维修方便、本钱低的特点。涡轮流量计还具有测量准确度高、测量X围广、压力损失小、惰性小、温度X围广及数字信号输出等优点。像这样的技术参数其他流量计那么是难以到达的。因此涡轮流量计在工业上应用最广泛,开展最迅速。除了在石油、化工、电力工业中用来测量水、油品、燃气等管流流量及食品工业中测量牛奶、酒类等流量外,由于其兼有测量准确度高和重复性好的特点,故还可以作为校验其它流量计的标准表。涡轮流量计虽有很多优点,但由于涡轮必须与流体接触并转动,因此对
8、被测流体的干净度要求高。流体的温度、粘度、密度对仪表指示值也有较大影响。而且由于有转动部件,会带来轴承的磨损,使仪表的使用年限受到影响。因此,必须注意根据被测流体的具体情况恰当的选择变送器型式及其附属设备,如附加适当的过滤器等保护设备。应该指出,随着新材料、新工艺的开展,仪表转动局部的耐磨性、变送器的维修性能和寿命正在不断提高;随着对涡轮流量计粘度修正问题研究的不断深入以及测量线路的完善和微的应用,涡轮流量计可以方便和准确得进展各种参数的修正,显示仪表的性能也将更臻完善目前生产的双涡轮流量计,由于变送器内串联两个涡轮,可以互相校核,从而提高了仪表使用的可靠性,受到好评。可以语言,随着涡轮流量计
9、构造和性能的不断完善,它将在各个领域中越来越广泛的得到应用,在流量测量和标准传递中发挥更大作用。除此之外,考虑到价格因素:用于检测气体流量的孔板的价格一般在40000-10000元,所以选用涡轮流量计作为检测元件是性价比比拟适合的。系统工作原理2.1 总体设计系统构造,主要是硬件构造,主要组成部件通过AD转换器,作为单片机与外部输入的接口,将外部的模拟量输入单片机。单片机在系统软件的控制作用下,对输入的数据进展分析,向外部输出控制信号,实现LED显示。LED数码管显示动态的流量。系统软件主要包括主程序,显示程序和供主程序调用的各个小的子程序。主程序实现系统的总体功能,子程序实现相应的具体功能。
10、2.2工作原理被测流体流经涡轮流量传感器时,传感器内的叶轮借助于流体的动能而产生旋转,周期性的改变磁电感应转换系统中的磁阻值,使通过线圈的磁通量周期性的发生变化而产生电脉冲信号。在一定的流量X围下,叶轮转速与流体流量成正比,即电脉冲数量与流量成正比。该脉冲信号经放大器放大后送至二次仪表进展流量和总量的显示或积算。在测量X围内,传感器输出的脉冲总数与流过传感器的体积总量成正比,其比值称为仪表常数,以K (次,L)表示。每台传感器都经过实际标定测得仪表常数值。当测出脉冲信号的频率f除以仪表常数K便可求得瞬进流量q(Ls)。即q-fK。流量传感器采集到流量信息,通过变换器,转化为电信号,AD转换器将
11、模拟电信号转化为离散信号,传给单片机。单片机将信号以数字形式在LED数码管上显示。图1 原理框图传感器ADC0809AT89C51显示驱动LED显示硬件设计根据对系统机构的分析,针对流量监测中存在的什么问题,我进展改良设计。3.1 检测电路硬件电路的总体设计系统的总体设计思想是流量传感器采集到流量信息,通过变换器,转化为电信号,AD转换器将模拟电信号转化为离散信号,传给单片机。单片机软件系统根据事先的设定值对采集的信息进展处理,输出离散的数字型号。数字先好通过LED数码管显示,从而实现对气体流量的检测。传感器传感器为光纤涡轮传感器,其构造如下图。采用Y型多模光纤,由于光纤长度很短,传输损耗可忽
12、略不计,为保证接收的光信号为最大,要求发光源的光量经过透镜后最大限度耦合给光纤,也就是使光纤的一个端面位于透镜的焦点上。另一方面,要求光线入射到光纤的入射角和光线出射后通过反射片反射回来入射到接收光纤的入射角尽量小于12。透镜用双胶合透镜,直径为4mm,调整好后胶接在探头上。采用光敏三极管或二极管将光信号转换成电信号,经放大后输入到计数器累计显示流量,其表达式:VKNK为比例系数:N为计数器的读数。比例常数K由涡轮叶片与轴线的夹角、涡轮的平均半径、涡轮所处的液流面积等因素决定。光纤涡轮传感器具有重现性和稳定性好,显示迅速,测量X围较大以及不易受电磁、温度等环境因素的干扰等优点。但该传感器的主要
13、缺点是只能用来测量透明的气体或液体。图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端口,每个端口都有八条端口线,用于
14、传送数据/地址。由于每个端口的构造各不一样,因此它们在功能和用途上的差异颇大。现对它们综述如下:P0.7P0.0:这组引脚共有八条,为P0口所专用,其中P0.7为最高位,P0.0为最低位。这八条引脚共有两种不同的功能,分别使用于两种不同的情况之下。第一种情况是AT89C51不带片外存储器,P0口可以作为通用I/O口使用,P0.7P0.0用于传送CPU的输入/输出数据。这时,输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性。第二种情况是AT89C51带片外存储器,P0.7P0.0在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片
15、外存储器的读写数据。图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使用。
16、它的第二功能和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计数输入外部R
17、AM写选通信号外部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引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储
18、器时,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芯片的选通。其他情况下,线均为高电平
19、封锁状态。RST/VPD:复位/备用电源线,可以时8051处于复位即初始化工作状态。通常,8051 的复位有自动上电复位和人工按钮复位两种。RST/VPD的第二功能是作为备用电源输入端。当主电源VCC发生故障而降低到规定低电平时,RST/VPD线上的备用电源自动投入使用,以保证片内RAMXX息不丧失。在单片机应用系统中,除单片机本身需要复位以外,外部扩展I/O接口电路等也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接8051片内OSC的定时反响回路。石英晶振起振后要能在XTAL2线上输
20、出一个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的姐妹
21、芯片是ADC0808,可以相互代换。1.主要技术指标和特性1分辨率: 8位。2总的不可调误差: ADC0808为LSB,ADC 0809为1LSB。3转换时间:取决于芯片时钟频率,如CLK=500kHz时,TCONV=128s。4单一电源: +5V。5模拟输入电压X围:单极性05V;双极性5V,10V(需外加一定电路)。6具有可控三态输出缓存器。7启动转换控制为脉冲式(正脉冲),上升沿使所有内部存放器清零,下降沿使A/D转换开场。8使用时不需进展零点和满刻度调节。2内部构造ADC0809由八路模拟开关、地址锁存与译码器、比拟器、256电阻阶梯、树状开关、逐次逼近式存放器SAR、控制电路和三态输
22、出锁存器等组成。图4ADC0809内部构造1八路模拟开关及地址锁存与译码器八路模拟开关用于输入IN0IN7上八路模拟电压。地址锁存和译码器在ALE信号控制下可以锁存ADDA、ADDB和ADDC上地址信息,经译码后控制IN0IN7上哪一路模拟电压送入比拟器。例如:当ADDA、ADDB和ADDC上均为低电平0以及ALE为高电平时,地址锁存和译码器输出使IN0上模拟电压送到比拟器输入端VIN。2256电阻阶梯和树状开关为了简化问题起见,现以二位电阻阶梯和树状开关为例加以说明。其中,四个分压电阻使A、B、C和D四点分压成2.5V、1.5V、0.5V和0V。SAR中高位D1控制左边两只树状电子开关,低位
23、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转换完成后存放数字量,并可送到“三态输出
24、锁存器。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
25、的操作过程。2引脚功能ADC0809采用双列直插式封装,共有28条引脚,如图4.2所示,现分为四组简述如下:图5 ADC0809引脚图1IN0IN78路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。2D7D0A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。3ADDA、ADDB、ADDC模拟通道选择地址信号,ADDA为低位,ADDC为高位。地址信号与选中通道对应关系如表11.3所示。4VR(+)、VR(-)正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)
26、=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。表3 地址信号与选中通道的关系地址选中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN75ALE地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。6STARTA/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近存放器清零,下降沿开场A/D转换。如正在进展转换时又接到新的启动脉冲,那么原来的转换进程被中止,重新从
27、头开场转换。7EOC转换完毕信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反响接到START端,但在刚加电时需由外电路第一次启动。8OE输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被翻开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。3工作时序与使用说明ADC 0808/0809的工作时序如图3.3所示。当通道选择地址有效时,ALE信号一出现,地址便马上被
28、锁存,这时转换启动信号紧随ALE之后(或与ALE同时)出现。START的上升沿将逐次逼近存放器SAR复位,在该上升沿之后的2s加8个时钟周期内(不定),EOC信号将变低电平,以指示转换操作正在进展中,直到转换完成后EOC再变高电平。微处理器收到变为高电平的EOC信号后,便立即送出OE信号,翻开三态门,读取转换结果。图6 ADC 0808/0809工作时序模拟输入通道的选择可以相对于转换开场操作独立地进展(当然,不能在转换过程中进展),然而通常是把通道选择和启动转换结合起来完成(因为ADC0808/0809的时间特性允许这样做)。这样可以用一条写指令既选择模拟通道又启动转换。在与微机接口时,输入
29、通道的选择可有两种方法,一种是通过地址总线选择,一种是通过数据总线选择。如用EOC信号去产生中断请求,要特别注意EOC的变低相对于启动信号有2s+8个时钟周期的延迟,要设法使它不致产生虚假的中断请求。为此,最好利用EOC上升沿产生中断请求,而不是靠高电平产生中断请求。3.2.3 LED数码管LEDLightEmitting Diode是发光二极管的简称。LED有七段和八段之分,也有共阴和共阳两种。1LED数码显示管原理LED数码管构造简单,价格廉价。八段LED显示管有八只发光二极管组成,编号是a、b、c、d、e、f、g和SP,分别和同名管脚相连。七段LED显示管比八段LED少一只发光二极管SP
30、,其他的和八段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
31、、“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管能稳定地同时显示各自字形;动
32、态显示是指各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+14H4
33、0HBFH图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线上提取
34、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指示位,假设输入数据
35、大于或等于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示出了89C
36、51通过对六只共阳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可以根据这个地址偏移量通过查字形码表来找出所需显示字符的字形码,以便送到字
37、形口显示。当显示器位数较少时,采用静态显示的方法是适合的。当位数较多时,用静态显示所需的I/O太多,一般采用动态显示方法。图10 LED接口电路采用四联排共阴极数码管进展显示,具有四位数码管,这四个数码管的段选a、b、c、d、e、f、g分别接在一起,每一个都拥有一个共阴的位选端。P3口控制数码管的点亮情况。因为单片机的IO口输出功率有限,需要使用74LS374芯片进展锁存。此外还用一个电阻R-PACK8来保护LED。系统软件设计系统软件设计是该设计的核心,也是设计的重点和难点局部。控制系统软件设计的好坏直接影响到该控制系统的控制功能,因此,要想做好本设计,一个好的系统软件是关键。该控制系统的程
38、序主要分为三局部:主程序、各种中断子程序。主程序完成系统的地址分配、系统初始化。实现系统的数字化显示。各子程序完成相应的各功能。 主程序数码管显示键盘输入数据采集图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
39、,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=P1
40、6;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; _n
41、op_(); 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;抗干扰技术干扰的来源是多方面的,有时候也是错综复杂的。对于计算机控制系统来说,干扰可能来源于外部,也可能来源于内部。外部干扰指那些与系统构造无关,而是由外界环境因素决定的;而内部干扰那么是由系统构造、制造工艺等所决定
42、的。外部干扰主要是由空间电或磁的影响。例如:输电线和电气设备发出的电磁场,通讯播送发射的无线电波,太阳或其他天体辐射出的电磁波,空中雷电,火花放电,弧光放电辉光放电等放电现象,甚至湿度,气温等气象条件也是外来干扰。内部干扰主要是分布电容,分布电感引起的耦合感应,电磁场辐射感应,长线传输的波反响,多点节底引起的电位差引起的干扰,寄生震荡引起的干扰,甚至原器件产生的噪音也属于干扰。从机理上看,外部干扰和内部干扰的物理性质一样,引而消除火抑制它们的方法没有本质上的区别,常见的干扰由以下三种:即串模干扰、共模干扰和长线传输干扰。5.1硬件措施5.1.1模拟量输入回路抗干扰措施在此电路中参加RC滤波器,
43、以减小工频干扰信号对输入信号的影响,如下列图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