Word版可编辑-吉林省电子大赛AD转换器设计报告精心整理.doc_第1页
Word版可编辑-吉林省电子大赛AD转换器设计报告精心整理.doc_第2页
Word版可编辑-吉林省电子大赛AD转换器设计报告精心整理.doc_第3页
Word版可编辑-吉林省电子大赛AD转换器设计报告精心整理.doc_第4页
Word版可编辑-吉林省电子大赛AD转换器设计报告精心整理.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

2012年吉林省大学生电子设计竞赛A/D转换器(B题)2012年9月7日22012年吉林省大学生电子设计报告摘 要 此设计是由输入电压信号(0-5V)、逐次比较型A/D转换器,单片机AT89C51控制单元,数码管显示部分组成。转换原理是在直接A/D转换器中,逐次比较型A/D转换器是目前采用最多的一种。逐次逼近转换过程与用天平称物重非常相似。天平称重过程是,从最重的砝码开始试放,与被称物体行进行比较,若物体重于砝码,则该砝码保留,否则移去。再加上第二个次重砝码,由物体的重量是否大于砝码的重量决定第二个砝码是留下还是移去。照此一直加到最小一个砝码为止。将所有留下的砝码重量相加,就得物体重量。仿照这一思路,逐次比较型A/D转换器,就是将输入模拟信号与不同的参考电压做多次比较,使转换所得的数字量在数值上逐次逼近输入模拟量对应值。它由控制逻辑电路、数据寄存器、移位寄存器、DA转换器及电压比较器组成,其工作原理如下:电路由启动脉冲启动后,在第一时钟脉冲作用下,控制电路使移位寄存器的最高位置1,其他位置0,其输出经数据寄存器将10000,送入DA转换器DAC0832。DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。DA转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。关键字: 逐次比较型,A/D转换器,DAC0832,单片机AT89C51,数码管目 录摘要11 A/D转换器的原理21.1 方案的比较与论证1.2 A/D转换器工作原理21.3 A/D转换器框图.31.4 A/D转换器的特点及设计电路图52 控制单元的AT89C51原理 2.1单片机AT89C51的引脚及工作原理 2.2显示部分四位一体共阳数码管原理2.3控制单元的电路原理图3 A/D转换电路的仿真与调试分析3.1 EWB软件简介83.2 电路仿真图4 参考文献265 附录1 A/D转换器的原理1.1 方案的比较与论证DAC0832进行D/A转换,可以采用两种方法对数据进行锁存。 第一种方法是使输入寄存器工作在锁存状态,而DAC寄存器工作在直通状态。具体地说,就是使 和 都为低电平,DAC寄存器的锁存选通端得不到有效电平而直通;此外,使输入寄存器的控制信号ILE处于高电平、 处于低电平,这样,当 端来一个负脉冲时,就可以完成1次转换。 第二种方法是使输入寄存器工作在直通状态,而DAC寄存器工作在锁存状态。就是使 和 为低电平,ILE为高电平,这样,输入寄存器的锁存选通信号处于无效状态而直通;当 和 端输入1个负脉冲时,使得DAC寄存器工作在锁存状态,提供锁存数据进行转换。 根据上述对DAC0832的输入寄存器和DAC寄存器不同的控制方法,DAC0832有如下3种工作方式: 单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。 双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。 直通方式。直通方式是资料不经两级锁存器锁存,即 CS*,XFER* ,WR1* ,WR2* 均接地,ILE接高电平。此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换。 引脚分布图由于它的转换速度快,所以选择DAC0832。1.2 A/D转换器工作原理在直接A/D转换器中,逐次比较型A/D转换器是目前采用最多的一种。逐次逼近转换过程与用天平称物重非常相似。天平称重过程是,从最重的砝码开始试放,与被称物体行进行比较,若物体重于砝码,则该砝码保留,否则移去。再加上第二个次重砝码,由物体的重量是否大于砝码的重量决定第二个砝码是留下还是移去。照此一直加到最小一个砝码为止。将所有留下的砝码重量相加,就得物体重量。仿照这一思路,逐次比较型A/D转换器,就是将输入模拟信号与不同的参考电压做多次比较,使转换所得的数字量在数值上逐次逼近输入模拟量对应值。n为逐次比较型A/D转换器框图如图1所示。它由控制逻辑电路、数据寄存器、移位寄存器、DA转换器及电压比较器组成,其工作原理如下:电路由启动脉冲启动后,在第一时钟脉冲作用下,控制电路使移位寄存器的最高位置1,其他位置0,其输出经数据寄存器将10000,送入DA转换器。输入电压首先与DA转换器输出电压(/2)相比较,如/2,比较器输出为1,若/2,则为0。比较结果存于数据寄存器的位。然后在第二个CP作用下,移位寄存器的次高位置1,其他低位置0。如最高位已存1,则此时=(3/4)。于是再与(3/4)相比较,如(3/4),则次高位存1,否则=0;如最高位为0,则=/4,与比较,如/4,则位存1,否则存。以此类推,逐次比较得到输出数字量。1.2 A/D转换器框图图1逐次比较型A/D转换器框图为进一步理解助逐次比较A/D转换器的工作原理及转换过程,下面用实例加以说明。 设图1电路为8位A/D转换器,输入模拟量=6.84V,DA转换器基准电压=-10V。 根据逐次比较DA转换器的工作原理,可画出在转换过程重CP、启动脉冲、 及DA转换器输出电压的波形,如图2所示。 由图2可见,当启动脉冲低电平到后来转换开始。在第一个CP作用下,数据寄存器将=10000000送入DA转换器,其输出电压=5V,与与比较,存1;第二个CP到来时,寄存器输出=11000000,为7.5V, 再与7.5V比较,因为7.5V,所以存0;输入第三个CP时,=20200000,=6.25V;再与比较,如此重复下去,经8个时钟周期,转换结束。由图的波形可见,在逐次比较的过程中,与输出数字量对应的模拟电压逐渐逼近值,最后得到A/D转换器转换结果为10101111。该数字量所对应的模拟电压为6.8359375V,与实际输入的模拟电压6.84V的相对误差仅为0.06%。图2 8位逐次比较型A/D转换器波形图1.3 A/D转换器的特点及设计电路特点(1)转换速度:(n+1)Tcp.速度快。(2)调整VREF,可改变其动态范围。设计电路 图3 4位逐次比较型A/D转换器的逻辑电路电路工作如过程如下:当启动脉冲上升沿到来后,被清零,置1,的高电平开启门,时钟CP脉冲进入移位寄存器。在第一个CP脉冲作用下,由于移位寄存器的置数使能端F已由0变1,并行输入数据ABCDE置入,=01111。的低电平使数据寄存器的最高位置1,即=1000。DA转换器将数字量1000转化为模拟电压,送入比较器C与输入模拟电压比较,若输入电压,则比较器C输出为1,否则为0。比较结果送。 第二个CP脉冲到来后,移位寄存器的串行输入端S为高电平,由0变1,同时最高位的0移至次高位。于是数据寄存器的由0变1,这个正跳变作为有效触发信号加到的CP始端的电平得以在保存下来。此时,由于其他触发器无正跳变脉冲,的信号对它们不起作用。变1后建立了新的DA转换器的数据,输入电压再与其输出电压相比较,比较结果在第三个时钟脉冲作用下存于。如此进行,直到由1变0,使由1变0后将封锁,转换完毕。于是电路的输出端得到与输入电压成正比的数字量。 由以上分析可见,主次比较型A/D转换器完成一次转换所需时间与其位数和时钟脉冲频率有关,位数愈少,时钟频率越高,转换所需时间越短。这种A/D转换器具有转换速度快,精度高的特点。 常用集成逐次比较型A/D转换器有ADC0808/0809系列(8位)、AD575(10位)、AD574A(12位)等。2控制单元的AT89C51原理2.1单片机AT89C51的引脚及工作原理AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4k bytes存储器和128bytes的随机存取数据存储器(RAM)。主要性能参数(1)4k字节可重擦写周期(2)1000次擦写周期(3)全静态操作:0Hz-24MHz(4)AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位 微处理器,俗称单片机。(4)管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0RXD(串行输入口) P3.1TXD(串行输出口) P3.2/INT0(外部中断0)P3.3/INT1(外部中断1) P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.2显示部分四位一体共阳数码管原理四位共阳数码管与单片机的连接方法2.3 控制单元的电路原理图 3 A/D转换电路的仿真与调试分析3.1 Protues软件简介Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译 Protues软件具有其它EDA工具软件(例:multisim)的功能。这些功能是: (1)原理布图 (2)PCB自动或人工布线 (3)SPICE电路仿真 革命性的特点: (1)互动的电路仿真。用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 (2)仿真处理器及其外围电路。可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。3.2 电路仿真图参考文献1 李建中.单片机原理及应用 西安:西安电子科技大学出版社,20082 徐爱韵.8051单片机实践教程 北京:电子工业出版社 20053 江志红.51单片机技术与应用系统开发案例精选 北京:清华大学出版社4阎石.数字电子技术基础【M】.5版 北京:高等教育出版社,2006.5 孙俊人.新编电子电路大全.第3卷.通用数字电路【M】.北京:中国计量出版社,2001.6 中国集成电路大全编委会.高速COMS集成电路【M】.北京:国防工业出版社,1995. 附:元件清单序号元件名称型号数量备注1单片机AT89C5112数码管四位共阳23集成块74LS164274LS745HA17741174LS00374LS37324放大器LM39315D/A转换器DAC083216键盘4X417可调电阻10k1100k18排阻1k9晶振12MHz110瓷片电容33p2程序如下:#include#define uchar unsigned char#define uint unsigned intuchar code table=0xc0,0xf9;uchar code table1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar code date5=0;uchar ad,temp,temp1,bb=0,flag=0;flag1=0,flag2=3;uchar aa=0,cc=0,dd=0;uchar num=5;sbit dula=P20;sbit wela=P21;sbit tim=P24;/脉冲输出sbit star=P27;/移位寄存器启动信号void init();void display1( uchar num);void display( uchar ad);void delay(uint z);void keyscan();void main()uchar i=0;init();while(1)keyscan();if(flag1=0) /如果flag1=0,那么显示实时值ad=P3;if(aa=200)&(flag1=0) / 定时时间到了,并且是实时显示数据,去存储数据到datei(如果显示存储数据,就不更新存储数据)aa=0;/datei+=ha;if(i=5)i=0;if(flag=0)display(ad);else if(flag=1)display1(num);void display( uchar ad) /显示uchar ad0,ad1,ad2,ad3,ad4,ad5,ad6,ad7;ad7=ad%0x100/0x80;ad6=ad%0x80/0x40;ad5=ad%0x40/0x20;ad4=ad%0x20/0x10;ad3=ad%0x10/0x08;ad2=ad%0x08/0x04;ad1=ad%0x04/0x02;ad0=ad%0x02/0x01; dula=1;/第0位显示P0=tablead0;dula=0;P0=0x00;wela=1;P0=0x01;wela=0;delay(1); dula=1;P0=tablead1;dula=0;P0=0x00;wela=1;P0=0x02;wela=0;delay(1); dula=1;P0=tablead2;dula=0;P0=0x00;wela=1;P0=0x04;wela=0;delay(1); dula=1;P0=tablead3;dula=0;P0=0x00;wela=1;P0=0x08;wela=0;delay(1); dula=1;P0=tablead4;dula=0;P0=0x00;wela=1;P0=0x10;wela=0;delay(1); dula=1;P0=tablead5;dula=0;P0=0x00;wela=1;P0=0x20;wela=0;delay(1); dula=1;P0=tablead6;dula=0;P0=0x00;wela=1;P0=0x40;wela=0;delay(1); dula=1;P0=tablead7;dula=0;P0=0x00;wela=1;P0=0x80;wela=0;delay(1);void display1( uchar num) /显示uchar num1,num2;num1=num/10;num2=num%10; dula=1;/第0位显示P0=tablenum2;dula=0;P0=0x00;wela=1;P0=0x01;wela=0;delay(1); dula=1;P0=tablenum1;dula=0;P0=0x00;wela=1;P0=0x02;wela=0;delay(1); dula=1;P0=0xff;dula=0;P0=0x00;wela=1;P0=0x04;wela=0;delay(1); dula=1;P0=0xff;dula=0;P0=0x00;wela=1;P0=0x08;wela=0;delay(1); dula=1;P0=0xff;dula=0;P0=0x00;wela=1;P0=0x10;wela=0;delay(1); dula=1;P0=0xff;dula=0;P0=0x00;wela=1;P0=0x20;wela=0;delay(1); dula=1;P0=0xff;dula=0;P0=0x00;wela=1;P0=0x40;wela=0;delay(1); dula=1;P0=0xff;dula=0;P0=0x00;wela=1;P0=0x80;wela=0;delay(1);void delay(uint z) /延时uint x,y;for(x=z;x0;x-)for(y=10;y0;y-);void init()/初始化 tim=1; /将脉冲开始拉高,好产生第一次的负边沿触发 star=0;/将启动脉冲拉高dula=1;P0=0xff;dula=0;P0=0x00;wela=1;P0=0x00;wela=0; TMOD=0x01; /定时器初始化TH0=(65536-8000)/256;TL0=(65536-8000)%256;EA=1;ET0=1;TR0=1;void keyscan() /键盘 P1=0xfe;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;if(temp!=0xf0)switch(temp)case 0xe0:flag=0; /显示电压值(数字量)break;case 0xd0:flag=1; /显示转换次数(十进制)break;case 0xb0:flag1=0; /实时显示(按键3)break;case 0x70:flag1=1; /显示存储的第一个值 (按键4)ad=date0;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;P1=0xfd;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;if(temp!=0xf0)switch(temp)case 0xe0:flag1=1; /显示存储的第二个值(按键5)ad=date1;break;case 0xd0:flag1=1; /显示存储的第三个值 (按键6)ad=date2;break;case 0xb0:flag1=1;/显示存储的第四个值 (按键7)ad=date3;break;case 0x70:flag1=1; /显示存储的第五个值

温馨提示

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

评论

0/150

提交评论