一入三出智能信号电流分配器设计_第1页
一入三出智能信号电流分配器设计_第2页
一入三出智能信号电流分配器设计_第3页
一入三出智能信号电流分配器设计_第4页
一入三出智能信号电流分配器设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、西安工程大学本科毕业设计(论文)摘 要4-20mA是标准电流信号,工业上一般用的仪器仪表的信号电流都是4-20mA,即指最小电流为4mA,最大电流为20mA。在应用中若使用电压传输时,会有噪声、压降等影响,为了解决此类问题的影响,我们用电流来传输信号,因为电流对噪声并不敏感。420mA的电流环便是用4mA表示零信号,用20mA表示信号的满刻度,而低于4mA高于20mA的信号用于其故障的报警。本设计以AT89C52单片机为核心,通过ADC0832数模转换器进行采样,LED显示电路进行大小的显示,MAX517数模转换器进行输出,并通过放大电路对信号进行放大输出,以达到三路输出的目的。同时有告警电路

2、对使用者进行提醒。为保证输出之间不受影响,三路输出之间为电气隔离的。并设计软件以实现所需的功能。经过调试,最后验证本设计实现了以上所提到的功能,具有一定的创新性和使用价值。本设计系统可以实现对一路信号的输入转化为三路的输出,可实现对多路数据的采集。可与各种工业传感器配合,取回参数信号,隔离变送传输。已经实现了对多路信号的检测、监控。 关键字:单片机,AD模数转化器,DA数模转换器,放大器ABSTRACT4-20mA standard current signal, industrial instrumentation on the general use of signal current i

3、s 4-20mA, referring to the minimum current of 4mA, a maximum current of 20mA. If used in the application of the voltage transfer, there will be noise, pressure drop and other effects, in order to solve such problems impact, we use electric current to transmit the signal, because the current is not s

4、ensitive to noise. 4-20mA current loop is to use that 4mA zero signal, the signal with a 20mA full-scale, higher and lower than 4mA 20mA signal for the failure of the police.The design AT89C52 microcontroller as the core, through the digital to analog converter ADC0808 sampling, LED display shows th

5、e size of the circuit, DAC0832 digital to analog converter for output, And in order to achieve the purpose of three outputs, through the amplifier circuit amplifies the signal output. At the same time there is an alarm to remind the user circuit. To ensure that between the output is not affected, fo

6、r the three-way electrical isolation between the outputs. And the design software to achieve the desired functionality. After commissioning, the final validation of the design and implementation of the above mentioned features, with some innovative and value in use.The design of the system can be ac

7、hieved on one way the input signal into a three-way output, can realize the multi-channel data acquisition. Match with a variety of industrial sensors, retrieve parameter signal isolation transmitter transmission. Has implemented the multi-channel signal detection, monitoring.KEY WORDS: microcontrol

8、ler, AD digital to analog converter, DADigital to Analog Converter, Amplifier 目 录前 言1第一章 绪 论21.1 基本原理21.1.1信号分配器基本原理31.2 系统方案31.2.1 系统功能31.2.2 系统方案41.2.2.1 系统构架41.2.2.2 器件选择41.2.3 相关软件工具111.3 调试方案121.4论文章节安排12第二章 硬件设计142.1 系统硬件实现功能142.2 硬件的总体设计152.3 硬件详细设计162.3.1 单片机最小系统设计162.3.1.1 时钟电路162.3.1.2 复位电

9、路162.3.2 模数转换采样模块功能182.3.3 数模转化模块电路功能192.3.4 按键电路202.3.5 报警电路212.3.6 LED显示电路222.3.7 电压电流转换输出电路222.4 系统整体原理图设计23第三章 软件设计243.1 软件的功能243.2 软件的总体设计253.3 软件的详细设计263.3.1 主程序设计263.3.2 串行数据模块子程序设计283.3.3 设置子程序设计293.3.4 显示子程序设计303.3.5 告警程序设计303.3.6 数模转换子程序设计313.3.7 数据处理程序设计313.4 软件编程及代码32第4章 仿真实现334.1 仿真过程33

10、4.2 仿真的实现364.3 结果与分析37第5章 结论与展望395.1 结论395.2 展望39参考文献41致 谢43附录系统原理图45附录 程序代码46前 言电流信号分配器一般广泛应用于工业领域1。一般仪器仪表的信号电流都为4-20mA,4-20mA信号制是国际电工委员会制定的过程控制系统用模拟信号标准。在工业现场,如果采集的信号经调理后是电压信号并且长线传输,会产生这样的问题:一,由于传输的信号时电压信号,传输线很容易受到噪声的干扰;二,传输线的分布电阻会产生电压降;第三,在现场如何提供仪表放大器的工作电压也是问题。因此,在现代的工业现场是大量采用电流来传输信号。采用电流信号的原因是不容

