显示气压、冲击频率和耗气量数显表_第1页
显示气压、冲击频率和耗气量数显表_第2页
显示气压、冲击频率和耗气量数显表_第3页
显示气压、冲击频率和耗气量数显表_第4页
显示气压、冲击频率和耗气量数显表_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

引言本毕业设计的设计任务为一个多功能数显表。该数显表可以测量和显示气压、冲击频率和耗气量。并且具有RS232接口和时间显示。本毕业设计作品选用AK-4气压传感器和LWGY涡轮流量传感器,通过MCS-51单片机来控制操作,实现信号数据的采集、处理和发送。本毕业设计作品不仅可以将气压、冲击频率、耗气量及时间等数据显示在8个LED数码管上,还会通过RS232串口,将数据发送到PC上。并由PC上的配套程序,将信息数据显示在显示器上,这两部分所显示的数据是完全相同的。其中数字显示时间单位为秒,冲击频率的单位为BMP,耗气量的单位为立方米/小时。同时,系统会自动计时,开始运行3分钟之后,自动结束测量、显示,并保存信息数据。下面就将对本毕业设计作品进行详细的介绍。1. 设计任务1.1 任务说明本毕业设计的课题为多功能数显表。设计的主要任务为设计一个多功能数显表,该数显表可以测量和显示气压、冲击频率和耗气量。而且还要有RS232接口和时间显示。对于本次毕业设计的任务还有以下的要求。首先,要采用AK-4气压传感器和LWGY涡轮流量传感器来采集信息数据。其次,要采用MCS51单片机来完成系统的控制,要求制作单片机控制系统、驱动电路、A/D转换、显示电路以及测量电路。再次,系统的电源要求采用220V供电。然后,还要求在测量开始时,开始计时,3分钟后自动结束测量并保存数据。而且,RS232的波特率为4800。最后,规定了数字显示数据的内容和单位:时间(秒)、冲击频率(BMP)、耗气量(立方米/小时)。1.2 任务分析根据本次毕业设计的课题和设计的主要任务,我们可以知道,要设计的系统的主要功能就是对气压、冲击频率和耗气量的测量和显示。要完成对气压、冲击频率和耗气量的测量,就必须要用到传感器。根据设计任务的具体要求,就可以知道:AK-4气压传感器很明显是用来测量气体气压的传感器,它的输出信号就是数显表要显示的冲击频率和气压数据的信息来源;LWGY涡轮流量传感器则应该是数显表显示的耗气量数据的信息来源。但在这其中需要要注意的问题就是,两个传感器的输出信号的类型不一定能够直接传送到MCS-51单片机去处理。那么,就要弄清楚各自的输出信号的类型,然后分别设计出信号的处理电路,将它们转换成MCS-51单片机可以接受的信号。否则,MCS-51单片机可能根本接收不到数据,或接收到的数据中的信息并不是我们所需要的。还有一个主要功能就是对气压、冲击频率和耗气量的显示功能。数据的显示部分,我们只需要扩展出几个LED数码管,就可以将数据信息很好的显示出来。要实现这个功能,首先,就要有驱动电路来驱动LED数码管,让LED数码管有显示数据的必要条件;其次,还要有需要显示的信息数据,这些数据就要来源于MCS-51单片机,MCS-51单片机提供这些信息数据之前,要对传感器传输过来的信息做好转换处理,来保证信息的准确性和可靠性。这个部分需要注意的问题是,系统要扩展出多个LED数码管,要处理好信息传输的时序,以保证LED数码管得到的数据信息,与我们想要它们显示的信息是一致的。这就需要有MCS-51单片机要发出一个选定使能信号,每次只有一个LED数码管是接收和显示数据年的。MCS-51单片机循环选定一遍所有LED数码管,就可以很好的完成一次完整的数据显示过程。但是,这个过程的处理时间是很快的,很难让人眼的视觉有滞留的感觉。所以,要让LED数码管有满意的显示效果,就必须加上数据的锁存,让LED数码管得到数据信息后可以一直显示收到的信息,直到下一次数据传输过来的时候,数据就会被刷新,这样就可以很好的实现这个功能了。而至于时间的显示,我们可以通过MCS-51单片机的计时器功能来实现。系统还有一个功能就是要有RS232串行通讯接口连接到PC。MCS-51单片机本身就有串行通讯的功能,也有专用的串行通讯的引脚和串行通讯控制器。所以,在完成这部分功能方面,MCS-51单片机自己就可以完全胜任这个部分的工作,要实现这个功能也就比较容易了。这个部分需要注意的问题就是,MCS-51单片机的电平标准和PC的电平标准是不一致的,要进行串行通讯的时候,MCS-51的串行通讯接口和PC串行通讯接口要有电平转换电路来为信息通讯做桥梁,以保证信息传送的有效性。否则,就会有部分电路被烧掉的危险,因此要特别注意这个问题。以上是完成设计主要任务而对要设计的系统的硬件电路方面的任务的分析,此外,系统的软件方面也是不容忽视的。因为,本次要设计的系统的功能任务比较多,所以,MCS-51单片机的处理任务也比较繁重,系统软件的算法也就直接影响到系统运行的稳定性。系统的软件算法要充分考虑到任务性质的主次和特点,安排好任务的处理顺序和条理。要充分利用好中断服务功能,来满足系统处理要求,来很好的实现设计任务中所要求的功能和效果。其中需要注意的问题是,当算法设计中涉及到两个或多个中断服务的时候,一定要根据中断程序所服务的中断功能,来设置好中断的优先级。否则,会带来系统稳定的很大隐患,因此,要特别注意这方面的细节问题。综上所述,本次毕业设计的任务的特点为系统工作量比较大,但任务功能的实现方面没有难度性很高的功能。但是,要想设计出来的系统可以稳定、可靠得实现出设计任务要求的任务,有很多的细节问题是需要特别注意的。以上分析中的需要注意的问题都进行功能设计中的重要细节部分,在设计时,要给予充分的考虑和周密的设计。根据以上的详细分析,下面就对我设计出来的方案做详细的介绍。2. 总体设计根据任务要求所要实现的功能,我设计出了两种方案来实现。这两个方案都可以很好的实现系统所要求的功能,不过是通过不同的途径来完成的。本部分就将对这两个方案作总体上的介绍和分析,后面将通过对两个方案的比较,选出最适合本系统的方案,并最终选定为本毕业设计作品要使用的方案。2.1 总体设计方案一此设计方案的系统方框图如下图所示。 方案一的系统原理框图方案一的单片机时钟信号是由外部的振荡电路提供,通过X1,X2引脚输入。石英晶体选用12M的,电容选用30f的。复位电路采用上电复位方式。单片机的P0口用来作读取A/D转换的结果和发送ADC0809通道选择地址数据。单片机的P1口用来发送LED数码管显示内容的数据总线。单片机的P2口的第三位用来提供LED数码管读取总线数据的片选信号。系统共用到9个数码管,这三条线通过3线8线译码器来实现对数码管的片选,最后一个就用P2.5来提供片选。而P2.7、ALE、RD和WR引脚就用来对ADC0809提供控制信息,来控制A/D转换过程。INT1外部中断脚被用来接收传感器LWGY输出的信号数据。最后,TXD和RXD根据引脚的特殊功能,被用来做与PC做串口通信,完成与PC的数据传输功能。方案一的A/D转换部分的功能主要由ADC0809来实现。方案一中,ADC0809只需要负责传感器AK-4输出的信号数据做模数转换。单片机发出启动转换控制信号后,ADC0809开始做模数转换。单片机通过软件延时来完成对转换数据的读取。方案一的传感器输出信号处理部分由两个传感器各自的信号处理电路组成。其中,两个方案对AK-4传感器输出信号的处理原理是一样的,而且都要处理出两个信号的参数。这也是由它的输出信号特性决定的,可以通过很简单的处理,就可以满足ADC0809对输入信号的要求,再处理出信号的波动脉冲,传输到MCS-51单片机转换成冲击频率。不同的是对传感器LWGY输出信号处理的方法。在本延时式方案里,只是将电流脉冲信号简单的处理成电压脉冲信号。然后,将频率信号接入单片机的外部中断口,让单片机来扫描其频率。以完成对耗气量的测定。方案一的LED数码管显示部分采用的是最常用的方式来实现的。用P1口发送显示数据,P2口的低三位来发送片选信息。将8个数码管扫描一次,就完成了一次数据的显示。方案一的PC串行通讯接口部分,采用了两个电平转换的芯片。这两个芯片分别为MC1488和MC1489,它们都是串口电路电平转换的常用芯片。可以保证功能的可靠实现。2.2 总体设计方案二此设计方案的系统方框图如下图所示。方案二的系统原理方框图中断式方案的单片机时钟信号也是由外部的振荡电路提供,通过X1,X2引脚输入。石英晶体选用12M的,电容选用30f的。但复位电路选用按键式复位电路。单片机的P0口用来作读取A/D转换的结果和发送ADC0809通道选择地址数据。单片机的P1口用来发送LED数码管显示内容的数据总线和提供LED数码管读取总线数据的片选信号。系统共用到9个数码管,这三条线通过3线8线译码器来实现对数码管的片选,最后一个也是用P2.5来做片选。而P2.7、ALE、RD和WR引脚就用来对ADC0809提供控制信息,来控制A/D转换过程。INT1外部中断脚被用来接收A/D转换结束信号。最后,TXD和RXD根据引脚的特殊功能,被用来做与PC做串口通信,完成与PC的数据传输功能。中断式方案的的A/D转换部分的功能也主要由ADC0809来实现。中断式方案中,ADC0809则需要负责传感器AK-4和传感器LWGY两个传感器输出的信号数据做模数转换。单片机发出启动转换控制信号后,ADC0809开始做模数转换。单片机通过外部中断方式来完成对转换数据的读取。中断式方案的传感器输出信号处理部分也由两个传感器各自的信号处理电路组成。对AK-4传感器输出信号处理方法与方案一类似,但由于其信号线性极好,只需要将其转换成电压信号,就可以得到气压信号;本方案加入了对转换出来的脉冲信号的整流。在本中断式方案里,在得到冲击频率信号方面,只对传感器LWGY输出信号进行电平转换的处理方法,就得到了电压的脉冲信号,再传输到MCS-51中处理,就可以得到耗气量的参数信息了。中断式方案的LED数码管显示部分采用的是一个功能比较强大的芯片4511。它可以将BCD码直接转换成LED数码管的驱动信号,并将信号锁存传输给LED数码管,给系统带来极大的方便。因此,只需要P1口的低四位就可以完成显示信息的数据传输。剩下的高四位刚好可以通过3线8线译码器完成片选信号的控制。从而只用一个P1口就完成了LED数码管部分功能的实现。中断式方案的PC串行通讯接口部分,采用了比较常用的MAX232。它也是专用的RS232接口的电平转换电路。完全可以胜任本系统的串口电平转换功能的实现。2.3 总体设计方案的比较从以上的介绍中,我们可以看到,这两种设计方案的主要却别有两个地方。第一个就是LWGY传感器输出信号的处理方法。方案一的处理方法处理后可以直接作为数据信息传输给MCS-51单片机处理,方案二的处理方法处理后则可以传输给ADC0809做A/D转换,然后再传输给MCS-51单片机处理。第二各就是对LED数码管的驱动方式。方案一是MCS-51单片机输出LED数码管的驱动信号,通过数据锁存来完成数字的显示,而方案二则是MCS-51单片机输出数据信息,经过译码和锁存的专用芯片来驱动LED数码管,来完成数字显示功能。除了这两个主要的不同之处之外,在其他部分的功能实现上也略有不同。其中包括MCS-51单片机的复位电路,串行通讯端口的电平转换,MCS-51单片机的I/O资源分配等等。下面我就这些具体电路的细节方面做详细的介绍和比较,以分析出哪个方案更适合这个系统,从而选定为最终的设计方案。3. 方案的具体设计和比较从以上方案的总体设计的介绍,我们可以了解到,这两个硬件电路方面的设计方案的都是主要由单片机、A/D转换、LED数码管显示、传感器的信号处理和与PC通信的RS232串口连接等部分组成。要想系统能够真正的运行起来,协调各部分功能电路的软件也是必不可少的。下面就从这些方面对这两个方案进行详细的说明、分析和比较。3.1硬件方案的具体设计和比较按照上述的总体设计方案,本人设计出了两个完整的具体硬件电路原理图。方案一的硬件电路原理图如附图1所示。方案二的电路原理图如附图2所示。两个设计方案都有各自的特色,下面就详细的介绍它们各个功能电路部分的特色所在。3.1.1晶振电路的设计设计原理8051片内有一由高增益反相放大器构成的振荡器。反相放大器的输入端为xTALl,输出端为xTAL2,两端踌接石英晶体及两个电容形成稳定的自激振荡器。电容通常取30PF左右。振荡频率范围是1212MHz,如下图(左)所示。晶体振荡器的振荡信号从xTAL2端输出到片内的时钟发生器上。时钟发生器为二分频器向CPU提供两相时钟信号P1和P2。时钟信号纳周期称作饥器状态时间s是振荡周期的2倍。每个时钟周期有两个节拍(相)P1和P2,cPU就以两相时钟P1和P 2为基本节拍指挥805l单片饥各部件协调工作。下图(右)给出片内时钟发生原理。具体电路设计这部分在两个方案中是相同的,电路图如下图所示。 系统方案的时钟发生部分电路图在本设计中,考虑到由于ADC0809片内无时钟,可利用8031单片机提供的地址锁存允许信号 ALE经D触发器二分频后获得,ALE脚的频率时单片机时钟频率的1/6(但要注意的是,每当访问外部数据存储器时,将少一个ALE脉冲)。如果单片机时钟频率采用6MHz,则ALE脚的输出频率为1MHz,再二分频后为500kHz,恰好符合ADC0809对时钟频率的要求。因此,晶体振荡器选择12M的,而自激振荡电路中的电容就取30PF。3.1.2按键复位电路的设计设计原理单片机复位是使CPU和系统中的其他功能部件都处立个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。大论是在单片机刚开的接广电源时,还是断电后或者发生故障后都要复位,所以我们必须弄清楚MGS51型单片机复位的条件、复体电路和复位后状态。 单片机复位的条件是:必须使RSW阳或RST引脚(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12MHz,每机器周期为1s,则只需2s以上时间的高点平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位电路如下图 (a),(b)所示。 下图中 (a)图为上电复位点路,它足利用电容充电来实现的。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,使能正常复位。下图中 (b)图为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图 (b)中的RESET键,此时电源vCC经电阻R1、R2分压,在RESET端产生一个复位高电平。具体电路设计的分析和比较方案一此方案中采用上电复位电路。电路如下图所示。上电复位电路图上电式复位电路的特点是很方便,当有电源接通给单片机时,此电路就可以自动产生复位信号。它足利用电容充电来实现的。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,使能正常复位。方案二此方案中采用了按键式的复位电路,如下图所示。 按键复位电路图这种复位电路的特点就是上电以后,可以随时通过按键来发出复位信号。该电路除具有上电复位功能外,若要复位,只需按图中的RESET键,此时电源vCC经电阻R1、R2分压,在RESET端产生一个复位高电平。这对系统的可控性是很有帮助的。方案比较前面已经介绍了复位电路的两种形式,其实对系统而言并没有什么大的区别,但考虑到系统调试时的方便,本系统采用了按键复位方式。当调试不成功时,经过调整后,只需单片机复位即可进行下一次的调试。这也降低了其他硬件由于电源供电问题,而导致的调试不成功。所以,最终选定按键复位电路为单片机部分的复位电路。3.1.3传感器输出信号处理电路的设计在进行设计之前,我们必须弄清楚所选用的传感器的工作原理和输出信号的特点。这样,才能知道如何让MCS-51单片机处理所收到的信息数据,才能有的放矢的将传感器输出的信号转换成下一部分的处理电路所能接收的数据信息。3.1.3.1 LWGY型涡轮流量传感器的信号处理电路1 设计原理LWGY型涡轮流量传感器(以下简称传感器)与显示仪表配套组成涡轮流量计。可测量液体的瞬时流量和累计体积总量,也可以对液体实现定量控制。传感器具有精度高、寿命长、操作维护简单等特点,广泛用于工厂、油田、化工、冶金、造纸等行业,是流量计量和节能的理想仪表。LWGY型涡轮流量传感器的工作原理为,被测液体流经传感器时,传感器内叶轮借助于液体的动能而旋转。此时叶轮叶片使检出装置中的磁路磁阻发生周期性变化,因而在检出线圈两端就感应出与流量成正比的电脉冲信号,经前置放大器放大后送至显示仪表。在测量范围内,传感器的流量脉冲频率与体积流量成正比,这个比值即为仪表系数,用K表示,K = f/Q 或 K = N/V式中:f流量信号频率(Hz)Q体积流量(m3/h或L/h)N脉冲数V体积总量(m3或L)每台传感器的仪表系数由制造厂填写在检定证书中。K值设入配套的显示仪表中,便可显示出瞬时流量和体积总量。技术指标: 介质温度:-20+120;-20+200(定做); 环境温度:-20+50; 传输距离:传感器至显示仪表的距离可达500m; 防爆等级:dCT4。具体电路设计的分析和比较系统选用的LWGY涡轮流量传感器,输出信号为频率型的电流信号,这部分电路是用来处理传感器LWGY所输出的信号数据的。但是,A/D0809在转换时,所能接收的输入信号为幅值型的电压信号,所以在把传感器的信号拿去处理之前,必须将它转换成A/D转换器所要求的信号类型。系统设计时,在这一部分加入了一个频率电压变换电路。方案一此方案的电路原理图如下图所示。 LWGY传感器输出信号处理方案一电路图这种处理方案的原理就是,将传感器原有输出的电流频率信号转换成电压频率信号。但此时的电压幅值还很小,不容易被感知。所以,要通过一个运算放大器来将电压幅值变大到足以做驱动信号。电路的输出端直接于单片机的外部中断输入脚INT1。电路的输出信号就可以申请到中断,中断服务程序就可以来完成对中断次数的累加。每过一定的时间来读取次数累加结果,并将累加器清零,就可以换算出信号的频率大小了。方案二此方案的电路原理图如下图所示。 LWGY传感器输出信号处理方案二电路图此处理方案是根据LWGY传感器的输出信号的特点而设计的。LWGY传感器的输出信号的电平很低,因此其信号本身不能足以驱动MCS-51单片机工作。因此,我们只需要将电平转换为TTL电平,就可以用MCS-51单片机来数脉冲的方式,计算出脉冲信号的频率,从而得到数显表所需要的耗气量显示数据。但是,为了得到更好的效果和可靠性,我还将电平转换后的脉冲进行整形,然后再传输给单片机。但是,本处理方案中用了三个整形电路来整形是因为,74HC14中集成了6个整形单元,此电路和AK-4传感器的处理电路中各用了三个。这样不仅可以保证得到好的效果,还充分利用了硬件资源。方案比较通过以上两种方案的比较,可以很明显看到,方案二的设计更好一些。因为它是充分利用了所要处理的信号的特性,简单方便的得到了我们所需要的信号。这不仅可以节省硬件资源,还使运行的可靠性有所提高。因此,我选用方案二来作为系统的最终解决方案。3.1.3.2 AK-4气压传感器的信号处理电路设计原理AK-4型压力传感器主要用途:它适用于各种动静态,气、液体介质的压力测量、控制AK-4型压力传感器特点:具有零点、灵敏度调整功能,标准电压、电流信号输出精度高,性能稳定可靠,结构紧凑、安装使用方便根据用户要求可提供各种螺纹接口AK-4a:普通型铝外壳 AK-4b:不锈钢外壳 AK-4c:密封型,全O圈密封,隔潮;全不锈钢结构,防腐AK-4F:数显压力变送器,3 1/2数码显示,直接显示压力数值,并具有变送功能AK-4型压力传感器的主要技术指标:技术指标技术参数单位量程 0-0.1,0.2,0.5,1,2,5,10,15,20,25,30,40,50,60,100MPa输出信号0-5,1-5V4-20,0-10mA精度0.20.30.5%FS非线性0.20.30.5%FS迟滞0.20.30.5%FS重复性0.20.30.5%FS供桥电压6,12,24VDC绝缘电阻100M工作温度-10至+50零点偏移0.20.30.5%FS/4h热零点偏移0.20.30.5%FS/10热灵敏度偏移0.20.30.5%FS/10允许过负荷120%FS接线方式插座:1、电源(+);2、输出(+)3、输出(-);4电源(-)。导线连接方式见合格证书具体电路的设计这个部分为一个电流电压变换器是两个方案中相同的部分。与前一个信号处理电路相同的道理,AK-4气压传感器的输出信号为幅值型的电流信号,也不是A/D转换器所需要的形式。因此,在A/D转换之前,也要把传感器的信号进行一下处理。 方案一的设计方案一的具体设计为一个精确度很高的电流电压转换器,如下图所示: 电流电压变换器上图所示的电流电压变换器,采用高输入阻抗的运放,对于微电流有较高的灵敏度,它只需10mA电流就能得到5V电压输出。图中,输入极CH3130本身输入阻抗极高,加上因同相输入端和反相输入端均处于零电位,进一步见效了漏电流。如果对输入端接线工艺处理得好,其漏电流可以小于1pA。第二极CH3134接成100倍反相放大器。根据输入电流的极性,一方面产生反相的电压输出,一方面提供负反馈,保证有稳定的变换系数。本毕业设计所选用的AK-4气压传感器的输出信号为420mA的电流幅值信号。因此,为了满足ADC0809的输入信号要求,只需将信号转换成电压信号后,再放大250倍左右即可。所以,得出的各个元件的参数如上图所示。 案二的具体设计方案二的设计方案如下图所示: 方案二电路原理图根据AK-4气压传感器的输出信号为010mA的电流,那么,将它的输出端并接在一个500欧姆的电阻上,就可以得到05V的电压信号了。由于AK-4气压传感器的输出线性很好,所以这样得到的电压信号完全可以很好的传递传感器得到的信息。这个电压信号经过采样电压跟随器,被传送到一个RC滤波网络,最后得到一个稳定可靠的数据信号。它的输出要传送到ADC0809做A/D转换,来换算成要显示的气压信息。3.1.3.3冲击频率信号测量电路设计对冲击频率数据测量电路的设计如下图所示: 冲击频率测量电路原理图在这两个方案中,这部分是几乎一样的。稍有区别的地方就是,在方案一中,电流电压转换器已经将信号进行了放大处理,因此直接去与比较器连接来得到气压的脉动信号;在方案二中则是从并有传感器信号的电阻上进行电压采样,然后才去跟比较器比较,来得到气压的脉动信号。但是,方案二最后传送到单片机之前,又做了整形,使得信号有更好的有效性。综合以上的设计分析和比较,整体上来说,方案二要较方案一更加系统化,有很好的连贯性,而且硬件的效率比较高,分配比较合理。因此,我选择了方案二的设计方案作为最终的解决方案。3.1.4 A/D转换电路的设计从传感器输出的信号为模拟信号,MCS-51单片机并不能处理,所以,在传送给MCS51单片机处理之前,必须将它转换成数字信号。本毕业设计作品选用了常用的ADC0809来完成这部分的功能。3.1.4.1 设计原理转换器件的引脚及功能ADC0809是一种逐次逼近式8路模拟输入、8位数字量输出的A/D转换器。其引脚如下图所示。由引脚图可见,ADC0809共有28个引脚,采用双列直插式封装。其主要引脚功能如下:IN0IN7是8路模拟信号输入端。D0D7是8位数字量输出端。A、B、C与ALE控制8路模拟通道的切换,A、B、C分别与三根地址线或数据线相连,三者编码对应8个通道地址口。C、B、A000111 分别对应IN0IN7 通道地址。 ADC0809的引脚图强调说明一点:ADC0809虽然有8路模拟通道可以同时输入8路模拟信号,但每个瞬间只能转换一路,各路之间的切换由软件变换通道地址实现。OE、START、CLK为控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。Vr(+)和Vr(-)为参考电压输入端。 ADC0809结构及转换原理ADC0809的结构框图如下图所示。ADC0809是采用逐次逼近的方法完成A/D转换的。由单一的+5V电源供电;片内带有锁存功能的8路选1的模拟开关,由C、B、A的编码来决定所选的通道。ADC0809完成一次转换需100s左右。输出具有TTL三态锁存缓冲器,可直接连到MCS51的数据总线上。通过适当的外接电路,ADC0809可对05V的模拟信号进行转换。ADC0809工作过程如下:首先用指令选择ADC0809的一个模拟输入通道,当执行MOVX DPTR , A 时,产生一个启动信号给START 引脚送入脉冲,开始对选中通道转换。当转换结束后发出结束信号,置EOC脚为高电平,则可以读出转换的数字量。利用MOVX A , DPTR 把该通道转换结果读到 A 累加器中。 ADC0809 的结构图MCS一5l的中断系统中断系统在计算机中起相当重要作用,一个中断功能很强的计算机,特大大提高处理外界事件的能力。MCS一51单片机的中断系统有五个中断源,具有两个中断优先级,可实现两级中断嵌套。用户可以用关中断指令屏蔽所有的中断请求,也可用开中断指令使CPU接收中断申请,用户也可以对每一中断源用软件开关和设置其级别。下图给出MCS一51的中断系统。8051单片机有五个中断源,其中两个外中断源,由INT0和INT1引脚输入,三个内部中断源,分别由定时器To溢出、定时器Tl溢出和串行口发送接收请求提供。外中断源由INT0和INT1输入的两个外中断及其触发方式钦存在特殊功能寄存器TCON的低四位,其格式:TF1TF0IE1IT1IE0IT0TCON(88H)IE1(TCON.3):外部中断INT1(P3. 3)申请标志位。当cPu检测到INT1引脚上出现中断申请信号,由硬件置IEl1,申请中断。cPU响应中断进入中断服务程序后,IEl被硬件自动清o(指脉冲边沿触发方式,电乎申请方式IEl不能由硬件清0)。 ITl(TCON2):外中断INT1触发方式控制位,由软件置I或清0。ITl0时,外中断为电乎触发方式面五输入低电乎,置位IEl,申请中断。采用电平触发方式,外中断源输入到顶否必须保持低电平,直到该中断被cPu响应而且在执行完中断服务程序前,此有效中断源必须撤消,否则产生下一次中断。当ITl1时,外中断1为边沿触发方式、CPU每个机器周期采样中断源,当相继的两次采洋,一次为高电平,一次为低电平,则置IEll,表示外中断1向CPU申请中断。当该中断被cCPU响应后,IEl由硬件清0。这种边沿触发方式,要求外中断源输入的高和低电平时间必须保持一个机器周期以上。 IE0(TCON1):外中断0 ( INT0 )请求标志。IE01,外部中断0向CPU申请中断当CPU响应中断时,由硬件使IE0复位(指边沿触发方式)。H0(TCON0):外中断0 ( INT0 )触发方式控制位,IT00,外中断0为电平触发方式:IT01,外中断0为边沿触发方式。 内中断源 TF0(TCON.5):定时器T0溢出产断标志垃。当To允许计数后v从初值开始加1计数,溢出后置TFo1向CPU申请中断、直到响应中断后由硬件使TFo0。 T门(TCON7):定时器T1的溢出中断标志,其功能同TFo。 RI(SCONo)和TI(SCON1):串口中断申请标志。串口的接收中断RI和发送中断TI“逻辑”或以后为内部一个中断源。串口申请帧,CPU响应中断后,无硬件清户断功能,T1和RI必须由软件清0(中断服务程序中必须有清TI和RI指令)。MCS-51 与ADC0809 的接口在讨论MCS-51与ADC0809 的接口设计之前,先来讨论单片机如何来控制ADC的问题。用单片机控制ADC的时候,多数采用查询和中断控制两种方法。查询法是在单片机把启动命令送到ADC之后,执行别的程序,同时对ADC的状态进行查询,以检查ADC变换是否已经结束,如查询到变换已结束,则读入转换完毕的数据。中断控制法是在启动信号送到ADC之后,单片机执行别的程序。当ADC变换结束并向单片机发出中断请求信号时,单片机相应此中断请求,进入中断服务程序,读入转换数据,并进行必要的数据处理,然后返回到原程序。这种方法单片机无需进行转换时间的管理,CPU效率高,所以特别适合于转换时间较长的ADC。如果对转换速度要求高,采用上述两种ADC控制方法往往不能满足要求,可采用DMA(直接存储器存取)的方法,这时,可在ADC与单片机之间插入一个DMA接口(例如Intel公司的8237DMA控制器)。传输一开始,AD转换的数据就可以从输出寄存器经过DMA中的数据寄存器直接传输到主存储器,因而不必受程序的限制。 软件延时方式ADC0809与 8031单片机的接口如下图所示。 延时方式接口图由于ADC0809片内无时钟,可利用8031单片机提供的地址锁存允许信号 ALE经D触发器二分频后获得,ALE脚的频率时单片机时钟频率的1/6(但要注意的是,每当访问外部数据存储器时,将少一个ALE脉冲)。如果单片机时钟频率采用6MHz,则ALE脚的输出频率为1MHz,再二分频后为500kHz,恰好符合ADC0809对时钟频率的要求。由于ADC0809具有三态锁存器,其8位数据输出引脚可直接与数据总线相连。地址译码脚A、B、C分别与地址总线的低三位A0、A1、A2相连,以宣统IN0IN7中的一个通路。将P2.7(地址总线A15)作为片选信号,在启动A/D转换时,由单片机的写入信号和P2.7控制ADC的地址锁存和转换启动,由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时,启动并进行转换。在读取转换结构时,用低电平的读信号和P2.7脚经一级或非门后,产生的正脉冲作为OE信号,用以打开三态输出锁存器。 中断方式ADC0809与8031的中断方式接口电路只需要将上图中的ADC0809的EOC脚经过一个非门连接到8031的INT1脚即可。采用中断方式可大大节省CPU的世军安,当转换结束时,EOC发出一个脉冲向单片机提出中断请求,单片机响应中断请求,由外部中断1的中断服务程序读A/D结果,并启动 ADC0809的下一个转换,外部中断1采用跳沿触发方式。 查询方式 ADC0809有表明转换完成的状态信号的Eoc端。因此,可以用查询方式,软件测试Eoc的状态,即可确知转换是否完成,然后进行数据传送。3.1.4.2具体方案设计和比较电路连接主要涉及两个问题,一是8路模拟信号通道选择,二是A/D转换完成后转换数据的传送。8路模拟通道选择A、D、C分别接地址钡存器提供的低三位地址,只要把三位地址写入佃09中的地址锁存器,就实现了模拟通道选择。对系统来说,地址锁存器是一个输出口,为了把三位地址写入,还要提供口地址。本系统使用的是线选法,口地址由P2.7确定,同时和WR相或取反后作为开始转换的选通信号。因此,若无关位都取O,则该ADC0809的8路通道IN0IN7通道地址分别为0000H一0007H。从前面的图中可以看到,把ADC0809的ALE信号与START信号连接在一起了,这样使得在ALE信号的前沿写入地址信号,紧接着在其后沿就启动转换。因此,启动ADC0809进行转换只需要下面的指令(以通道0为例):MOV DPTR, #6000H ;选中通道0MOV DPTR, A ;WR信号有效,启动转换转换后数据的传送 方案一此方案主要采用的是软件延时的方法来确定转换过程的完成与否。因为A/D转换一次所需要的时间是一定的,所以只需要通过软件延时足够的时间就可以确定转换已经完成。此时就可以直接去读取转换的结果了。由以上分析可知:在编写软件时,应令P2.7=A15=0 ; A0、A1、A2给出被选择的模拟通道的地址;执行一条输出指令,启动A/D转换;执行一条输入指令,读取转换结果。译码的程序时采用软件延时的方法,分别对8路模拟信号轮流采样一次,并依次把结果转储到数据存储区的转换程序。MAIN: MOV R1 , #data ;置数据区首地址 MOV DPTR , #7FF8H ;P2.7=0 , 且指向通道0 MOV R7 , #08H ;置通道数LOOP: MOV DPTR , A ;启动A/D转换 MOV R6 , #0AH ;软件延时,等待转换结束DLAY: NOP NOP NOP DJNZ R6 , DLAY MOVX A , DPTR ;读取转换结果 MOV R1 , A ;转存到内PRAM中 INC DPTR ;指向下一个通道 INC R1 ;修改数据区指针 DJNZ R7 , LOOP ;8个通道全采样完了吗? 方案二 此方案采用的是中断的方法来完成对转换完成与否的判别的。当A/D转换完成的时候,ADC0809会有一个完成信号从EOC脚发出。那么,我们就可以运用这个信号来申请到单片机的中断,通过中断服务程序来完成对转换结果的读取。这种方法的实现程序如下:INT1: SETB IT1 ;外部中断1初始化编程 SETB EA SETB EX1 MOV DPTR , # 7FF8H ;启动ADC0809对IN0通道转换 MOV A , # 00H MOVX DPTR , A 中断服务程序:PINT1:MOV DPTR , #7FF8H ;读取A/D结果送缓冲单元30HMOVX A , DPTRMOV 0H , AMOV A , #00H ;启动ADC0809对IN0的转换MOVX DPTR , A RETI 方案比较和确定考虑到才本系统中单片机不只是控制A/D转换和对转换结果的读取,还有很多工作要做。那么,方案一这种软件延时的方案就太浪费单片机的资源了。于之相比,方案二的中断方式更加适合本系统,因为在启动A/D转换之后,单片机可以转去处理其他的事情,而当A/D转换完成后,又可以第一时间将转换结果读出来。很明显,方案二的中断方式读取转换结果更适合本系统。它也是本设计作品最终选定的方案。3.1.5 LED数码管显示电路的设计这部分电路所要完成的功能主要有片选中一个LED数码管,传送所要显示的数据和对数据的锁存。为了能让单片机去同时处理其他的事情,单片机不能一直扫描所以数码管,来实现LED数码管数据一直显示的满意效果。所以必须引入数据锁存功能,来实现LED数码管一直有显示数据。当有新的数据要显示的时候,直需要单片机重新对每个LED数码管重新输出一次数据即可。其中,有一个问题,就是当数据还没有全部传送给LED数码管,新的数据就已经准备好了。此时,如果数据处理不好,就会新旧数据混合显示出来。而造成数据输出并不是我们想要的结果。这个问题,可以从软件方面来解决。就是当有新的数据完成的时候,无论已经传输了几个LED数码管的数据,都从第一个数据从新传输,就可以很好的避免这个问题的发生了。3.1.5.1设计原理从LED显示器的显示原理可知,为了显示字母数字,必须最终转换成响应段选码。这种转换可通过硬件译码器或软件进行译码。下面介绍用译码器或软件译码的一些接口电路。软件译码显示器接口BCD七段16进制译码驱动显示接口。单片机应用系统,通常要求LED显示器能显示16进制及十进制带小数点的数。因此,在选择译码器时,要能够完成BCD码至16进制的锁存、译码,并具有驱动功能,否则就不如用软件译码接口。MOTOROLA公司生产的CMOS BCD七段16进制锁存、译码驱动芯片。该电路的特点时可用字母A B C D E F来显示二进制数10、11、12、13、14、15,同时还有译码器输入大于等于10时的指示端(hI )。当输入数据10时,(hI)端输出“1”电平。另外还有输入数据时,电路输入端VCR为0电平(其他输入状态时为高阻)的功能。电路内部还有一个290的限流电阻。而为选通端,电路中的锁存器在LE为0时输入数据,在LE1时锁存数据。下表为4511的真值表。从表中可以看出,当显示数据大于等于10时,(hI)端输出1电平。 4511真值表及显示内容表输 入 输 出显 示D C B Aa b c d e f g h+I数 值0 0 0 01 1 1 1 1 1 0 0 00 0 0 10 1 1 0 0 1 0 0 10 0 1 01 1 0 1 1 0 1 0 20 0 1 11 1 1 1 0 0 1 0 30 1 0 00 1 1 0 0 1 1 0 40 1 0 11 0 1 1 0 1 1 0 50 1 1 01 0 1 1 1 1 1 0 60 1 1 1 1 1 1 0 0 0 0 0 71 0 0 01 1 1 1 1 1 1 0 81 0 0 11 1 1 1 0 1 1 0 91 0 1 01 1 1 0 1 1 1 1 A1 0 1 10 0 1 1 1 1 1 1 B1 1 0 01 0 0 1 1 1 0 1 C1 1 0 1 0 1 1 1 1 0 1 1 D 1 1 1 01 0 0 1 1 1 1 1 E1 1 1 11 0 0 0 1 1 1 0 F如附图2所示的LED显示部分是使用4511的多位静态LED显示接口电路,该电路中可直接显示多位16进制数。若要显示带小数点的十进制数,则只要在LED的dp端另加驱动控制即可。LED显示块采用共阴极。在4511内部有输出限流电阻,故LED不需要外加限流电阻。该接口软件十分简单。当给P1.7高电平时开显示,由P1.4、P1.5、P1.6控制而一次选中一位LED然后由P1.0P1.3送入BCD码,在LE转高电平时锁存该位数据并译码、驱动显示。显示方法如下:程序功能:将以R0为首地址的连续8个BCD码在LED上显示。入口参数:R0:存储显示字节的首地址,为MCS51片上存储器。出口参数:空。变量说明:CONBIT是P1扣P1.4P1.5的数据,是控制位显示位变量,片上存储器。程序如下:STADISP:CLRP1.7; 使74LS138无效MOVA, #00H; 先赋值MOVCONBIT, #00H; 控制位初值MOVR7, #08H; 循环次数控制器DISPLAY:MOVA, R0; 将数据赋给AADDA, CONBIT; 加上控制位数据MOVP1, A; 将数据输出在P1口上ADDA, #10H; ANLA, #7FH; 保持P1.7有效MOVP1, A; 将数据锁存入MC14495数据置于总线上,需要将选中电平变高INCR0MOVA,

温馨提示

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

评论

0/150

提交评论