毕业设计(论文)可变增益放大器软件设计.doc

上传人:仙人指路1688 文档编号:4139986 上传时间:2023-04-07 格式:DOC 页数:43 大小:420.50KB
返回 下载 相关 举报
毕业设计(论文)可变增益放大器软件设计.doc_第1页
第1页 / 共43页
毕业设计(论文)可变增益放大器软件设计.doc_第2页
第2页 / 共43页
毕业设计(论文)可变增益放大器软件设计.doc_第3页
第3页 / 共43页
毕业设计(论文)可变增益放大器软件设计.doc_第4页
第4页 / 共43页
毕业设计(论文)可变增益放大器软件设计.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《毕业设计(论文)可变增益放大器软件设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)可变增益放大器软件设计.doc(43页珍藏版)》请在三一办公上搜索。

1、目 录中文摘要I英文摘要II1 引 言12 前级放大电路的设计22.1 测量放大器原理22.1.1 高共模抑制比的实现22.1.2 同相并联差动运算放大器32.2 方案论证与比较52.3 总体设计思路83 系统硬件电路设计93.1 中间级衰减电路93.1.1 单片机及其外围电路93.1.2 拨码开关电路113.1.3 程控放大电路123.2 数据显示电路153.2.1 LED显示驱动芯片选用163.2.2 电路原理图184 系统软件设计194.1 拨码开关的读取204.2 数码管显示程序234.3 向AD7520送入数据25结束语28致 谢29参考文献30附录一31附录二32附录三33可变增益

2、放大器软件设计摘 要本设计由四个模块电路构成:前级高共模抑制比仪器放大器、AD7520衰减器、拨码开关输入和数码管显示处理模块。在前级高共模抑制比仪器放大器中还将输出共模电压反馈到正负电源的公共端,是运放电源电压随共模输入电压浮动,各级偏置电压都跟踪共模输入电压,从而提高了共模抑制比。AD7520衰减器利用电阻网络的可编程性,实现衰减器衰减率的数字编程。拨码开关输入和数码管显示处理模块由拨码开关对放大倍数进行置数,单片机进行数字处理,四位七段数码管进行放大倍数的显示。程序部分主要分为主程序、数码显示子程序、拨码开关输入与读取子程序、数据转换子程序、向AD7520送入数据子程序五个部分。关键词

3、放大器 单片机 拨码开关 数码管VARIABLE GAIN AMPLIFIERS SOFTWARE DESIGNINGABSTRACTThe measuring amplifier in this design consists of four circuit blocks: a preamplifier with high CMMR, an AD7520 attenuator, DIP switch input and LED display processing module. In the former amplifier, it feeds CM voltages output bac

4、k to the power common pin, thus changing the power voltage of operational amplifier and the bias voltages at all stages so as to increase the CMRR. With the programmable resistance network, the digital programming of attenuation rate in AD7520 is achieved. DIP switch input and the digital display pr

5、ocessing module code switch from the allocation of magnification for home on the number of single-chip digital processing, the four paragraph magnification digital tube display. Procedures for the main program is divided into parts, digital display subroutine, dial code switch input and read subrout

6、ine, data conversion routines to the AD7520 data into five parts subroutine.KEY WORDS Amplifiers Single-chip DIP switch LED1 引 言放大器是电子系统的重要组成部分,了解和掌握放大器的设计对于学习和应用电子系统有很大的帮助。信号检测中的放大电路有很多种类型,实际系统中常采用的有测量放大器和隔离放大器。 测量放大器又称为数据放大器或仪表放大器,常用于温度、速度等的测量以及其他有较大共模干扰的缓变微弱信号的检测。 测量放大器是一种高增益、直流耦合放大器,它具有差分输入、单端输出

