程控多路放大器的设计_第1页
程控多路放大器的设计_第2页
程控多路放大器的设计_第3页
程控多路放大器的设计_第4页
程控多路放大器的设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要 程控放大器是一种放大倍数由程序控制的放大器,也称作是可编程放大器。在这个数据信息的时代里,数据和信息的快速采集与分析很重要,而程控放大器正好可以实现自动控制增益或量程自动切换,所以程控放大器得到广泛的应用。这就涉及了如何通过程序去实现放大倍数的倍数,也需要用到数字控制放大器,并针对仪器的要解决的具体问题要求放大器的放大倍数在一定范围内变化,且放大倍数如何达到精细。本设计采用与之相关的AT89C51单片机,TL061AMN放大器,DAC0832DA转换器的概况及应用。本文介绍了目前程控放大器的各项技术特征,并且阐述了其工作过程和要求,硬件系统设计以及软件系统设计,简单地对可编程控制器(P

2、LC)系统结构、工作原理及控制原理进行了分析,详细阐述了程控放大器的外观设计、放大过程、硬件设计、软件程序设计的实现过程。关键词:AT89C51单片机;DAC0832;数模转换器;运算放大器 目 录摘 要I目 录II第1章 绪 论11.1 课题介绍11.2 设计思路1第2章 方案设计22.1 核心模块的方案设计22.1.1 控制模块22.1.2 显示模块22.2 系统设计要求22.3 系统设计思路2第3章 系统硬件设计33.1 芯片简介33.1.1 AT89C51性能简介33.1.2 AT89C51的主要特性33.1.3 AT89C51管脚功能33.2 控制显示电路53.3 键盘电路63.4

3、D/A转换电路63.4.1 管脚功能73.4.2 D/A转换电路83.5 放大电路93.6整机电路9第 4 章 软件设计及仿真10 4.1 程序代码124.2 仿真设计124.2.1 KEIL UVISION 4简介及仿真104.2.2 PROTUES简介及仿真10总 结12参考文献13 附录A 程序14第1章 绪 论1.1 课题简介程控放大器,又名可编程放大器,是一种放大倍数由程序控制的放大器。程控放大器可以通过软件改变增益,利用模数转换器可以自动适应大范围变化的模拟信号电平,因此越来越多地应用在自动控制系统丶智能化仪器仪表中。它是有AT89C51单片机、DAC0832。通过按键来实现放大的

4、产生。1.2 设计思路本系统的主控制模块是由单片机最小系统,两个独立按键构成的,每一个按键对应一种调整模式。按下按键后,会执行相应的按键功能,松开后停止。具体实现过程:系统上电后先对DAC0832和LCD1602液晶初始化,再对按键进行扫描。当按键有按下时,系统的数字输入量发生改变,从而改变系统的增益,使得输出电压发生相应的变化。系统的放大倍数和输出电压通过液晶实时显示。第2章 方案设计2.1 核心模块的方案设计2.1.1 控制模块:独立按键控制此方案利用两个独立按键共同控制放大倍数,其中一个按键用来控制倍数的放大,另外一个控制倍数的衰减,以此来达到放大倍数的调节,由于本系统元件较少,而且51

5、单片机正好有两个外部中断口可以利用,程序设计简单,故采用此方案。2.1.2 显示模块:LCDLM016液晶显示此方案中液晶显示器可以由ASCll码控制,控制简单,可以显示更多的信息,比如放大倍数和单位等,故为本系统所采用。2.2 系统设计要求本系统设计的程控放大器可以实现如下功能:(1)可以通过按键输入来控制输出的电压大小。(2)输出的值可通过LCDLM016液晶显示。(3)可以通过按键输入改变放大器的放大倍数。2.3 系统设计思路本系统的主控制模块由单片机最小系统,两个独立按键构成的,每一个按键对应一种调整模式。按下键后,会执行相应的按键功能,松开后停止。程控放大器的输出电压V0与DAC08

