信号发生器与数字电压表的设计.ppt_第1页
信号发生器与数字电压表的设计.ppt_第2页
信号发生器与数字电压表的设计.ppt_第3页
信号发生器与数字电压表的设计.ppt_第4页
信号发生器与数字电压表的设计.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、7.1 简易波形信号发生器的设计,7.2 数字电压表的设计,项目7 信号发生器与数字电压表的设计,单片机,本章导读,了解ADC和DAC的作用及主要性能指标 掌握DAC0832和ADC0808/0809的结构、工作原理和使用方法。 理解简易波形信号发生器和数字电压表的硬件及软件设计方法及工作过程。,单片机和被控实体间的接口示意图,举例1:温度测控系统,举例2:速度测控系统,举例3:红外线自动门控制系统原理图,红外线传感器集成芯片BISS0001特点,(1)用CMOS工艺,功耗低。 (2)具有独立的高输入阻抗运算放大器,可与多种传感器匹配。 (3)双向鉴幅器可有效抑制干扰信号。 (4)内设延时和封

2、锁定时器,性能稳定,调节范围宽。 (5)内置参考电源。 (6)工作电压范围宽(3V5V)。,7.1 简易波形信号发生器的设计,7.1.1 认识D/A转换芯片DAC0832,7.1.2 硬件电路与软件程序设计,7.1.3 调试与仿真运行,D/A(Digit to Analog)转换器: 为把数字量转换成模拟量,在D/A转换芯片中要有解码网络: 权电阻网络; 倒T型电阻网络。,7. 1.1 认识D/A转换芯片DAC0832,D/A转换 1) D/A转换概述,T型电阻网络型D/A转换器:,D/A转换器的原理: 把输入数字量中每位都按其权值分别转换成模拟量,并通 过运算放大器求和相加。根据克希荷夫定律

3、,如下关系成立: I0=20 I1=21 I2=22 I3=23,n位数字量与模拟量的关系式: VO =VREF(数字码 / 2n) (VREF 参考电压),注:因使用反相比例放大器来实现电流到电压的转换,所以输出模拟信号(VO)的极性与参考电压(VREF)极性相反。,3)注意区分D/A内部是否带有锁存器:,与P1、P2接口:不需加锁存器,直接接口。 无锁存器 与P0接口:因P0的特殊功能,需加锁存器。 D/A内 如:DAC800、AD7520、AD7521等。 有锁存器:最好与P0直接接口。 如:DAC0832、DAC1230等。,4)性能指标:,1、分辨率(Resolution)是指D/A

4、转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。 2、建立时间(Establishing Time)是描述D/A转换速度的快慢。 3、转换精度(Conversion Accuracy)指满量程时DAC的实际模拟输出值和理论值的接近程度。 4、偏移量误差(Offset Error)偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。 5、线性度(Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏移差。,主要技术指标:,1、分辨率(Resolution): 对D/A转换器输入量变化敏感程度进行描述, 与输入数字量的位数有关。 若数字量的位数为n,则分辨率

5、为2n。 数字量位数越多,分辨率就越高。 应用时,应根据分辨率的需要选定转换器的位数。 注:BCD码输出的A/D转换器用位数表示分辨率。 2、建立时间(Establishing Time):(转换速度) 描述D/A转换速度的快慢。 输出形式为电流的转换器比电压的建立时间短。 D/A转换速度远高于A/D转换。 3、转换精度(Conversion Accuracy): 指满量程时DAC的实际模拟输出值和理论值的接近程度。,一、内部结构:DAC 0832:8位双缓冲器结构的D/A转换器。,2 D/A转换芯片DAC0832,DAC0832 引脚 (b) DAC0832内部结构 图7-1 DAC0832

6、内部结构作引脚图,3. DAC0832的输出连接方式,lDAC用作单极性电压输出; l DAC用作双极性电压输出;,DAC0832根据应用场合不同,电压输出常采用单极性和双极性两种连接方式。,(1)单极性输出方式,由于DAC0832是8位的D/A转换器,所以其输出电压VO与输入的数字量(用D表示)的关系为: VO = VREFD/256 显然VO与输入数字量D成正比,且极性与基准电压源VREF相反。,由运算放大器进行电流电压转换,使用内部反馈电阻。接线方式如图7-2所示,(2)双极性DAC的接法,图7-3 DAC0832双极性电压输出方式,输出电压VO与输入的数字量D的关系为: VO =(D1

7、28)VREF/128,双极性DAC的另一种接法:,4、DAC 0832的工作方式,有3种工作方法:直通方式、单缓冲方式和双缓冲方式。,MOV P1,A,直通方式不能直接与系统的数据总线相连,需另加锁存器,故较少应用。,举例:,例:D/A转换程序,用DAC0832输出0+5V锯齿波, 电路为直通方式。设VREF=-5V,若DAC0832地址 为00FEH,脉冲周期要求为100ms。,DACS:MOVDPTR,#00FEH;0832 I/O地址 MOVA,#00H;开始输出0V DACL:MOVXDPTR,A;D/A转换 INCA;升压 ACALLDELAY;延时100ms/256:决定锯齿波的

8、周期 AJMPDACL;连续输出 DELAY:;延时子程序,2)单缓冲方式: 输入寄存器和DAC寄存器共用一个地址,同时选通输出,输入数据在控制信号作用下,直接进入DAC寄存器中; WR1和WR2同时进行,并且与CPU的WR相连,CPU对0832执行一次写操作,将数据直接写入DAC寄存器中。 适用:只有一路模拟信号输出或几路模拟信号非同步输出。,单缓冲方式下的DAC0832,图7-4 DAC0832单缓冲方式接口一,举例:,例:D/A转换程序,用DAC0832输出0+5V三角波, 电路为单缓冲方式。设VREF=-5V,若DAC0832地 址为00FEH,脉冲周期要求为(100ms)。,ORG2