7、、高输入阻抗和高共模抑制比等特点。差分放大器和测量放大器所采用的基础部件(运算放大器)基本相同,它们在性能上与标准运算放大器有很大的不同。标准运算放大器是单端器件,其传输函数主要由反馈网络决定;而差分放大器和测量放大器在有共模信号条件下能够放大很微弱的差分信号,因而具有很高的共模抑制比(CMR)。它们通常不需要外部反馈网络。 在精密的数据采集场合,常常采用仪用放大器,利用它所具有的高输入阻抗、高共模抑制比和精确的电压增益,但对称的电路结构给实际应用带来不便,对外围元件的公差要求严格,所以在应用中受到限制。为此,我们设计了带高共模抑制比前置放大电路的测量放大器,它具有高共模抑制比的特点,弥补了传

8、统仪用放大器的不足。 程控增益放大器是一种放大倍数由程序控制的放大器,也称为可编程增益放大器,缩写符号PAG。在多通道或多参数的数据采集系统中,多个通道或多个参数共用一个测量放大器。各通道或各参数送入测量放大器的信号大小并不相同,但都要放大至A/D变换器输入要求的标准电压,因此各个通道要求测量放大器的增益就每个通道的数据采集而言,还可实现自动控制增益或量程自动切换。程控放大器使用方便、性能好,故可在数据采集系统、自动增益控制、动态范围扩展、远程仪表测试等方面使用尤为适宜,程控增益调整比手工调整更优越。在使用放大器的场合中,往往希望增益能够调整,以使波形显示更完美,数据采集更精确。而程控增益调整

9、比手工调整更优越,因此程控增益放大器得到广泛应用。2 前级放大电路的设计2.1 测量放大器原理测量放大器是在高精度集成运算放大器的基础上发展起来的运算放大器,其最主要的特点是,极高的共模抑制比、极高的输入电阻、可以达到上千倍的闭环电压增益、极低的噪声。2.1.1 高共模抑制比的实现由于差动放大器具有良好的共模抑制能力,因此,在高共模抑制比电路的实现中往往采用差动放大器,如图2-1所示。图2-1 差动放大器电路为了获得尽可能高的共模抑制比,通常差动放大器的各个电阻选择同一阻值的电阻,这样带来的问题就是输入阻抗低和增益低。这是因为差动放大器在完全对称的条件下才能达到集成运算放大器自身的共模抑制比,

10、稍有一点微小的不对称,就会降低电路的实际共模抑制比。2.1.2 同相并联差动运算放大器(1)基本电路图2-2是同相并联差动运算放大器的基本电路。差动输入信号和共模输入信号从两只运算放大器的同相端送入,所以它的差动输入电阻和共模输入电阻都很大。电路的平衡对称结构使两只放大器的共模增益、失调及漂移所产生的误差电压具有相互抵消的作用。和串联组合电路相比,并联组合电路的主要优点是不需要精密匹配电阻,而且能差动输出,适合用于不接地的“浮动”负载,缺点是输出信号中有较大的共模信号。图2-2 同相并联差动运算放大器在这个电路中,并不要求外部回路电阻用任何形式的匹配来保证自己的共模抑制比能力,这就避免了精确匹

11、配电阻所遇到的困难。实质上,加载电位器Rw上的差动电压决定了整个电路的工作电流,而加在电位器上的共模电压却对这个差动电流毫无影响,不论其他电阻取何值都是如此,所以电路的共模抑制比能力与外部回路电阻是否匹配完全无关。考虑到平衡对称结构有利于克服失调及其漂移的影响,故在实际应用时常取 = (2-1)这样,增益常用表达式为=1+ (2-2)改变电位器的滑动比,就能使增益在它的最小值 =1+ (2-3)与某一个高增益值之间进行调节。可见增益调节相当简单,不过调节特性仍是非线性的,故宜选用多圈电位器,并在中串接一个固定电阻来保护组件。虽然电路的共模抑制能力与外部电路的电阻是否匹配无关,而且电路的对称结构