6、32的输入电压Vref的关系式:V0=-(VrefRf)/2nR(Dn-12n-1+Dn-22n-2+.+D020)。Rf为系统的反馈信号输入线电阻,R为DAC0832的数字输出量,就相当于改变系统的增益。具体实现过程:系统的数字输入量发生改变,从而改变系统的增益,使得输出电压发生相应的变化。系统的放大倍数和输出电压通过液晶实时显示。 第3章 系统硬件设计3.1 芯片简介3.1.1 AT89C51性能简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS

7、8位微处理器,俗称单片机。ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.1.2 AT89C51的主要特性 8031 CPU与MCS-51兼容4K字节可编程FLASH存储器(寿命:1000写/擦循环)全静态工作:0Hz-24KHz三级程序存储器保密锁定128*8位内部RAM32条可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路3.1.3 AT89C51管脚功能MCS-51系列单片机的40个引脚中有2个专用于主电源的引脚,2个外接晶体的引脚,4个控制或与其它电源复用的引脚,以及32条输入

8、输出I/O引脚。VCC:供电电压,GND:接地; P0口(P0.0P0.7) 为双向8位三态IO口,当作为I/O口使用时,可直接连接外部I/O设备。它是地址总线低8位及数据总线分时复用口,可驱动8个TTL负载。一般作为扩展时地址/数据总线口使用。 P1口(P1.0P1.7) 为8位准双向IO口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可驱动4个TTL负载。 P2口(P2.0P2.7) 为8位准双向IO口,当作为I/O口使用时,可直接连接外部I/O设备。它是与地址总线高8位复用,可驱动4个TTL负载。一般作为扩展时地址总线的高8位使用。 P3口(P3.0P3.7

9、) 为8位准双向IO口,是双功能复用口,可驱动4个TTL负载。P3口也可作为AT89C51的一些特殊功能口。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。综上所述,MCS-51系列单片机的引脚作用可归纳为以下两点:单片机功能多,引脚数少,因而许多引脚都具有第2

10、功能;单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线;由ALE、PSEN/、EA/与P3口中的INT0/、INT1/、T0、T1、WR/、RD/共10个引脚组成控制总线。MCS-51系列单片机芯片均为40个引脚,HMOS工艺制造的芯片采用双列直插(DIP)方式封装,其引脚示意及功能分类如图3.1: 图3.1 MCS-51引脚图3.2 控制显示电路本设计用AT89C51单片机最小控制系统,显示部分采用LCDLM016液晶显示器LCD引脚图如图3.2所示。图3.2 LCDLM016引脚图脚号管脚名称LEVER管脚功能描述1VSS0V电源地2VDD5.0V电源

11、电压3VEE对比调整电压4RSH/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/WH/LR/W=“H”,E=“H”,数据被读到DB7DB0 R/W=“L”,E=“HL” DB7DB0的数据被写到IR或DR6EH/L使能信号:R/W=“L”,E信号下降沿锁存DB7DB0R/W=“H”,E=“H”DRAM数据读到D7D07D0H/L数据线8D1H/L数据线9D2H/L数据线10D3H/L数据线11D4H/L数据线12D5H/L数据线13D6H/L数据线14D7H/L数据线LCDLM016引脚及其功能介绍如表3-1所示。表3.1AT89C51的P0口接上

12、拉电阻,P0口输出显示数据,控制信号由P1口部分引脚控制输出。图3.3 显示控制电路3.3 键盘电路键盘电路如图3.4所示,通过按键控制输出电压大小。P3.0接输出增加按钮,P3.1接输出减小按钮 图3.4 键盘电路3.4 D/A转换电路D/A转换电路采用DAC0832来实现,首先来介绍下DAC0832芯片。3.4.1 管脚功能 图3.5 DAC0832管脚图DAC0832管脚功能如图3.5所示。DAC0832的主要特性参数如下:* 分辨率为8位;* 输出为电流信号,电流的建立时间为1us;* 可单缓冲、双缓冲或直接数字输入;* 只需在满量程下调整其线性度;* 单一电源供电(+5V+15V),

