1 / 55

项目六、 A/D D/A 转换器接口

项目六、 A/D D/A 转换器接口. 项目六、 A/D D/A 转换器接口 任务.1数字电压表系统设计. 1、能将 A/D 转换器 AD0808(AD0809) 和单片机进行硬件连接 2、能进行单片机对 A/D 转换器 AD0808(AD0809) 进行读写,进行模拟量转换成数字量的采集。 学习内容 1、常用 A/D 转换器类型和选择依据 2、常用 A/D 转换器和单片机的连接方式. 一、任务要求

Download Presentation

项目六、 A/D D/A 转换器接口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 项目六、A/D D/A转换器接口

  2. 项目六、A/D D/A转换器接口 任务.1数字电压表系统设计 1、能将A/D转换器AD0808(AD0809)和单片机进行硬件连接 2、能进行单片机对A/D转换器AD0808(AD0809)进行读写,进行模拟量转换成数字量的采集。 学习内容 1、常用A/D转换器类型和选择依据 2、常用A/D转换器和单片机的连接方式

  3. 一、任务要求 利用单片机AT89C51与AD0808设计一个数字电压表,能够测量0~5V之间电压值,利用单片机动态显示方法显示模拟电压转换成数字量,用4位共阳数码管显示。 二、任务分析 用电位器的两端分别接0V和5V,滑动点输出模拟电压接AD0808的输入端,考虑到AD0808转换的结果为16进制,为显示直观,必须将转换的16进制结果转换为十进制(BCD码)进行显示。

  4. 三、学习知识 (一)数码管动态显示 在如图6-1所示中,其中P2.0、P2.1、P2.2、P2.3分别是数码管的位选信号,P0口为段码信号,动态数码显示的工作过程:将最高位数码管片选P2.0设为0,其余为1,其中“0”为片选选中状态,“1”为片选未选中状态,由P0口输出最高位的段码,显示最高位相应的数码值,然后将次高位数码管片选P2.1设为0,其余为1,由P0口输出次高位的段码,显示次高位相应的数码值,依次由高位进行到最低位,然后再循环从最高位显示到最低位,

  5. 由于从高位到低位显示的时间非常短,人的眼睛分辨不出四个数码管显示的时间差距,感觉四个数码管是同时显示的,起到数码管动态显示的效果。由于从高位到低位显示的时间非常短,人的眼睛分辨不出四个数码管显示的时间差距,感觉四个数码管是同时显示的,起到数码管动态显示的效果。

  6. 8031 开关量输出 模拟电信号 A/D转换器 D/A转换器 模拟非电信号 传感器 模拟量输出 (二)A/D转换器的工作原理 1、认识并正确选用A/D转换器 图6-2 具有模拟量输入输出的MCS-51系统

  7. (1)A/D转换器类型 1)双积分式A/D转换器 双积分式A/D转换器的主要优点是转换精度高,抗干扰性能好,价格便宜。其缺点是转换速度较慢,因此,这种转换器主要用于速度要求不高的场合。 2)逐次逼近式A/D转换器 另一种常用的A/D转换器是逐次逼近式的,逐次逼近式A/D转换器是一种速度较快,精度较高的转换器,其转换时间大约在几μs到几百μs之间。

  8. (2)A/D转换器的主要技术指标及选用时的主要依据(2)A/D转换器的主要技术指标及选用时的主要依据 1)A/D转换器的主要技术指标 ①分辨率 分辨率是指数字量变化一个最小值时模拟信号的变化量,定义为满刻度与2n的比值。分辨率越高,转换时对输入模拟信号变化的反应就越灵敏。 ②精度 精度是指转换后所得结果相对于实际值的准确度,与温度漂移、元件线性度等有关。精度分为绝对精度和相对精度两种。

  9. ③转换时间与转换速率。 A/D转换时间是指完成一次A/D转换所需要的时间,即从启动A/D转换器开始到获得相应数据所需的总时间。积分型A/D转换器的转换时间是毫秒级,属低速A/D;逐次逼近型A/D转换器是微妙级,属中速A/D。采样时间是指两次转换的间隔。 转换速率是转换时间的倒数。为了保证转换的正确完成,采样速率必须小于或等于转换速率。

  10. ④量程 即所能转换的电压范围,如10V、5V。 ⑤输出逻辑电平 大多数为与TTL电平配合。在使用中应注意是否用三态逻辑输出,是否要对数据进行锁存等。 ⑥基准电压 基准电压的精度将对整个系统的精度产生影响。A/D转换器分为内部和外部基准电源,故选芯片时应考虑是否要外加精密参考电源等。

  11. 2)A/D转换器的选用主要依据 ①A/D转换器用于什么系统、输出的数据位数、系统的精度、线性度。 ②输入的模拟信号类型,包括模拟输入信号的范围、极性(单、双极性)、信号的驱动能力、信号的变化快慢。 ③后续电路对A/D输出数字逻辑电平的要求、输出方式(并行、串行)、是否锁存等。 ④系统工作在动态条件还是静态条件、带宽要求、转换时间、采样速度等。 ⑤基准电压源的选择。基准电压源的幅度、极性及稳定性,电压是固定还是可调、电压由外部还是A/D转换器芯片内部提供等。 ⑥成本及芯片来源等。

  12. 2、MCS-51单片机与ADC0809接口设计 (1)典型A/D转换器芯片ADC0809的内部逻辑结构 多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换。地址锁存与译码电路完成对A、B、C三个地址位进行锁存和译码,其译码输出用于通道选择,如表6-1所示。

  13. C B A 选择的输入通道 0 0 0 IN0 1 0 0 IN1 0 0 1 IN2 1 0 1 IN3 0 1 0 IN4 1 1 0 IN5 0 1 1 IN6 1 1 1 IN7 表6-1 通道选择表

  14. (2)信号引脚 ADC0809芯片为28引脚双列直插式封装,其引脚排列见图6-4。 图6-4 ADC0809引脚图

  15. 对ADC0809主要信号引脚的功能说明如下: ①IN7~IN0:模拟量输入通道。ADC0809对输入模拟量的要求主要有:信号单极性,电压范围0~5V,若信号过小还需进行放大。另外,在A/D转换过程中,模拟量输入的值不应变化太快,因此,对变化速度快的模拟量,在输入前应增加采样保持电路。 ②A、B、C:地址线。A为低位地址,C为高位地址,用于对模拟通道进行选择。图6-4中为ADDA、ADDB和ADDC,其地址状态与通道相对应的关系见表6-1。 ③ALE:地址锁存允许信号。在对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。

  16. ④START:转换启动信号。START上跳沿时,所有内部寄存器清0;START下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。④START:转换启动信号。START上跳沿时,所有内部寄存器清0;START下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。 ⑤D7~D0:数据输出线。其为三态缓冲输出形式,可以和单片机的数据线直接相连。 ⑥OE:输出允许信号。其用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高电阻;OE=1,输出转换得到的数据。 ⑦CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500kHz的时钟信号。

  17. ⑧EOC:转换结束状态信号。EOC=0,正在进行转换;EOC=1,转换结束。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。⑧EOC:转换结束状态信号。EOC=0,正在进行转换;EOC=1,转换结束。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。 ⑨VCC:+5V电源。 ⑩Vref:参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V,Vref(-)=0V)

  18. (3)MCS-51单片机与ADC0809接口 电路连接主要涉及两个问题,一是8路模拟信号通道选择,二是A/D转换完成后转换数据的传送。 图6-5ADC0809与8031单片机的连接

  19. 8031 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0809 × × × × × × × ST × × × × × C B A × × × × × × × 0 × × × × × 0 0 0 … … × × × × × × × 0 × × × × × 1 1 1 1)8路模拟通道选择 图6-5中使用的是线选法,口地址由P2.0确定,同时和写信号相或取反后作为开始转换的选通信号。因此,该ADC0809的通道地址确定如下:

  20. 若无关位都取0,则8路通道IN0~IN7的地址分别为0000H~0007H。当然,口地址也若无关位都取0,则8路通道IN0~IN7的地址分别为0000H~0007H。当然,口地址也 可以由单片机其它片选不用的口线,或者由几根口线经过译码后来提供,这样,8路通道的地址也就有所不同。 2)转换数据的传送 ①定时传送方式 ADC0809转换时间为128μs,设计一个延时子程序,A/D转换启动后即调用这个延时子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。

  21. ②查询方式 A/D转换芯片有表明转换完成的状态信号,例如ADC0809的EOC端。因此,可以用查询方式,软件测试EOC的状态,即可确知转换是否完成,然后进行数据传送。EOC的状态是高电平表明转换是完成。 ③中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。

  22. MOV DPTR,#0000H ;选中通道0 MOVX A, @DPTR ;信号有效,输出转 换后的数据到A累加器

  23. 四、任务实施 1、 硬件设计 数字电压表硬件设计如图6-6所示。U1为单片机AT89C51,U3为A/D转换器AD0808,采用的是共阳极数码管显示,四个数码管的片选为P2.0、P2.1、P2.2、P2.3,低电平为选中,段码从P0口输出。

  24. 图6-6 数字电压表硬件电路

  25. LED_0 EQU 30H LED_1 EQU 31H LED_2 EQU 32H ;存放段码 ADC EQU 35H CLOCK BIT P2.4 ;定义ADC0808时钟位 ST BIT P2.5 EOC BIT P2.6 OE BIT P2.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0 2、软件设计 数字电压表程序设计如下:

  26. START: MOV LED_0,#00H MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE ;段码表首地址 MOV TMOD,#02H MOV TH0,#245 MOV TL0,#00H MOV IE,#82H SETB TR0 WAIT: CLR ST SETB ST CLR ST ;启动AD转换

  27. SETB OE MOV ADC,P1 ;读取AD转换结果 CLR OE MOV A,ADC MOV B,#100 ;AD转换结果转换成BCD码 DIV AB MOV LED_2,A MOV A,B MOV B,#10 DIV AB MOV LED_1,A MOV LED_0,B

  28. LCALL DISP SJMP WAIT INT_T0: CPL CLOCK ;提供ADC0808时钟信号 RETI DISP: MOV A,LED_0 ;显示子程序 MOVC A,@A+DPTR CLR P2.3 MOV P0,A LCALL DELAY SETB P2.3 MOV A,LED_1 MOVC A,@A+DPTR CLR P2.2 MOV P0,A

  29. LCALL DELAY SETB P2.2 MOV A,LED_2 MOVC A,@A+DPTR CLR P2.1 MOV P0,A LCALL DELAY SETB P2.1 RET DELAY: MOV R6,#10 ;延时5毫秒 D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET

  30. TAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END

  31. 3、仿真调试 图6-7 数字电压表仿真调试结果

  32. 五、总结与提高 1、选择A/D转换器时应主要考虑的问题: 精度、转换速度。为了达到一定的精度,对电源的精度也有要求,因为电源的精度直接影响A/D转换器转换精度。 2、几种常见的A/D转换器性能比较: 并行A/D转换器的特点是转换速度快、价格较昂贵,主要用于要求高速度的场合;逐次逼近型A/D转换器是一种在速度、精度和价格上都处于适中位置的最常用的A/D转换器;双积分A/D转换器具有精度高、抗干扰性能好、价格低廉等优点,其缺点是转换速度慢。 所以,选择A/D转换器时要综合考虑上面两方面的问题。

  33. 项目六、A/D D/A转换器接口 任务2.锯齿波发生器电路设计 能力目标 1、能用AT89C51单片机和DAC0832进行硬件连接 2、能利用AT89C51单片机通过D/A转换器DAC0832进行数字到模拟信号转换 学习内容 一、任务要求 利用AT89C51单片机和DAC0832制作一个波形发生器。要求DAC完成锯齿波的电路波形输出设计。

  34. 二、任务分析 当给DAC0832一个从00H至FFH连续变化的数字输入时,DAC0832输出相应的从0~5V模拟电压,可以通过示波器观察到DAC0832输出的这种锯齿波变化的波形,改变DAC0832输入端变化的速度,可以看到输出端的锯齿波的频率在发生变化,由此可以利用单片机控制DAC0832的输入来使之输出端产生锯齿波。

  35. 三、学习知识 (一)认识并正确选用D/A转换器 1、D/A转换器性能指标 (1)分辩率 分辨率是D/A转换器对输入量变化敏感程度的描述,与输入数字量的位数有关。如果 数字量的位数为n,则D/A转换器的分辨率为2-n。 (2)建立时间 建立时间是描述D/A转换速度快慢的一个参数,指从输入数字量变化到输出达到终值误差±(1/2)LSB(最低有效位)时所需的时间。

  36. (3)接口形式 D/A转换器与单片机接口方便与否,主要决定于转换器本身是否带数据锁存器。有两类D/A转换器,一类是不带锁存器的,另一类是带锁存器的。对于不带锁存器的D/A转换器,为了保存来自单片机的转换数据,接口时要另加锁存器,因此这类转换器必须在口线上;而 带锁存器的D/A转换器,可以把它看作是一个输出口,因此可直接在数据总线上,而不需另加锁存器。

  37. 2、典型D/A转换器芯片DAC0832 图6-9 DAC0832内部结构框图 图6-8 DAC0832引脚图

  38. •DI7~DI0:转换数据输入。 •ILE:数据锁存允许信号(输入),高电平有效。 • :片选信号(输入),低电平有效。 :第1写信号(输入),低电平有效。 上述两个信号控制输入寄存器是数据直通方式还是数据锁存方式,当ILE=1和 =0时,为输入寄存器直通方式;当ILE=1和 =1时,为输入寄存器锁存 方式。 • :第2写信号(输入),低电平有效。 • :数据传送控制信号(输入),低电平有效。

  39. •Iout1:电流输出1。 •Iout2:电流输出2。 DAC转换器的特性之一是:Iout1+Iout2=常数。 •Rfb:反馈电阻端。 DAC0832是电流输出,为了取得电压输出,需在电压输出端接运算放大器,Rfb即为运算放大器的反馈电阻端。运算放大器的接法如图6-10所示。 •Vref:基准电压,其电压可正可负,范围是-10V~+10V。 • AGND:模拟地。 •DGND:数字地。

  40. (二)DAC0832单缓方式的接口与应用 1、单缓冲方式连接 所谓单缓冲方式就是使DAC0832的两个输入寄存器中有一个处于直通方式,而另一个处于受控的锁存方式,或者说两个输入寄存器同时受控的方式。 图6-11 DAC 0832单缓冲方式接口

  41. 2、单缓冲方式应用举例——产生锯齿波 图6-12 用DAC产生锯齿波

  42. 在许多控制应用中,要求有一个线性增长的电压(锯齿来控制检测过程,移动记录笔或移动电子束等)。对此可通过在DAC0832的输出端接运算放大器,由运算放大器产生锯齿波来实现,电路连接如图6-12所示。图中的DAC8032工作于单缓冲方式,其中输入寄存器受控,而DAC寄存器直通。假定输入寄存器地址为7FFFH,产生锯齿波的源程序清单如下:

  43. ORG 0200H DASAW: MOV DPTR,#7FFFH ;输入寄存器地址,假定P2.7接片选信号 MOV A,#00H ;转换初值 WW: MOVX @DPTR,A ;D/A转换 INC A NOP NOP NOP AJMP WW

  44. 执行上述程序,在运算放大器的输出端就能得到如图6-13所示的锯齿波。对锯齿波的产生作如下几点说明:执行上述程序,在运算放大器的输出端就能得到如图6-13所示的锯齿波。对锯齿波的产生作如下几点说明: ①程序每循环一次,A加1,因此实际上锯齿波的上升边是由256个小阶梯构成的,但 由于阶梯很小,所以宏观上看就是如图6-13中所表示的线性增长锯齿波。 ②可通过循环程序段的机器周期数计算出锯齿波的周期,并可根据需要,通过延时的办法来改变波形周期。当延迟时间较短时,可用NOP指令来实现(本程序就是如此); 锯齿波的斜率就不同。当需要延迟时间较长时,可以使用一个延时子程序。延迟时间不同,波形周期不同,

  45. 图6-13 D/A转换产生的锯齿波 ③通过A加1,可得到正向的锯齿波;如要得到负向的锯齿波,改为减1指令即可实现。 ④程序中A的变化范围是0~255,因此得到的锯齿波是满幅度的。如要求得到非满幅锯齿波,可通过计算求得数字量的初值和终值,然后在程序中通过置初值判终值的办法即可实现。用同样的方法也可以产生三角波、矩形波、梯形波,请读者自行编写程序。

  46. (三)DAC0832双缓冲方式的接口与应用 1、双缓冲方式连接 所谓双缓冲方式,就是把DAC0832的两个锁存器都接成受控锁存方式。 图6-14 DAC 0832的双缓冲方式连接

  47. 2、双缓冲方式应用举例 双缓冲方式用于多路D/A转换系统,以实现多路模拟信号同步输出的目的。例如使用单片机控制X-Y绘图仪。 对X-Y绘图仪的控制有两点基本要求:一是需要两路D/A转换器分别给X通道和Y通道提供模拟信号,二是两路模拟量要同步输出。两路模拟量输出是为了使绘图笔能沿X-Y轴作平面运动。

  48. 图6-16 控制X-Y绘图仪的双片DAC0832接口

  49. MOV R1,#DATA X坐标数据单元地址 MOV R0,#0F0H X向输入寄存器地址 MOV A,@R1 X坐标数据送A MOVX @R0,A X坐标数据送输入寄存器 INC R1 指向Y坐标数据单元地址 INC R0 指向Y向输入寄存器地址 MOV A,@R1 Y坐标数据送A MOVX @R0,A Y坐标数据送输入寄存器 INC R0 指向两个DAC寄存器地址 MOVX @R0,A X、Y转换数据同步输出 假定X方向DAC 0832输入寄存器地址为F0H,Y方向DAC0832输入寄存器地址为F1H, 两个DAC寄存器公用地址为F2H;X坐标数据存于DATA单元中,Y坐标数据存于DATA+1单元中,则绘图仪的驱动程序为:

  50. 四、任务实施 1、 硬件设计 图6-17 锯齿波波形发生器硬件原理图

More Related