12、有利于相互抵消两只放大器的共模抑制比有限所造成的影响,但当A1和A2的和不等时,应用电路的共模抑制比仍是有限的。可以证明,图2-2中电路的共模抑制比为: (2-4)因此,提高本电路共模抑制能力的关键字于使A1和A2的共模抑制比尽可能的匹配。上述分析说明,两只运算放大器的性能参数若能彼此匹配,就可以充分发挥对称电路误差电压相互抵消的长处。这种利用电路结构对称、失调互补的原理已成为获得低漂移放大器的一种基本方法。(2)性能改进上述基本电路的主要缺点是,它按1:1的比例把输入端的共模信号传递到输出端,共模输入信号有多大,共模输出信号就有多大。此外,由于共模输出信号占用了一定的工作范围,所以差动信号的

13、有效工作范围变窄了。因此,它只适宜于工作者低增益、共模输入信号较小的场合。对于接地负载,或者不希望输出电压包含共模信号的负载,基本电路必须加以改造才能胜任。显然,抑制共模信号传递的最简单方法是在基本同相并联电路之后,再接一级差动运算放大器,它不仅能隔断共模信号的传递,还能将双端输出变为单端输出,适应接地负载的需要,其电路如图2-3所示。它是图2-3中同相组合电路与基本差动放大器的简单串联,它们相互取长补短,使组合后的电路具有输入阻抗高、增益调节方便、漂移相互补偿,以及输出不包含共模信号等一系列优点,其代价是所用组件数目较多,共模抑制能力略有下降。图2-3 高输入阻抗差动放大器的性能改进不难证明

14、,这个电路的理想闭环增益为 (2-5) 共模抑制比为 (2-6)假若 (2-7)则上式可近似为 (2-8)式中,和为A1和A2组成的前置级的理想闭环增益和共模抑制比;为A3组成的输出级的共模抑制比。2.2 方案论证与比较根据上述测量放大器原理,前级放大电路共提出了以下几种方案:方案一:同相关联式高阻测量放大器,见图2-4。线路前级为同相差动放大结构,要求两运放的性能完全相同,这样,线路除具有差模、共模输入电阻大的特点外,两运放的共模增益、失调及其漂移产生的误差也相互抵消,因而不需要精密匹配电阻。后级的作用是抑制共模信号,并将双端输出转变为单端放大输出,以适应接地负载的需要,后级的电阻精度则要求

15、匹配。增益分配一般是前级取高值,后级取低值。该方案电路结构简单,易于定位和控制,但要调节增益必须手动调节变阻器,虽然也可将放大倍数设成固定的几挡,但仍不能满足要求。图2-4 同相关联式高阻测量放大器方案二:电路结构与方案二基本相同,只是为了达到增益调节的要求,考虑用两片R-2R的D/A代替上图中的RW,结合单片机通过改变D/A的电阻网络来改变公式中RW值,从而改变增益。其优点是输入电阻大,两运放的共模增益、失调及漂移产生的误差也相互抵消。其缺点是由于电阻匹配的要求也使用了两片D/A,即增加了控制的工作量,又提高了成本,而且精度也不能满足要求。方案三:利用浮动电源提高前置放大器共模抑制比的电路。

16、与图2-3相比,这个电路多加了一级电压跟随器A4 ,A4的输入信号取自两只电阻R0组成的共模信号引出电路,所以它的输入电压等于共模输入电压,输出电压亦是如此。A4的输出加到运算放大器A1和A2正、负电源电压的涨落幅度的公共端,使正负电源电压浮动起来。若A4具有理想特性,则正、负电源电压的涨落幅度与共模输入电压的大小完全相同。这样,虽然共模输入电压照样加在放大器的A1和A2同相端,但却因放大器本身电源对共模输入信号的跟踪作用,使它的影响大大消弱。这样就算A1和A2的元件参数不完全对称,但由于有效共模电压减小,输出端的差动误差电压也是很小的,也就意味着前置级的共模抑制比能力提高了。显然,这个电路的