11、易受干扰,并且电流源内阻为无穷大,导线电阻在回路中不影响精度,在普通双绞线上可以传输达百米。上限取20mA是因为防爆的要求:20mA的电流通断引起的火花能量不足以引燃瓦斯,而低于4mA高于20mA的信号用于各种故障的报警下限。之所以没有取0mA是为了能检测断线:正常工作不会低于4mA,当传输线因故障断路,环流电流降为0。4-20mA产品的典型应用是传感和测量应用。在工业现场有很多种类的传感器可以被转换成4-20mA的电流信号来进行传输返回等。本文所述的设计正体现了上述思想,一入三出智能信号电流分配器设计,即一路输入,三路输出,为应用提供多输出端,同时配有LED显示电路,方便知道此刻输出电流或电

12、压的大小,对信源输出做到心中有数。本设计的核心设备为单片机,同时有模数转换器进行采样,配有显示电路和报警电路,数模转换器进行模拟输出,并有运放电路进行信号的放大和电压电流转换电路,进行最终的输出。本设计的输出与输入基本上同步,实时变化。本设计有比较好的应用特性。 第一章 绪 论本章主要介绍此设计的基本原理及设计的整体方案,然后细化设计的模块方案选择。最后根据方案的设计进行论文章节的安排。1.1 基本原理本设计基本原理主要是:通过对输入的电流进行电压转换,使电流电压相对应,模数转换器对电压进行采样,单片机对输入电压进行处理,并对采样值进行显示,这种功能主要通过软件编程进行事先,然后经过数模转换器

13、进行输出,并对输出的电流进行电流电压发达转换,然后在通过电压电流转换转为电流的三路输出,三路输出分别配有开关,可单独控制。其中,单片机同时带有告警系统,以起到对电路的保护作用;按键电路实现对输入数据的控制操作。其模拟图如下(图1-1)。图1-1一入三出智能信号分配器模拟图1.1.1信号分配器基本原理信号分配器主要应用于需要将一路仪表信号转换成两路或多路输出的场合,并且输出信号可以微调2。生产出的产品工作稳定可靠,安装方便,有多种规格可供选择。有的是由基准电压模块、输入模块、DC/DC模块和信号输出模块组成,其特征在于基准电压模块产生的基准电压输出与输入缓冲模块连接,DC/DC模块将电压DC输入

14、转换为DC输出与信号输出模块连接,输入缓冲模块将输入电流或电压信号流经一精密电阻变成电压信号并将其放大,再经信号输出模块将此电压信号转换回电流信号输出转换成多路相等的信号。1.2 系统方案1.2.1 系统功能一入三出智能信号电流分配器设计主要作用是提供多路输出,可满足自动化领域多路控制的需要,实现方便管理。1、实现数据采样与显示本设计通过对输入电压的采样,单片机系统对其进行处理,并通过显示电路显示出输入电压的大小,并与相应的电流进行比例转换。其中,输入的电流需要通过电阻进行分压处理,使输入电压与原电流相对应。显示电路的有效位取四位,小数部分是两位,所显示的数值与实际电流大小相等。2、实现数据的

15、上下限告警对所采样的数据,如果小于最低或大于最高门限,将会触动告警系统,告警,以提示使用者进行调整,以此来保护设备。3、实现电压电流转化数模转换器输出小电流需要转化为相应的电压,再通过电路实现电压电流的转换以达到相应的目的。其中,电压电流转换电路为三路,且彼此相互电气隔离,从而互不影响。1.2.2 系统方案1.2.2.1 系统构架本设计由模数采样部分,处理部分,显示部分,告警部分,数模输出部分,电流放大转化部分,电压电流转化输出部分组成。系统框架图如图1-2。图1-2 系统框架图1.2.2.2 器件选择1、处理器选择本设计需要的程序不是很大,且对运行速度要求不高,因此,考虑单片机进行处理。AT

16、89C52(图1-2)是51单片机的一个型号,由ATMEL公司生产,是一个低电压,高性能CMOS 8位单片机,片内由8k bytes的可反复擦写的Flash只读程序存储器和255 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51系统指令,片内置通用8位中央处理器,可提供许多较为复杂系统控制应用场合。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。另外,AT89C52可降至0Hz静态逻辑操作,支持2种软

17、件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。而且AT89C52价格便宜,且有许多相关教程,很适合初学者,以此,处理器选择AT89C52单片机。(a)AT89C52实物图 (b)AT89C52引脚图图1-2 AT89C52单片机2、采样芯片选择为了对输入电压进行显示,因而想到采样,进行模数转换,即ADC。为了满足多种需要,目前国内外格半导体器件生产厂家设计并生产出了多种多样的ADC芯片。仅美国公司的ADC产品就要几十个系列、近百种型号之多。其性能上,它们精度高、速度快,而且很多价格低廉。功能上,有的不仅有A/D转换的基本功能,还包括放大器和三态锁