9、000H STAR:MOVDPTR,#00F8H;DAC0832地址 MOVA,#00H;开始输出0V UP: MOVXDPTR,A;D/A转换 ACALLDELAY INCA;产生上升段电压 JNZUP;上升到A中为FFH(A0跳) DOWN:DECA;产生下降段电压 MOVXDPTR,A ACALLDELAY JNZDOWN;下降到A中为00H SJMPUP;重复 注:若想改变波形的周期(频率),只需改变延时程序的时间即可。,C51程序:,#include #include #define DAC0832 XBYTE0 x00F8 #define uchar unsigned char #

10、define unit unsigned int void stair(void) uchar i; while(1) for(i=0;i=255;i=i+) /*形成锯齿波输出值,最大255*/ DAC0832=i; /*D/A转换输出*/ ,3)双缓冲器方式: 输入寄存器和DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。 适用:同时输出几路模拟信号的场合,可构成多个0832同步输出电路。,举例:,ORG2000H MOVDPTR,#0FFF8H ;选中1#0832(的输入寄存器):A0=0 MOVA,#Datax MOVXDPTR,A ;Datax写入1#0832输入寄存器

11、 MOVDPTR,#0FFF9H ;选中2#0832(的输入寄存器):A1=0 MOVA,#Datay MOVXDPTR,A ;Datay写入2#0832输入寄存器 MOVDPTR,#0FFFAH ;选中1#和2#0832的DAC寄存器: A2=0 MOVXDPTR,A ;1#和2#输入寄存器的内容同时 传送到DAC寄存器中,例:用DAC0832实现驱动绘图仪,电路为双缓冲方式 1#和2#DAC0832地址分别为FFF8H和FFF9H。 则绘图仪的驱动程序为:,C51程序:,#include #include #define INPUTR1 XBYTE0 xFFF8 #define INPUT

12、R2 XBYTE0 xFFF9 #define DACR XBYTE0 xFFFA #define uchar unsigned char void dac2b(data1,data2) uchar data1,data2; INPUTR1=data1; /*数据送到一片DAC0832*/ INPUTR2=data2;/*数据送到另一片DAC0832*/ DACR=0; /*启动两路D/A同时转换*/ ,华工考研题:,PC/XT的D/A接口使用DAC0832。其有关信号接线如图所示,其输出电压Vo和输入数字量DI7-DI0之间呈线性且如表所示。现要求Vo从零开始按图示波形周期变化(周期可自定)