17、共模抑制比仍可由式(2-6)表述,但式中的前置放大器的共模抑制比应考虑隔离级A4的作用而加以修正。当运算放大器A1、A2和A4的共模抑制比分别为,和时,整个前置级的共模抑制比可表述为 (2-9)从上式可知,由于A4使电源电压跟随共模输入电压浮动,使前置级的共模抑制比提高了倍。这样,即使A1和A2的共模抑制比不太匹配,整个电路的共模抑制比用式(2-8)来描述也是足够精确的,从而使电路的共模抑制比接近理想值2。图2-5 高共模抑制测量放大器经比较,方案四既可满足本文要求,电路又不太繁琐,控制较简单,成本又不高,所以采用该方案。在没有更好的集成运算放大器(包括增益可程控的集成运算放大器)的条件下,实

18、现测量放大器的最好方案是应用通用集成运算放大器中的精密集成运算放大器OP07。为了充分发挥OP07的性能,要将OP07的调零电路包括在测量放大器电路之内,其具体实现电路如2-6所示。为了改善集成运算放大器的电源阻抗,在每个集成运算放大器的正负电源端对地均有用于旁路的2.2F的陶瓷贴片电容器。图2-6 前级放大具体实现电路2.3 总体设计思路根据题目的要求和前边所讨论的各种方案,认真取舍,充分利用了模拟和数字系统各自的特点,发挥其优势,采用单片机控制放大器增益的方法,大大提高了系统的精度;采用仪器放大器输入,大大提高了放大器的品质;由4片运放构成的前级高共模输入的仪表差动放大器,对不同的差模输入

19、信号电压进行相同倍数的放大,再经过后级程控衰减器得到要求放大倍数的输出信号。单片机系统包括89C51、74LS138译码器以及8255A等外围芯片。 图2-7所示即为本系统原理方框图。拨码开关显示驱动显示程控增益放大输出 低噪声前置放大电路 单片机图2-7 采用单片机控制的可变增益放大器系统组成框图3 系统硬件电路设计硬件设计是本设计的一个重要的组成部分,这部分的设计直接影响到后续软件编制的难易程度,因此设计出一个良好的硬件电路是必要的,在前面的总体设计思路中我们已经确定了设计的基本思路,在这里将做具体的介绍。本设计中的可变增益放大器的硬件电路主要包括前级放大电路、中间级衰减电路和数据显示电路

20、三部分,前级放大部分已在方案论证中讨论过,下边依次对其余各个部分电路进行介绍。3.1 中间级衰减电路中间级衰减电路主要是通过单片机控制来实现的。其中运用拨码开关来实现数据的输入,AD7520中的电阻网络来实现衰减,下边将对中间级衰减电路的各个部分做详细的介绍。3.1.1 单片机及其外围电路可变增益放大器采用AT89C51单片机来实现对放大器的程控控制。AT89C51 包含2 个16 位定时/ 计数器、1个具有同步移位寄存器方式的串行输入/ 输出口和4K8 位片内FLASH 程序存储器。16 位定时/ 计数器用于实现待测信号的频率测量。同步移位寄存器方式的串行输入/ 输出口用于把测量结果送到显示

21、电路。4K 8 位片内FLASH 程序存储器用于放置系统软件。AT89C51 与具有更大程序存储器的芯片管脚兼容,如: 89C52(8K8 位) 或89C55 (32K8 位) ,为系统软件升级打下坚实的物质基础。其外围电路有振荡电路、复位电路。单片机的振荡电路和复位电路如图3-1所示图3-1 单片机振荡和复位电路(一) 单片机的振荡电路 单片机的振荡电路和时钟电路一起构成了单片机的时钟方式,根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式,同时,振荡周期和时钟周期又决定了CPU的时序。 AT89C51单片机有一个高增益反相放大器,反相放大器输入端为XTAL1,输出端为XTAL2。在

