第1页共49页引言本毕业设计的设计任务为一个多功能数显表。该数显表可以测量和显示气压、冲击频率和耗气量。并且具有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数码管,就可以将数据信息很好的显示出来。要实现这个功第2页共49页能,首先,就要有驱动电路来驱动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单片机的处理任务也比较繁重,系统软件的算法也就直接影响到系统运行的稳定性。系统的软件算法要充分考虑到任务性质的主次和特点,安排好任务的处理顺序和条理。要充分利用好中断服务功能,来满足系统处理要求,来很好的实现设计任务中所要求的功能和效果。其中需要注意的问题是,当算法设计中涉及到两个或多个中断服务的时候,一定要根据中断程序所服务的中断功能,来设置好中断的优先级。否则,会带来系统稳定的很大隐患,因此,要特别注意这方面的细节问题。综上所述,本次毕业设计的任务的特点为系统工作量比较大,但任务功能的实现方面没有难度性很高的功能。但是,要想设计出来的系统可以稳定、可靠得实现出设计任务要求的任务,有很多的细节问题是需要特别注意的。以上分析中的需要注意的问题都进行功能设计中的重要细节部分,在设计时,要给予充分的考虑和周密的设计。根据以上的详细分析,下面就对我设计出来的方案做详细的介绍。第3页共49页2.总体设计根据任务要求所要实现的功能,我设计出了两种方案来实现。这两个方案都可以很好的实现系统所要求的功能,不过是通过不同的途径来完成的。本部分就将对这两个方案作总体上的介绍和分析,后面将通过对两个方案的比较,选出最适合本系统的方案,并最终选定为本毕业设计作品要使用的方案。2.1总体设计方案一此设计方案的系统方框图如下图所示。方案一的系统原理框图方案一的单片机时钟信号是由外部的振荡电路提供,通过X1,X2引脚输入。石英晶体选用12M的,电容选用30μf的。复位电路采用上电复位方式。单片机的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开始做模数转换。单片机通过软件延时来完成对转换数据的读取。第4页共49页方案一的传感器输出信号处理部分由两个传感器各自的信号处理电路组成。其中,两个方案对AK-4传感器输出信号的处理原理是一样的,而且都要处理出两个信号的参数。这也是由它的输出信号特性决定的,可以通过很简单的处理,就可以满足ADC0809对输入信号的要求,再处理出信号的波动脉冲,传输到MCS-51单片机转换成冲击频率。不同的是对传感器LWGY输出信号处理的方法。在本延时式方案里,只是将电流脉冲信号简单的处理成电压脉冲信号。然后,将频率信号接入单片机的外部中断口,让单片机来扫描其频率。以完成对耗气量的测定。方案一的LED数码管显示部分采用的是最常用的方式来实现的。用P1口发送显示数据,P2口的低三位来发送片选信息。将8个数码管扫描一次,就完成了一次数据的显示。方案一的PC串行通讯接口部分,采用了两个电平转换的芯片。这两个芯片分别为MC1488和MC1489,它们都是串口电路电平转换的常用芯片。可以保证功能的可靠实现。2.2总体设计方案二此设计方案的系统方框图如下图所示。方案二的系统原理方框图中断式方案的单片机时钟信号也是由外部的振荡电路提供,通过X1,X2引脚输入。石英晶体选用12M的,电容选用30μf的。但复位电路选用按键式复位电路。单片机的P0口用来作读取A/D转换的结果和发送ADC0809通道选择地址数据。单片机的P1口用来发送LED数码管显示内容的数据总线和提供LED数码管读取总线数据的片选信号。系统共用到9个数码管,这三条线通过3线-8线译码器来实现对数码管的片选,最后一个也是用P2.5来做片选。而P2.7、ALE、RD和WR引脚就用来对ADC0809提供控制信第5页共49页息,来控制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资源分配等等。下面我就这些具体电路的细节方面做详细的介绍和比较,以分析出哪个方案更适合这个系统,从而选定为最终的设计方案。第6页共49页3.方案的具体设计和比较从以上方案的总体设计的介绍,我们可以了解到,这两个硬件电路方面的设计方案的都是主要由单片机、A/D转换、LED数码管显示、传感器的信号处理和与PC通信的RS232串口连接等部分组成。要想系统能够真正的运行起来,协调各部分功能电路的软件也是必不可少的。下面就从这些方面对这两个方案进行详细的说明、分析和比较。3.1硬件方案的具体设计和比较按照上述的总体设计方案,本人设计出了两个完整的具体硬件电路原理图。方案一的硬件电路原理图如附图1所示。方案二的电路原理图如附图2所示。两个设计方案都有各自的特色,下面就详细的介绍它们各个功能电路部分的特色所在。3.1.1晶振电路的设计⑴