13、低功耗,20mW;* 参考电压可以达到10V;* 直接的数字接口可以与任何一款单片机相连。DAC0832的引脚功能: * D0D7:8位数据输入线,TTL电平,通常与单片机的数据总线相连,用于输入CUP送来的待转换数字量。有效时间应大于90ns(否则锁存器的数据会出错);* ILE:数据锁存允许控制信号输入线,高电平有效;* :片选信号输入线(选通数据锁存器),低电平有效;* :数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;* :数据传输控制信号输入线,低电平有效,

14、负脉冲(脉宽应大于500ns)有效;* :DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由、的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。* IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;* IOUT2:电流输出端2,其值与IOUT1值之和为一常数; 当DAC寄存器内容全为1时,IOUT1为最大,IOUT2=0; 当DAC寄存器内容全为0时,IOUT1=0,IOUT2为最大;为了保证输出电流的线性,应将IOUT1 及IOUT2接到外部运算放大器的输入端上。* Rf

15、b:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;* Vcc:芯片工作电源,范围为+5V+15V;* VREF:基准电压输入线,VREF的范围为-10V+10V;* AGND:模拟信号地,为模拟信号和基准电源的参考地;* DGND:数字信号地,为工作电源地和数字逻辑地。3.4.2 D/A转换电路 图3.6 D/A转换电路单片机的P2口输出信号给0832的8位并口数据输入,控制端口控制信号由P1口部分引脚控制输出。输出信号至运算放大器。3.5 放大电路运放与DAC0832连接的运放电路如图3-5所示。DAC0832输出的转换结果为电流形式,在本设计中利用一个高输入阻抗的线性运算放大

16、器TL061AMN将其转换为模拟电压信号。运放的反馈电阻通过Rfb端应用片内固有电阻。图中所示运算放大器U6的作用是反向器,输出的电压与D/A转换的电压相同。运放与DAC0832连接的运放电路如图3.7所示。图3.7 运放与DAC0832连接电路图3.6整机电路3.8整机电路图第 4 章 软件设计及仿真4.1程序代码见附录A4.2 仿真设计硬件电路完成以后,进行系统的软件设计,首先要分析系统对软件的要求,然后进行软件的总体设计,包括程序总体结构设计和对程序进行模块化设计。4.2.1 Keil uVision4简介Keil uVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并

17、提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片。编译如图4.2所示 图4.2 keil编译界面图4.2.2 PROTUES仿真Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件仿真功能,还能仿真单片机及外围器件。其特点是:1)提供软件调试功能2)提供丰富的外围接口器件及其仿真3) 提供丰富的虚拟仪器4) 具有强大的原理图绘制功能在PROTUES绘制好原理图后,调入已编译好的目标代码文件,可以在P

18、ROTUES的原理图中看到模拟的实物运行状态和过程。系统的仿真结果图如下所示,初始状态如图4.3,当按下“输出增加”键时如图4.4,当按下“输出减小”键时如图4.5。图4.3 仿真初始状态图4.4 按下输出增加键时图4.5 按下输出减小键时总 结本设计介绍了一种利用AT89C51单片机和DAC0832及放大器实现的程控放大器系统的设计。电路简介、操作方便、性能良好,而且其设计简练、易懂,所用器件常见,电路模块具有通用性,整个系统具有更实用的意义和更强大的功能。首先设计方案总结,学习PROTUES软件的使用,原理图的基本绘制方法。并根据题目要求,已经完成原理图绘制。通过查阅资料,独立学习仿真软件

19、使用方法,同时在PROTEUS环境中完成仿真图的绘制。并且配合KEIL UVISION 4软件完成了程序的编写。经过反复调试,完成了运行效果的仿真。仿真效果良好,达到了设计预期的目的。软件的编写和调试。针对本课题要实现的基本功能编写了本课题一些基本程序,并在调试过程中不断的改善编程方法。参考文献1阎石.数字电子技术基础.北京:高等教育出版社,1998; 2王远.模拟电子技术.北京:机械工业出版社,2001;3陈汝全.电子技术常用器件应用手册.北京:机械工业出版社,2003;4毕满清.电子技术实验与课程设计.北京:机械工业出版社,2006;5张俊谟.单片机中级教程-原理与应用.北京:北京航空航天