18、存器,多路开关、采样保持等,成为一个单片的小型数据采集系统。尽管ADC芯片的型号很多,其内部功能强弱、转换速度快慢、转换精高低有很大差别,但从用户最关心的要求看,无论哪种芯片,都必须要要包括以下四种基本信号引脚端:模拟信号输入端;数字量输出端;转换启动信号输入端;转换结束信号输出端。不同型号的芯片还会有一些其他各不相同的控制信号端。选用ADC芯片时,除了考虑各种技术要求外,还需了解芯片两方面的特性。(1)数字输出的方式是否有可控三态输出。有可控三态输出的ADC芯片允许输出线与微机系统的数据总线直接相连,并在转换结束后利用读数信号RD选通三态门,将转换结果送上总线。没有可控三态输出(包括内部根本

19、没有输出三态门和虽有三态门、但外部不可控两种情况)的ADC芯片则不允许数据输出线与系统的数据总线直接相连,而必须通过I/O接口与MPU交换信息。(2)启动转换的控制方式是脉冲控制式还是电平控制式。对脉冲启动转换的ADC芯片,只要在其启动转换引脚上施加一个宽度符合芯片要求的脉冲信号,就能启动转换并自动完成。一般能和MPU配套使用的芯片,MPU的I/O写脉冲都能满足ADC芯片对启动脉冲的要求。对电平启动转换的ADC芯片,在转换过程中启动信号必须保持规定的电平不变,否则,就会停止转换而可能得到错误的结果。为此,必须用D触发器或可编程并行I/O接口芯片的某一位来锁存这个电平,或用单稳等电路来对启动信号

20、进行定时变换。ADC0832是美国半导体公司生产的一种8位分辨率、双通道A/D转换芯片3。此芯片体积小,兼容性强,性价比高,因而很受单片机爱好者及初学者的喜欢。AD0832的应用比较广泛,5V电源供电,输入电压在05V之间,工作频率为250KHz,一般功耗为15mW,功耗较低。ADC0832的内部结构脚图如下(图1-3),其中,CH0是模拟通道0,CH1是模拟通道1,有4条数据线:CS、CLK、DO、DI,由于DO端与DI端的通信时并未同时有效与单片机的接口是双向的,所以设计时可以并联在一根数据线上使用。当要进行A/D转换时,需先将CS端至于低电平直至结束。DO/DI端输入通道功能选择的数据信

21、号,在第一个时钟脉冲到来之前DI端必须是高电平,表示启动位。在第2、3个时钟脉冲到来之前DI端应输入2位数据用于选择通道功能,其功能如(图1-4)。到第3个时钟脉冲到来之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。图1-3 ADC0832引脚图 图1-4 ADC配置位 对于本设计,ADC0832是8位分辨率,其最高分辨已到256及,已基本满足了精度要求,而且这个芯片价格便宜,易操作,所以采样芯片选择ADC0832。3、显示方式选择数码管显示器是我们常见的显示器,对于本设计,只要求对输入信号大小的显示,因此就可以用四位的数码管显示器(图1-5)。数

22、码管是显示屏其中一类,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示时间、日期、电压等可用数字表示的参数。四位共阳极数码管,价格便宜,使用简单,而且在生活中应用广泛,对于初学者容易上手,对于本设计已基本满足要求,所以它是此设计的较好选择。 图1-5 四位共阳极数码管4.告警方式选择告警的方式有很多,对于本系统,可以使用蜂鸣器作为告警设备,蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,被广泛应用于计算机、打印机、报警器、电子玩具、电话机、定时器等电子产品中作为发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型,我们一般使用压电式蜂鸣器。压电式蜂鸣器主要由多谐振荡器、压电蜂

23、鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成。当接通电源后,多谐振荡器起振,输出1.5-2.5kHz的音频信号,阻抗匹配器推动压电蜂鸣片发声。这种蜂鸣器驱动电路简单,有的通过一个三极管直接驱动,有的通过驱动芯片驱动,例如ULN2003。而且这种蜂鸣器的体积小、价格低,便于我们使用其作为本设计的报警器。4、模拟输出选择为了产生模拟的信号,需要进行数模转化,因此需要数模转换(DAC)芯片。数模转换器根据输入数据的格式一般分为并行和串行两种,并行的DAC通常有8位、10位、12位和16位等,并行芯片进行D/A转换器时建立的时间相对串行短,但它们的 引脚比较多,芯片体积大,且