22、XTAL1和XTAL2之间跨接石英晶体及两个微调电容就构成了振荡器,如图3-1所示。C1和C2一般取30PF左右,振荡频率范围是1.2-12MHz。本设计中晶振约为12 MHz.。 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。单片机的复位电路 (二) 单片机的复位电路本文中单片机的复位电路采用的是按键电平复位电路。 复位是单片机的初始化工作,复位后中央处理器CPU和

23、单片机内的其他功能部件都处在一定的初始状态,并从这个状态开始工作。一般在单片机刚开始接上电源时,或是断电、发生故障后都要复位。复位后不会改变片内RAM中低于128B的内容,但是特殊功能寄存器SFR的值被初始化。其值如表3-1所示。表3-1 复位后内部寄存器状态寄存器名内容寄存器名内容PCACCBPSWSPDPTRP0-P3IPIE0000H00H00H00H07H0000HFFHXXX00000B0XX00000BTMODTCONTH0TL0TH1TL1SCONSBUFPCON00H00H00H00H00H00H00H不定0XXX0000B3.1.2 拨码开关电路本论文采用的是四位KSA-3型

24、的BCD拨码开关,其10进制输入,BCD码输出,用来预置调节差模电压增益。它的优点是断电后再开启时,不用重新置数6。拨码开关电路如图3-2所示图3-2 拨码开关电路在图3-2所示的电路中,共有四位拨码开关,其中千位和百位与8255A的PC0端口连接,十位和各位与PC1端口连接。拨码开关的输出位通过5电阻与5V电源相连,使拨码开关输出位一直处于高电平状态。当拨码开关工作时,只需把它的输入端置为低电平即可,即:当PC0=0时,拨码开关的千位和百位可输入数据;当PC1=0时,拨码开关的十位和个位可输入数据。3.1.3 程控放大电路为了改变放大器的增益,一般有两条途径:一是改变反相端的输入电阻阻值,二

25、是改变负反馈电阻阻值。通过设计一个电阻网络和开关来实现这种功能。为了解决电阻网络的匹配问题,考虑能否利用集成的高精度电阻网络。鉴于D/A转换器能把数字量变为模拟量,它的内部结构一般是电阻R-2R梯形网络,并集成有多路模拟开关。因此,我采用了与常规D/A变换不同的用法。又考虑的到AD7520是一种廉价型的10位D/A转换芯片,有CMOS电流开关和梯形电阻网络构成,结构简单,通用性好,配置灵活,其内部电阻网络有薄膜电阻构成,激光修正,相对于继电器和模拟开关等设计电阻网络而言,具有精确度高、体积小、控制方便、外围布线简化等特点4。其等效电路图为图3-3所示。从参考电压流经梯形网络至端的电流和没有分流

26、电阻时的电流I相比,其关系为,故。因此,这种程控增益放大器的增益A为: (3-1)图3-3 AD7520等效R-2R电阻网络的放大器程序控制放大电路由AD7520和运算放大器OP07组成,增益控制字由单片机送出。程序控制放大电路的原理框图如图3-4所示,实现电路如图3-5所示。采用四位BCD拨码开关,用来预置调节差模电压增益,它的优点是断电后再开启时,不用重新置数。单片机用于将拨码开关设置的数值转化为程控放大器的控制字,并且送显示电路。程控放大部分包括D/A转换器AD7520和输出放大。通过D/A转换器AD7520把输入电压放大到手工调节的倍数5。译码驱动拨码开关单片机程控输入部分增益显示图3

27、-4 程控放大电路原理框图图3-5 程控放大电路增益控制的实现过程如下:D/A转换器AD7520的管脚排列如图3-6所示。将模拟信号从参考电源端输入,而放大倍数所转换成的二进制从BIT1BIT10输入。图3-6 AD7520引脚排列通过D/A转换将模拟信号放大到欲实现的放大倍数并有倒相功能。设计中要求将信号放大01023倍。十位二进制能表示的最大十进制为1023。如果将每位定为0,则十进制也为0;如将十位二进制全定义为1,则(1111111111)B=1023。AD7520可看成是一个R-2R电阻网络,而10位数据口的输入则相当于对该网络的输入电阻进行编程,对于输入不同的数值量,得到不同的输出