20、大学出版社,2002;6吴建平,李建强.数字程控放大器设计与应用J.成都理工学院报,2002,6:6656687余锡存,曹国华编著.单片机原理及接口技术M.西安:西安电子科技大学出版社,2000,7:27288彭楚武主编.微机原理与接口技术M.长沙:湖南大学出版社,2004,7: 2002049童诗白,华成英主编.模拟电子技术基础M.北京:高等教育出版社,2001:310 31610胡斌,蔡月红.放大器电路识图与故障分析轻松入门M.北京:人民邮电出版社,2003.9:14614911肖景和.集成运算放大器应用精粹M.北京:人民邮电出版社,2006:109 12蔡锦福.运算放大器原理与应用M.北

21、京:科学出版社,2003:210 21413Graeme,J.G.Optimizing Op Amp Performance,McGraw-Hill,New York,1997.14Rosenstark,S.Feedback Amplifier Principles.Macmillan New York,1986.15Roberge.J.K.Operational Amplifiers. Theory and Practice.John Wiley & Sons,New York,1975 附录A 程序#includereg51.h#includeintrins.hsbit dacs=P10;

22、sbit dawr=P11;sbit lcdrs=P15;sbit lcdrw=P16;sbit lcde=P17;sbit lcd_flag=P07;void disp(void);void lcd_delay(unsigned int );void lcd_deal(unsigned char ,unsigned char ,unsigned char );void _1602(void);void lcd_init(void);void lcd_moveto(unsigned char ,unsigned char );void lcd_putchar(unsigned char );u

23、nsigned char code shuzi=0,1,2,3,4,5,6,7,8,9;unsigned char code lcd_Assic12=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x56,0x2e;unsigned char dis216=0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20

24、,0x20,0x20,0x20; /0x20默认输出是空,即空格unsigned char val=0;void main (void)dacs=0;dawr=0;P2=0;disp();while (1)switch (P3)unsigned char i;case 0xfe:lcd_delay(10);if (0xfe=P3)val+;disp();for (i=0;i=100;i+)lcd_delay(10);if (0xfe=P3)continue;else break;for (i=0;i+)lcd_delay(10);if(0xfe=P3)if (i%50=0)val+;disp(

25、);if (i=250) i=0;else break;for (;)while (0xfe=P3);lcd_delay(10);if (0xfe=P3)continue;else break;break;case 0xfd:lcd_delay(10);if (0xfd=P3)val-;disp();for (i=0;i=100;i+)lcd_delay(10);if (0xfd=P3)continue;else break;for (i=0;i+)lcd_delay(10);if(0xfd=P3)if (i%50=0)val-;disp();if (i=250) i=0;else break

26、;for (;)while (0xfd=P3);lcd_delay(10);if (0xfd=P3)continue;else break;break;default: break;void disp(void)P2=val;lcd_deal(0,0,val/100);lcd_deal(0,1,val%100/10);lcd_deal(0,2,val%10);lcd_deal(1,2,(unsigned char)(float)val/256*5)%10);lcd_deal(1,3,11); /.lcd_deal(1,4,(unsigned char)(float)val/256*50)%10

27、);lcd_deal(1,5,(unsigned int)(float)val/256*500)%10);lcd_deal(1,6,10); /V_1602(); void lcd_delay(unsigned int k) / 12Munsigned int i0;unsigned char i,j;for(i0=0;i00;i-)for(j=97;j0;j-);void _1602(void)unsigned char *p;lcd_init(); /初始化lcd_delay(10);lcd_moveto(0,0);for(p=dis0;pdis0+16;p+)lcd_putchar(*p);lcd_moveto(1,0);for(p=dis1;pdis1+1

温馨提示

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

评论

0/150

提交评论