24、与单片机连接电路复杂。而有些设计对D/A转换时间要求不高,虽然串行的DAC的建立时间比并行的稍长,但对于有的在时间上要求不是很高的设计来讲是可以接受的。对于本设计,在时间上的要求不是很高,可以选择串行数模转换器,且8位的ADC可以满足要求。对于单路的DAC,可以选择美国MAXIM公司生产的8位串行D/A芯片MAX517。MAX517是8位电压输出型的数模转换器,它有简单的双线串行接口,允许多个设备之间进行通信4。MAX517有普通输出方式,可以通过单片机的2跟输出线与MAX进行通信(如图1-6)。在普通输入方式下,不占用单片机的串行口,不影响本系统与其他系统的串行数据通信,且易于控制,因此,本

25、设计用MAX517的普通输出方式。MAX517是8管脚芯片,其引脚图(图1-7)如下。 图1-6 普通输出方式 图1-7 MAX引脚图5、输出及电压与电流转换方式选择对于数码转换器,其输出的为电压,且与收入成比例。以此,对输出的电压分三路,进行电压电流的转换,为此,需要用放大器以能够实现。实现电压电流的转换,可应用原理图(图1-7)来实现5。由图中,R6是负载电阻,允许在一定范围内变化。IOUT是输出电流。据电路基本定律6,对R1、R2支路,可列方程 V2*1R1+1R2=VinR1+V4R2即有 V4=V2*1+R2R1-Vin*R2R1=V2*1+-Vin* (1-1)这里,令 =R2R1

26、 。如果忽略运放失调电压,运放正常工作时,其二输入端电压相等,对R3、R4支路,有V2=V3*R3R3+R4=V31+ (1-2)这里,=R4R3。假设R2R5,R2R6,即电阻R2对输出电流Iout的分流作用可以忽略,对R5、R6支路, V4=V3*R6R5+R6=V3*1+ (1-3)这里,=R6/R5。将(2)、(3)式代入(1)式,V4=V3*1+1+-Vin* =V4*1+1*1+1+-Vin*解得V4=Vin* /(1+)*(1+)*(1+1/)-1) (1-4)对于R6支路,有 Iout=V4R6。将(4)代入,进一步推导,可得Iout=Vin*R2R1*R5*1+1+-*R6R

27、5 (1-5)这里要求R2R5,R2R6。当=时,可得Iout=Vin*R2R1*R5 (1-6)这是一种电路简单同时又有较高精度的电压电流转换器。其输出电流与负载无关。在=1时,在Vin变化范围是05V,要求输出电流范围是020mA。则可选R1=R3=500k,R2=R4=200k,R5=100,运算放大器可选择LM324。图1-7 电压电流转换原理图对于放大器,选择lm324,它是四运放集成电路,它采用14脚双列直插塑料封装,引脚图(如图1-8)它的内部包含四组形式完全相同的运算放大器,除电源公用外,四组运放相互独立。每一组运算放大器可用(图1-9)所示符号来表示,有5个引脚,其中Vi-为

28、反相输入端,表示运放输出端Vo的信号与输入端的相位相反;Vi+为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。lm324运放电路具有电源电压范围广,静态的功耗小,可单电源使用,因此被广泛应用到各电路中。 图1-8 lm324引脚图 图1-9 单个运放1.2.3 相关软件工具 1、单片机开发软件Keil单片机的开发,软件编程是离不开的,Keil是德国开发的一个51单片机开发软件平台,支持C语言和汇编语言,是一个重要的单片机开发平台。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil

29、 C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil C51单片机软件开发系统的整体结构:C51的整体结构uVision与Ishell分别是C51 for Windows和for Dos的开发环境,可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用环境本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器使用进行源代码级调试,也可由仿真器使用直接对目标

30、板进行调试,也可以直接写入程序存贮器如EPROM中。对于初学者,C语言编程较简单易懂,而且有软件平台,所以选择使用Keil软件进行C语言编程。2、电路仿真设计软件ProtuesProtues软件是英国Labcent electronics公司设计的EDA工具软件,它是目前最好的仿真单片机及外围器件工具。Protues软件的主要特点有:互动的电路仿真,用户可以实时应用诸如键盘、马达、LED、LCD、AD/DA等;可以仿真处理器及外围电路,可仿真51系列、AVR、ARM等主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示积极输出,能看到运行后输入输出的效果。Protes建立了完备的电子

31、设计开发环境。在Protues绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在Protues的原理图中看到模拟的实物运行状态和过程。Protues是单片机课堂教学的有力助手,不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度的对应。这在相当程度上替代了传统的单片机实验教学的功能,Protues软件易上手,对于方案设计和仿真有很大的帮助。3、电路设计软件protel 99SEprotel 99SE是ProklTechnology公司开发