28、、输入电压比。由于前级放大器已经做了相应的放大,中间级又作了相应的放大,只要调整相应的输出放大器就得到要求的放大倍数。现在采用的单片机控制的数/模转换器AD7520是10位的D/A转换集成芯片,与微处理器完全兼容。10位DAC(AD7520)数字量没改变一个BIT,该放大器输出就改变输入量的1/1024。因此,完全可以实现放大倍数步距为1的变化。比如要求得到1000倍的放大倍数,则只要前级和中间级的放大倍数A为: (3-1)由,对输出放大器置数成3F8H就可以得到1000倍的放大。又如要得到500倍的放大倍数,则由,对输出放大器置数成1FCH就可以500倍的放大3。3.2 数据显示电路本设计的

29、数据显示电路主要是在51单片机系统中使用专用的LED显示驱动芯片实现4位LED数码管显示,据此可将这部分电路分为3个模块: LED显示驱动芯片和单片机的接口电路。 LED显示驱动芯片和4位数码管的接口电路。 单片机控制LED显示驱动芯片实现4位数码管显示的C51程序。3.2.1 LED显示驱动芯片选用LED显示驱动芯片选用MAXIM公司的MAX7219,是基于以下考虑的: MAX7219能够驱动8个LED,可方便地对每位LED进行单独控制、刷新,不需重写整个显示器寄存器。 外围电路仅需一个电阻即可设定峰值段电流,可用于亮度调节,同时也支持软件方面调整显示亮度。 通信方式采用串行数据方式,可与任

30、何一种单片机方便的接口,仅适用单片机的3个I/O口即可完成8位LED数码管的显示控制和驱动。 可设置为低功耗模式,此模式下单片机仍可对其传送数据和修改控制方式,而且芯片耗电仅为150A.其引脚分布如图3-7所示。图3-7 MAX7219引脚分布示意图引脚功能说明如下:DIN(1脚):串行数据输入脚。在CLK上升沿,数据装入内部的16位移位寄存器中。DIG07(2、11、6、7、3、10、5、8脚):8位数位驱动线。输出位选信号,从LED的公共阴极吸入电流。GND(4、9脚):装载数据输入脚。在LOAD上升沿,串行数据的最后16位被锁存。CLK(13脚):串行时钟输入脚。做个输入频率为10MHz

31、,在CLK的上升沿,数据移入内部一位寄存器;在CLK的下降沿,数据被移至DOUT端。SEG AG,SEG DP(14、16、20、23、21、15、17、22脚):LED 7段显示器段驱动脚,其中SEG DP为小数点段驱动脚。ISET(18脚):LED段峰值电流提供脚。它通过一只电阻与电源相连以设置LED段峰值电流。V+ (19脚):+5V电源端。DOUT(24脚);串行数据输出脚。DIN引脚输入的时间在16.5个时钟周期后送到DOUT脚输出。此引脚可用于以菊花链的方式级联多片MAX7219. MAX7219内部主要包括移位寄存器、控制寄存器、译码器、数位驱动器、段驱动器以及亮度调节和多路扫描

32、电路等。MAX7219采用串行接口方式,只需要LOAD、DIN和CLK三个引脚便可实现数据的串行传送。MAX7219的16位串行数据(D15D0)的作用如表3-2所示;表3-2 MAX7219的16位串行数据D15 D14 D13 D12D11 D10 D9 D8D7 D6 D5 D4 D3 D2 D1 D0无关比特地址数据位其中,低8位表示显示数据本身,最高的4位D15D12为无关比特,D11D8为用于寻址4个内部寄存器。16位中最先接收的是最高有效位D15。MAX7219内部具有14个可寻址数位和控制寄存器。8个数位寄存器由一个片内双端口SRAM实现。它们可直接寻址,因此,可对单个数位进行