13、。试用汇编语言编写其控制部分程序。,7.1.2 波形发生器硬件电路与软件程序设计,波形发生器的硬件连接如图7-7所示,数/模转换器DAC0832的数据输入端直接与8051的P0口相连,输出经运算放大器得到电压波形。DAC0832采用单极性单缓冲方式工作,八D锁存器74LS373的Q0为DAC0832提供片选和数据传送控制信号,两个寄存器的写控制端连接8051的写输出端。在8051的P1口接三个开关K0、K1和K2,用来设置输出波形的类型,K0、K1和K2,分别对应正弦波、锯齿波和方波。,图7-7 波形发生器硬件原理图,2. 程序设计 /* DAC0832输出正弦波,锯齿波,方波* #inclu

14、de #include #define uchar unsigned char #define DAC0832 XBYTE0 xFFFE sbit K0=P10; /按键接口 sbit K1=P11; sbit K2=P12;,uchar code Sin_TAB=0X7F,0X89,0X94,0X96,0XAA,0XB4,0XBE,0XC8, 0XD1,0XD9, 0XE0,0XE7,0XED,0XF2,0XF7,0XFA,0XFC,0XFE,0XFF, 0XFE,0XFC,0XFA,0XF7,0XF2,0XED,0XE7,0XE0,0XD9, 0XD1,0XC8,0XBE,0XB4,0XA

15、A,0X9F,0X94,0X89,0X7F, 0X75,0X6A,0X5F,0X54,0X4A,0X40,0X36,0X2D,0X25, 0X1E,0X17,0X11,0X0C,0X07,0X04,0X02,0X01,0X00, 0X01,0X02,0X04,0X07,0X0C,0X11,0X17,0X1E,0X25, 0X2D,0X36,0X40,0X4A,0X54,0X5F,0X6A,0X75,0X7F;,void Delay(uchar ms) /延时 uchar t; while(ms-) for(t=0; t120; t+); void sin() /正弦波 uchar i; whi

16、le (1) for (i =0; i 73; i+) DAC0832 = Sin_TABi; ,void Saw_Tooth() /锯齿波 uchar i; while (1) for (i = 0; i 256; i+) DAC0832 = i; void Square() /方波 uchar i; while (1) for (i = 0; i 250; i+) DAC0832 = 250; for (i = 0; i 250; i+) DAC0832 =0; ,图7-8 简易波形发生器仿真电路,void main() P1=0 xFF; if (K0=0) sin(); else if

17、 (K1=0) Saw_Tooth(); else if (K2=0) Square(); else sin(); Delay(1); ,图7-9 简易波形发生器输出正弦波时的仿真结果,7.2 数字电压表的设计( A/D转换及应用),利用MCS-51单片机和A/D转换器设计一个数字直流电压表。要求测量范围在0+5V之间,测量结果用三位LED数码管显示。设计目的是: (1)了解A/D芯片ADC0808/0809的工作原理及编程。 (2)掌握单片机与ADC0808/0809的接口技术。 (3)通过实训了解单片机如何进行数据采集。 (4)进一步掌握LED数码管动态显示的工作原理。,7.2.1 认识A

18、/D转换器芯片ADC0808/0809,1、A/D转换器概述,A/D转换器(模/数转换器,简称ADC)是一种能把输入模拟电压转换成与它成正比数字量的器件。这样微处理机就能够从传感器、变送器或其他模拟信号获得信息。A/D转换器芯片的种类较多,按转换原理可分为计数器式ADC、逐次逼近式ADC、双积分式ADC和并行ADC等多种。,(1)选用ADC芯片时,要考虑以下几点:,A/D接口设计要点: (1)选择合适的系统采样速度; (2)减小A/D转换的孔径误差; (3)合理选用A/D转换器。,除了必须考虑以上技术要求外,通常还需了解芯片以下两方面的特性。, 数字输出的方式是否有可控三态输出 有可控三态输出

19、的ADC芯片允许输出线与微机系统的数据总线直接相连,并在转换结束后利用读数信号选通三态门,将转换结果送上总线。 启动转换的控制方式是脉冲控制式还是电平控制式 对脉冲启动转换的ADC芯片,只要在其启动转换引脚上施加一个宽度符合芯片要求的脉冲信号,就能启动转换并自动完成。一般能和MPU配套使用的芯片,MPU的I/O写脉冲都能满足ADC芯片对启动脉冲的要求,(2)A/D转换器性能指标, 分辨率:指A/D转换器能分辨的最小模拟输入量,通常用数字量的位数表示,如位,10位,12位,16位分辨率等。分辨率越高,转换时对输入量的微小变化的反应越灵敏。 量程:即所能转换的输入电压范围,如5伏、10伏等 精度:

20、有绝对精度和相对精度两种表示方法。常用数字量的位数作为度量绝对精度的单位,而用百分比来表示满量程时的相对误差。精度和分辨率是不同的概念,精度指的是转换后所得结果相对于实际值的准确度,而分辨率指的是能对转换结果发生影响的最小输入量。, 转换时间:A/D转换器完成一次转换所需的时间。若CPU采用无条件传送方式输入转换后的数据,则从启动ADC芯片转换开始到ADC芯片转换结束的时间称为延时等待时间,该时间由启动转换程序之后的延时程序实现,延时等待时间必须大于或等于ADC转换时间。 输出逻辑电平:多数与TTL电平匹配。在考虑数字输出量与微型机数据总线的关系时,还要对其他一些有关问题加以考虑,如:是否要用

21、三态逻辑输出,采用何种编码制式,是否需要对数据进行门锁等。 量化误差。将模拟量转换成数字量过程中引起的误差,2、0809逐次逼近A/D转换原理:,N位寄存器用来存放N位二进制数码。 当VXVN,则保留DN-1=1,否则清0。 其余类推。,3、ADC0808/0809的内部结构及引脚功能,要技术指标和特性如下:,(1)分辨率:8位。 (2)总的不可调误差:ADC0808为1/2LSB,ADC 0809为1LSB。 (3)转换时间:取决于芯片时钟频率,如CLK=500kHz 时,TCONV=128s。 (4)单一电源:+5V。 (5)模拟输入电压范围:单极性05V;双极性5V,10V(需外加一定电

22、路)。 (6)具有可控三态输出缓存器。 (7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D转换开始。 (8)使用时不需进行零点和满刻度调节。,ADC0808/0809内部结构和引脚图,图7-10 ADC0808/0809内部结构和引脚图,1、结构: 一个8位逐次逼近式A/D转换器、8路模拟转换开关、3-8地址锁存译码器和三态输出数据锁存器(详见P249)。,2、引脚: (1)8路模拟量分时输入信号端: IN0IN7; (2)8位数字量输出信号端: D0D7; (3)通道选择地址信号输入端: ADDA、ADDB、ADDC; (4)基准参考电压为VR(+)和VR(-)

23、: 决定输入模拟量的范围。 典型值分别为+5V和0V。 (5)转换结束信号EOC: 0:正在进行转换; 1:一次转换完成。 (6)时钟信号输入端:CLK(其内部无时钟电路)。,4、ADC0809与单片机的接口:,ADC 0809/0808为8路输入通道、8位逐次逼近式A/D转换器,可分时转换8路模拟信号。,5、ADC 0809与单片机连接:,涉及2个问题: (1)8路模拟信号通道选择; (2)A/D转换完成后转换数据的传送。,8路模拟通道的地址:7FF8H7FFFH,A/D转换程序:(延时等待方法),MOV DPTR,#0FEFFH ;ADC0809地址 MOV A,#00H ;选中IN0 M

24、OVX DPTR,A ;启动A/D转换 LCALL DELAY ;等待转换结束 MOVX A,DPTR ;读转换结果 RET,不用接EOC脚,采用定时传送方式。,例:应用举例,初始化程序:(中断方式) MOV R0,#0A0H ;数据存储区首地址 MOV R2,#08H ;8路计数器 SETB IT1 ;边沿触发方式 SETB EA ;中断允许 SETB EX1 ;允许外部中断1中断 MOV DPTR,#0FEF8H ;指向ADC0809首地址 LOOP:MOVX DPTR,A ;启动A/D转换 HERE:SJMP HERE ;等待中断 DJNZ R2,LOOP ;巡回,未完继续 CLR EA ;结束,关中断 SJMP $ ;结束停止,设有一个8路模拟量输入的巡回检测系统,采样数据依次存放在外部RAM 0A0H0A7H单元中,ADC0809的8个通道地址为0FEF8H0FEFFH。,中断服务程序: MOVX A,DPTR ;读数 MOVX R0,A ;存数 INCDPTR ;指向下一模拟

温馨提示

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

评论

0/150

提交评论