32、的基于公司开发的基于Windows环境下的电路板设计软件。该软件功能强大,人机界面友好,易学易用,是在桌面环境下以独特的设计管理和团队合作技术为核心的全方位的印制板设计系统。Protel公司引进了德国的INCASES公司技术,在Protel中集成了信号完整性工具,精确的模型和板分析,帮助使用者利用信号完整性分析可获得一次性成功同时消除盲目性,它是业界人士首选的电路板设计工具1.3 调试方案设计好原理图及软件编程,对于硬件,调试主要为各模块电压、电流大小,电路的链接来验证硬件是否正常。对于软件,先验证编程是否正常,然后生成*hex文件,下载到仿真图中,观察实验结果,测量各模块数据是否正常,是否有

33、警告以及能否出现预期的设计效果。1.4论文章节安排本论文共有五章。第一章是绪论,主要讲述本设计中的基本原理和系统总体方案设计。第二章是硬件设计,详细讲述了硬件总体功能、数据采样模块、单片机最小系统的硬件设计、数模转化模块、及电压电流转化模块等。第三章是软件设计,详讲述了采样、显示、报警和按键等功能的软件设计。第四章是调试与分析,讲述了按照调试方案,验证各个模块的功能,并对调试过程中产生的问题进行了分析。第五章是系统设计的结论与展望,在结论里对整个系统的设计结果作了简单的总结,展望则是根据系统工作中存在的问题提出了一些相应的改进方法。第二章 硬件设计本章主要根据设计的要求、硬件的功能出发,对整个

34、硬件系统做出详细的设计。主要有:单片机的最小系统设计、模数转换采样模块设计、按键电路设计、数码管显示电路设计、报警系统设计、数模转换模块设计及实现最后的电压电流转换;而且最终绘制出设计的原理图和PCB图。2.1 系统硬件实现功能根据第一章所规划设计的方案,首先要对整个系统进行硬件设计。硬件设计根据设计的要求进行,以实现硬件系统对设计所要达到的功能。1、单片机最小系统及功能单片机的最小系统为整个系统提供了控制功能,同时也是软件运行的载体,对整个系统设计提供大的环境条件。2、数模转换电路功能数模转换对于本设计是关键之一,主要对输入的电压进行采样,以实现对输入大小的显示,同时对其进行按键操作及告警等

35、处理。数模转换时模块电路,且采样串行输入,因此主要设计其与单片机的接口电路以实现对其控制。3、按键电路功能 按键是本设计唯一的系统输入方式,通过单片机扫描按键可实现对收入的误差控制以实现所需标准的数据显示。4、报警电路的功能报警电路主要功能是监测电路,当输入达到上限或下限是驱动蜂鸣器发声,以提醒用户进行相应的操作。5、显示电路的功能显示电路是对输入数据的大小进行显示,让使用者实时了解系统的输入情况。四位数码管显示模块是集成电路,只需要设计接口电路即可工作,可实现单片机对数码管的数据读写。6、数模转换电路功能数模转换电路主要实现对输出数据的数模转换,实现电压输出,数模转换采样串行数模转换器,因此

36、要设计转换器的工作方式和与单片机的接口电路。7、电压电流转换模块设计功能电压电流转换模块是本设计的关键之一,对输出的电压进行三路输出转换,实现三路输出功能。2.2 硬件的总体设计本设计硬件部分主要有:单片机最小系统、按键电路、报警电路、数码管显示电路、模数采样电路、数模输出电路和输出电压电流转换部分组成(图2-1)本设计中单片机最小系统的设计、采样电路、数模输出电路和电压电流转换是本设计的关键7。因此,硬件的设计先从单片机最小系统电路着手。在关键部分设计完后,再进行报警、按键及显示电路的设计,以完成整个系统的硬件设计图2-1 硬件总体框图2.3 硬件详细设计2.3.1 单片机最小系统设计2.3

37、.1.1 时钟电路时钟电路时单片机的心脏8,控制着单片机的工作节奏,CPU就是通过复杂的时序电路完成不同的指令功能的。AT89C52的时钟信号可以由两种方式产生:一种内部方式,利用芯片的内部震荡电路产生时钟信号;第二种为外部方式,信号由外部引入。本设计采用片内振荡器产生时钟信号。单片机的引脚XTAL1、XTAL2内部有一反相器,在两脚之间接谐振器和两电容,就可形成振荡器。电路如图2-2所示单片机晶体振荡频率可以从0Hz80MHz,但通常选择值为6MHz,11.0592MHz,12MHz等三种。常用的电容一般在20100pF之间,当时钟为12MHz时典型值为30pF。本设计采用石英晶体振荡器,f