33、更新,并且通常只要超过2V数据就可以保留下去。除8个数位寄存器之外,MAX7219内部还有无操作、译码方式、亮度调整、扫描位数、低功耗模式和显示测试6个控制寄存器,它们的功能如下:无操作寄存器:用于多片MAX7219的级联。译码方式寄存器:用于设置每个数位工作于BCD译码方式或是非译码方式。亮度调整寄存器:用于显示亮度的数字化调整。显示器的领导可以通过模拟与数字两种方式进行调整。模拟方式是在VCC与ISET引脚之间外接一个电阻,调整该电阻的大小即可改变显示器亮度;数字方式是使用亮度调整寄存器,此时芯片内启用一个脉宽调制器,它受亮度调整寄存器低半字节D3D0的控制,产生16种占空比不同的输出脉冲

34、,形成16级亮度调整。扫描位数寄存器:设置显示数据位的个数。低功耗模式寄存器:用于节省电源消耗,延长显示器的使用寿命。上电时,所有的控制寄存器都复位,显示器都熄灭,芯片进入低功耗模式。显示测试寄存器:用于显示器的测试。测试时,以31/32或15/16的占空比什么全部数位段,使得所有显示器的所有段以最大的亮度点亮1。3.2.2 电路原理图数码管显示电路的单片机、MAX7219和数码管部分原理图如图3-8所示。单片机AT89C51工作于12MHz时钟,它和MAX7219的串行接口通过3根线DIN、CLK和LOAD实现。4个7段LED管与MAX7219的接口信号是段驱动信号ag、dp和位驱动信号CO

35、M0COM7。图中的R2是用于模拟亮度调整的,其阻值不应低于10,这里用了47。图3-8 数码管显示电路原理图4 系统软件设计在本设计中,可变增益放大器的增益控制是由AT89C51单片机及其外围电路控制实现的。上电后整个系统开始工作,通过设置拔码开关使得放大器的增益值达到所需要的,然后由单片机取出存储器中的由拨码开关输入的数字,通过对其进行BCD码转换,然后送入AD7520,此时的AD7520作为一个可编程的电阻网络来实现增益控制。本系统的主程序流程图如图4-1所示上电开始初始化While (1)读拨码开关数据转换LED显示送AD7520图4-1 主程序流程图4.1 拨码开关的读取在设计中,前

36、级放大电路固定的对信号进行了1040倍的放大,拨码开关的作用在于:用户可以通过拨码开关来选择11023之间任意所需的放大倍数。拨码开关输入数值是否能够正确读取对后续程序控制产生着直接的影响,它直接影响放大电路的放大倍数。因此要做到拨码开关数据的正确读取,图4-2是拨码开关数据读取的程序流程图。置8255控制端口:写有效置控制字:PC0=0,PC1=1置8255控制端口:读有效读入数据并存入数组X1中置8255控制端口:写有效置控制字:PC0=1,PC1=0置8255控制端口:读有效读入数据并存入数组X2中拨码开关输入与读取子程序图4-2 拨码开关输入与读取子程序流程图当需从拨码开关输入和读取数

37、据时,首先必须先让8255A的片选端口=0,选中8255A;然后置8255A的控制端口,输入数据时,其控制端口要置为写有效,当PC0=0时,拨码开关的千位和百位即可输入数据;当PC1=0时,拨码开关的十位和个位即可输入数据;读取数据时,其控制端口置为读有效,这样输入数据即可以读出并存入指定的存储单元中。拨码开关读取子程序如下:void bomanum()P37=1;P36=0;P27=0; /WRITE8255 Cont=0x00; /PC0口置0Cont=0x03;/ PC1口置1P37=0;P36=1;P27=0;x1=bb; /读千位和百位P37=1;P36=0;P27=0;Cont=0