38、=12MHz,C1、C2=30pF 图2-2 片内振荡器时钟电路2.3.1.2 复位电路复位电路,即使电路恢复到起始状态。为使单片机系统工作稳定可靠,复位电路是必不可少。复位方式有手动按钮复位和上电复位,控制单片机的状态,在这时间内单片机保持复位状态,防止单片机发出错误指令、执行错误操作,也可以提高电磁兼容性能。单片机在启动时需要复位,以使单片机系统各部件处于确定的初始状态,并从初始状态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中。当系统正常工作,且振荡器稳定后,如果引脚上有一个高电平并持续2个机器周期以上,单片机就响应并将系统复位。单片机的复位原理,在启动0.

39、1S后,电容的两端电压持续充电为5V,这时电阻两端的电压几乎为0V,RST处于低电平,系统处于正常工作状态。当有按键按下的时,开关导通,这时电容两端形成了一个回路,电容被短路,在按键按下的过程中,电容则开始释放之前所充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这时10k电阻两端的电压会等于或大于3.5V,所以RST引脚接收到高电平,单片机系统自动复位。系统上电后运行中的复位,一般是通过手动复位即带点复位来完成。因此,本设计采用上电复位和手动复位相结合的方式,如图2-3所示。电阻选用10k,电容选用10uF。 图2-3 单片

40、机复位电路2.3.2 模数转换采样模块功能数模转换采样电路是模块化电路,采用串行ADC0832芯片,芯片有8个接口,其中有4个接口与单片机相连接,分别是CS、CLK、DO、DI。但是由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,当ADC0832未工作时CS输入端应该为高电平,此时芯片为禁用状态,CLK和DO/DI的电平是任意的。当要进行AD转换时,需先将CS的使能端子置于低电平并保持一直到转换结束。此时芯片进入转换状态,同时由单片机向芯片的时钟输入端CLK输入时钟信号,DI/DO端则是使用DI端输入通道功能的数据信号输入端。在第1个时钟脉冲的下降沿之前DI端子需保持高电平以表

41、示起始信号,第2、3个脉冲下降之前DI端子应输入2位数据用于通道选择功能。其中由于DO端和DO端在通信时并未同时有效,且与单片机的接口是双向的,所以在电路设计时可以将DO和DI并联在一个数据线上使用。ADC0832数据采样模块电路如图2-4,其中模块左边电路实现的是电流转换为对应的电压,接口CH0是模拟电压的输入口,根据DAC0832的工作模式,CH1输出电流转化的电压,以实现CH1为输入接口,对输出进行检测等操作。 图2-4 模数采样转化模块2.3.3 数模转化模块电路功能为输出模拟量,对单片机的数字量输出需要进行数模转化。数模转换芯片有并行的和串行的,其中并行DAC芯片的原理比较简单,但需

42、要与单片机连接的接口比较多,使得电路看起来较复杂,串行的DAC芯片的内部结构对比并行的比较相对复杂,但是其结构更加简单,需要的接口更加的少,应用会很方便。但串行DAC芯片在工作状态的数模转换时间相对于并行的较长(一般不超过100us),但是本设计对于转换时间的要求不用很高,且这个时间是可以接受的。因此本设计采用8位的串行数模转换器MAX517来实现对数据的数模转换。MAX517有串行传送方式和普通传送方式,在串行传送方式下,需要用单片机的RXD、TXD引脚分别连接到芯片的SDA、SCL引脚,且把单片机的串行口设置成工作方式0,并对单片机的晶振频率有限制。对于单片机本身有一定的要求,而此芯片在普

43、通传送方式下,可以随意接单片机的两个普通接口,要求相对于串行传送方式要简单的多。本设计采用串行数模转换器MAX517的普通传送方式进行实现。数模转化模块如图2-5,其中P2.1和P2.2分别于DAC芯片的SDA和 SCL引脚相连实现数据的传送。 图2-5 数模转换模块2.3.4 按键电路在单片机的应用中,人机接口是非常重要的组成部分,是数据输入的主要方法之一,因此键盘的应用对于本设计是必不可少的。在单片机的应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其于的按键都是以开关状态来进行输入、与单片机进行互动的。在对键盘的按下和释放过程中是机械的合断作用,会由于弹性而不可避免的出现抖动

44、现象,为避免造成误判就需要进行消抖处理,其中消抖的方法有硬件消抖和软件消抖两种方法,其中硬件消抖的成本比较大,会使得电路复杂,会在一定程度上会降低系统的可靠性;而软件消抖只是在软件编程上对抖动进行处理,实现方便且可靠性高。因此本设计采用软件消抖方法,这就需要在进行编程时注意。本设计的按键电路如图2-6,只要三个独立按键就可满足本设计对按键的要求。三个按键分别接到单片机的P2.4、P2.5、P2.6接口。 图2 -6 按键电路2.3.5 报警电路报警电路实现的就是对使用者提醒设备的状态,进而保护设备仪器等。本设计的报警电路采用蜂鸣器报警,电路实现比较简单,采用三极管对蜂鸣器驱动,在输入接口为高电

45、平时,放大器工作,蜂鸣器开始发声。本设计蜂鸣报警电路如图2-7. 图2-7 报警电路2.3.6 LED显示电路四位数码管为本设计提供数据大小的显示,能够了解输入的电压的大小等。数码管的驱动方式有静态驱动和动态驱动,静态驱动是指每个数码管的每一段都由一个单片机的I/O口进行驱动,静态驱动的优点是编程比较简单,显示的亮度高,但缺点是需要的I/O口多,其在实际的应用中必须增加译码驱动器进行驱动,就增加了硬件电路的复杂性。而动态显示接口是单片机中应用最广泛的一种显示方式之一,动态驱动将所有数码换的显示笔划的同名端连在一起,另外每个数码管公共极增加位选通控制电路,与单片机进行连接,单片机对选通端进行控制

46、,来决定哪个数码管亮或者不亮。数码管又有共阴极和共阳极两种,本设计采用共阳极四位一体数码管,由于四位一体的数码管一般都没有数据表,所以在设计时要对管脚的分布要比较注意。数码管显示电路如图2-8所示。图2-8 数码管显示电路2.3.7 电压电流转换输出电路在数模转换器转换后的输出为电压,把此电压转化为三路相同的电流进行输出,以达到一入三出的目的。将电压转化为相应的电流,需要用到放大器来实现。因为要实现三路输出,根据第一章所述的原理及原理图,需要三个放大器来进行实现。因为常用的放大器lm324是四个相同的放大器的集成,为此用lm324来实现。电压电流转换输出电路如图2-9。图2-9 电流电压转换电

47、压2.4 系统整体原理图设计本设计的原理图由Protel 99SE软件进行绘制,对设计中没有的软件自己找资料绘制并根据实物进行封装,按照设计的内容,对每一设计的要求逐个实现,并且不断细化设计,对要用的元件要全面考虑,芯片等器件进行深入的了解,综合考虑后确定要用的器件及相应器件的大小。根据设计的整体格局对元器件的进行合理的摆放,使得各个系统位置合理,整体看起来要显得不紧凑。在系统整体原理图的设计中,有大量的网络标签进行了对应的标示。详图见附录。第三章 软件设计硬件电路设计的完成,接下来需要软件设计来对设备进行操作。对于本设计,软件编程是不可少的,硬件电路只是个框架,是对应设计的外在实物,而软件编

48、程是则对硬件电路的控制,来实现对应的功能。就如同硬件就是人的整个身体,是外在的实体,而软件就是人的大脑,人的神经系统,对整个身体进行着各种控制。本章主要讲的是软件的详细设计,是根据设计的具体要求及所应用的硬件芯片来进行设计的。软件的设计过程是先对各个模块编程以实现对应的功能,然后再将各个模块进行整合,以实现对系统整体的软件设计,并在设计过程中绘制出流程图。3.1 软件的功能软件的功能,简单的说就是实现设计的要求。对于本设计采样C语言进行编程,通过编写C51程序将所有的硬件结合起来以实现对应的硬件功能9。软件的编程从单片机的初始化,对输入电压进行采样及通过四位一体数码管的显示,按键设置、报警、串

49、行输出等各个模块出发,对各个模块进行编程,在将其进行整合,整体发挥作用以实现设计的要求。1、 串行模数转换器采样模块子程序为了实现对输入电流的大小进行掌握,将电流转换为相应的电压,对电压进行采样输入,通过串行数模转换器进行实现。采样芯片ADC0832,根据设计的要求,需要实现一入三出的目的,为此,根据芯片的特性,程序需要实现两路输入,并通过键盘控制来进行实现。从而实现了输入数据和最后输出数据的采集,对数据进行相应的处理。2、 串行数模转化模块子程序为最后实现三路电流的输出,需要对输入单片机的电压数据进行输出。采样串行数模转换器MAX517,使用芯片MAX517普通输出方式,芯片连接单片机的两个

50、普通接口,进行软件编程,将单片机送入的数据进行数模转换,实现电压的输出。3、 设置系统子程序设置子程序,即对输入的数据在显示时对显示数据的大小进行一定的调整。以使输入的数据规范化。其中的一个按键程序需要实现输入数据端引脚的切换,以实现多路采集的目的。在对数据调整时,不仅对输入数据的大小进行调整,还对输出后返回的数据大小进行检测调整。4、 报警系统子程序报警,即对输入数据的上下限进行监测,通过在程序上设置输入数据的上下限,实现对电路设备的保护。在本设计中,在程序中设置报警的上限和下限,对输入的数据,若超过上限或者小于下限,则通过软件编程控制报警电路的蜂鸣器发出声音。5、 显示模块子程序本设计使用