38、x01;/PC0口置1Cont=0x02;/ PC1口置0P37=0;P36=1;P27=0;x2=bb;/读十位和个位因所用的拨码开关为10进制输入,BCD码输出型的拨码开关,输入的10进制数从拨码开关输出时,都为压缩BCD码形式,故需将其转换为二进制形式。其转换流程图如下:数据转换子程序数组X1与0X0F相与,得千位数组X1与0XF0相与,屏蔽低四位高四位右移四位,得百位数组X2与0X0F相与,得十位数组X2与0XF0相与,屏蔽低四位高四位右移四位,得个位图4-3 数据转换子程序子程序转换子程序如下:void transf()qian=x1&0x0f;bai=x1&0xf0;bai=bai

39、4;shi=x2&0x0f;ge=x2&0xf0;ge=ge4;4.2 数码管显示程序数据显示程序的流程图如图4-4所示图4-4 数码管显示子程序流程图LED显示测试MAX7219初始化延时约3S退出显示测试While(1)再次初始化MAX7219判断哪位LED被选中,并显示输入数字开始延时2s需要显示数据时,首先对MAX7219进行初始化,就是通过对MAX7219的寄存器操作,设置其扫描界限、译码方式、亮度和工作模式等。然后点亮所有LED,对四个数码管进行测试,因为MAX7219是串行驱动芯片,在本论文中需延时3S,可保证四个数码管测试完毕,之后退出显示测试模式。根据单片机送入的数据选择哪个

40、数码管亮和显示哪个数字。数码管显示的子程序如下所示:void display( )InitDisplay ();/ MAX7219初始化WriteWord (DisplayTest,TestMode); / 开始显示测试,点亮所有LEDDelay (3000); / 延时约3SWriteWord (DisplayTest,TextEnd); / 退出显示测试模式While (1)uchar i, j;Delay (2000);/ 间隔约2SInitDisplay ();/* 4个数码管以相同时间间隔2S同时变化显示09的数字 */for(i=0;i=9;i+)for (j=0;j=3;j+)D

41、isBufferj=i;WriteWord (Digit0,DisBuffer0);WriteWord (Digit1,DisBuffer1);WriteWord (Digit2,DisBuffer2);WriteWord (Digit3,DisBuffer3);4.3 向AD7520送入数据从拨码开关中输入的数据经过数据转换后,送入单片机中进行处理,然后将处理后的数据送入数码管进行显示,最后送入D/A转换器AD7520中实现增益控制的功能。其流程图如图4-5所示。向AD7520送入数据子程序数据按公式转换取出低8位取出高8位写入控制字置8255控制端口,读有效向AD7520送入数据图4-5

42、向AD7520送入数据子程序流程图 在向AD7520送入数据之前,先要把从拨码开关中读入的数据经过公式转换,之后通过8255A的PA口和PC6、PC7共10个端口送入AD7520的10位输入端口里面,从而通过AD7520实现增益的控制。向AD7520送入数据的子程序如下:void write_ad() uint output ,x; uchar output1, output2; x= qian * 1000+bai*100+shi*10+ge; output=1040*x/1024; output1=output&0x00ff; output2=output&0xff00; P37=1; P36=0; P27=0; Cont=0x82; P37=1; P36=0; P27=0; aa=output1; cc=output2;结束语在精密的数据采集场合,常常采用仪用放大器,但仪用放大器对电路的对称结构和外围元件的参数都要求的很严格,使其在实际应用中受到了很大的限制。为此,我们设计了带高共模抑制比前置放大电路的测量放大器,它具有高共模抑制比的特点,弥补了传统仪用放大器的不足。程控放大器比手工调节的放大器更具有优越性,其使用方便、性能好、采集数据更精确,所以在实际应用中得到了广泛的应用。本文在高共模抑制比前置放大器电路的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号