51、共阳极的四位一体数码管,应用显示电路的接法和驱动数码管发光的子程序,根据设计的要求进行编程,对需要输入的数据进行比例转换,实现对输入数据的大小显示。其中包括对输入数据的显示,设置时的显示,对输出数据的显示。3.2 软件的总体设计硬件设计的完成,接下来就需要软件对整个系统进行控制支持。软件设计在整个系统中是十分重要的。本系统的软件设计,由主程序统领各个子程序,包括串行数据输入采样模块程序、串行数据输出模块程序、数码管显示模块的程序、控制电路程序及报警电路程序,其中在串行数据输入采样模块子程序中还有控制按键子程序来实现输入管脚的切换,控制子程序要实现对数码管显示的数据进行一定的调整。本设计的软件总

52、体框图如图3-1所示10。对于本系统,在软件设计时要使得在硬件上实现对采集数据的显示,按键控制对显示数据大小的调整,告警电路对输入上下限的状态提示以及采用串行数模转换器实现数据的输出。 图3-1 软件总体框图3.3 软件的详细设计3.3.1 主程序设计主程序是程序设计的核心部分,统领设计中其他的子程序,同时主程序的设计难度也就会相对较大11。本设计采用C语言进行编写程序,所以在程序执行时从主程序开始执行,在主程序执行时,调用各个模块的子程序12。对于本设计主程序,需要对各个模块进行统一,根据设计的总体要求,在主程序中需要仔细规划,设计好思路,以保证电路功能得以实现,并为后面子程序的设计做好铺垫

53、。根据本设计的要求和特点,设计的主程序流程图如图3-2。图3-2主程序流程图由所设计的流程图可以看出,整个系统在工作时,程序从主程序开始,然后进入初始化阶段,对单片机进行初始化的设置。然后进入串行采样输入模块,对其进行设置,确定输入通道,然后对输入的数据进行转换,通过显示电路模块对转换后的值进行显示。并通过按键设置对显示数据的大小进行调整,以使数据规范化。同时对输入的数据软件编程设置上下限,从而实现报警电路。最后通过数模转化子程序,对输入的数据进行数模转换。3.3.2 串行数据模块子程序设计这部分子程序是本设计的起始部分,通过软件编程,实现对数据采样芯片的驱动及对输入通道的确定。本部分程序主要

54、根据ADC0832的资料进行编程,根据芯片特性,通过单片机与芯片的链接,单片机通过引脚对芯片产生时钟信号,此时芯片通过接收单片机送来的2字节数据来确定芯片工作方式。根据芯片此特点和本设计的要求,可以通过开关来实现对输入通道的切换。通过编写程序,在开关断开时送入数据1、0来使用通道0,在开关接通时送入数据1、1来使用通道1,因而实现通道转换。ADC0832的数据读取程序流程如图3-3。图3-3 数据读取程序流程3.3.3 设置子程序设计根据设计的要求,需要对输入的数据进行误差调整。因为外接的电阻值有可能本身存在误差或者由于温度等外界原因而造成误差,需要在显示上进行调整,此时,在可通过按键程序对显

55、示进行调整。在本设计中,在数据采样模块可用三个按键进行设置,其中有数据的加按键,减按键和原采样数据按键。通过按键程序,对将要显示的数据进行加、减或者对原采样值进行显示。而在实际的硬件操作中经常可能会因为物理原因产生按键抖动(如图3-4)而造成多余的操作,使系统不稳定,可靠性降低。对此问题处理的办法是在程序上设置软件延时,在延时后重新判断按键是否按下,以此来消除硬件上可能会有的抖动。设置子程序流程图如图3-5。图3-4 按键抖动波形图 图3-5 设置程序流程图3.3.4 显示子程序设计实现数据的显示,对输入数据进行实时的了解,是本设计的目的之一。本设计采用的四位一体共阳极数码管,要测的原始数据位420mA电流,转换为相应比例的电压。在对采集的数据进行相应的转换,使显示的数据为20.00100.00,与原电流形成一定的比例。在程序设计时,进行相应转换的数据不仅是模数采样模块采集的数据,还有按键控制程序的输出值。对采样值与控制程序值之和进行转换显示。3.3.5 告警程序设计告警程序实现的是对输入数据极值时的反应。在输入的数据达到上限或下限时改变控制蜂鸣器引脚的电平,从而驱动蜂鸣器发声。在告警的程序中,根据输入数据的特性,可以直接在软件上对输入数据的上下限值进行确定的设定,从而直接应用。告警程序流程图

温馨提示

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

最新文档

评论

0/150

提交评论