Presentation is loading. Please wait.

Presentation is loading. Please wait.

第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口.

Similar presentations


Presentation on theme: "第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口."— Presentation transcript:

1 第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口

2 8.1 模拟接口概述 单片机的外部设备不一定都是数字式的,也经常会和模拟式的设备连接。
8.1 模拟接口概述 单片机的外部设备不一定都是数字式的,也经常会和模拟式的设备连接。 例如单片机来控制温度、压力时,温度和压力都是连续变化的,都是模拟量,在单片机与外部环境通信的时候,就需要有一种转换器来把模拟信号变为数字信号,以便能够输送给单片机进行处理。而单片机送出的控制信号,也必须经过变换器变成模拟信号,才能为控制电路所接受。这种变换器就称为数模(D/A)转换器和模数(A/D)转换器。 CPU与模拟外设之间的接口电路称为模拟接口。 在这一章里将介绍单片机与 A/D及D/A转换器接口,以及有关的应用。

3 8.2 DAC及其接口 集成化的D/A转换器有两类不同的芯片:一类是不便和微处理器/微计算机接口的,这类芯片只有数字输入、模拟输出等端子,不带使能端及其他控制端。 另一类D/A芯片是为微机系统设计的,因而带有使能端等控制输入,以便和微机接口。 能与微机接口的D/A芯片也有许多种,其中有的是不带数据锁存器的,这类D/A转器与微机连接时不够方便。也有的是带有数据锁存器的,目前应用较广泛,下面通过 典型芯片来介绍单片机与这类D/A转换器的接口。 一、DAC介绍: 1.DAC结构:DAC芯片上集成有D/A转换电路和辅助电路。 2.DAC的参数:描述D/A转换器性能的参数很多,主要有以下几个: 分辨率(Resolution) 偏移误差(OffsetError) 线性度(Linearity) 精度(Accuracy) 转换速度(ConvemionRate) 温度灵敏度(TemperatureSensitivity) 二、典型DAC芯片及其接口 DAC0832

4 8.2 DAC及其接口 一、DAC介绍: 1.DAC结构:DAC芯片上集成有D/A转换电路和辅助电路。
分辨率(Resolution) 偏移误差(OffsetError) 线性度(Linearity) 精度(Accuracy) 转换速度(ConvemionRate) 温度灵敏度(TemperatureSensitivity) 分辨率反映了数字量在最低位上变化1位时输出模拟量的最小变化。 一般用相对值表示。对于8位D/A转换器来说,分辨率为最大输出幅度的0.39%,即为1/256。而对于10位D/A转换器来说,分辨率可以提高到0.1%,即1/1 024。

5 8.2 DAC及其接口 一、DAC介绍: 1.DAC结构:DAC芯片上集成有D/A转换电路和辅助电路。
分辨率(Resolution) 偏移误差(OffsetError) 线性度(Linearity) 精度(Accuracy) 转换速度(ConvemionRate) 温度灵敏度(TemperatureSensitivity) 偏移误差是指输人数字量为0时,输出模拟量对0的偏移值。这种误差一般可在D/A转换器外部用电位器调节到最小。

6 8.2 DAC及其接口 一、DAC介绍: 1.DAC结构:DAC芯片上集成有D/A转换电路和辅助电路。
分辨率(Resolution) 偏移误差(OffsetError) 线性度(Linearity) 精度(Accuracy) 转换速度(ConvemionRate) 温度灵敏度(TemperatureSensitivity) 线性度是指D/A转换器的实际转移特性与理想直线之间的最大误差,或最大偏移。一般情况下,偏差值应小于土言LSB。这里LSB是指最低一位数字量变化所带来的幅度变化。

7 8.2 DAC及其接口 一、DAC介绍: 1.DAC结构:DAC芯片上集成有D/A转换电路和辅助电路。
分辨率(Resolution) 偏移误差(OffsetError) 线性度(Linearity) 精度(Accuracy) 转换速度(ConvemionRate) 温度灵敏度(TemperatureSensitivity) 精度为实际模拟输出与理想模拟输出之间的最大偏差。除了线性度不好会影响精度之外,参考电源的波动等因素都会影响精度。可以理解为线性度是在一定测试条件下得到的D/A转换器的误差,而精度是指在实际工作时的D/A转换器的误差,一般质量的D/A转换器的精度为满量程的o.2%±言LSB。

8 8.2 DAC及其接口 一、DAC介绍: 1.DAC结构:DAC芯片上集成有D/A转换电路和辅助电路。
分辨率(Resolution) 偏移误差(OffsetError) 线性度(Linearity) 精度(Accuracy) 转换速度(ConvemionRate) 温度灵敏度(TemperatureSensitivity) 转换速度即每秒钟可以转换的次数,其倒数为转换时间。

9 8.2 DAC及其接口 一、DAC介绍: 1.DAC结构:DAC芯片上集成有D/A转换电路和辅助电路。
分辨率(Resolution) 偏移误差(OffsetError) 线性度(Linearity) 精度(Accuracy) 转换速度(ConvemionRate) 温度灵敏度(TemperatureSensitivity) 温度灵敏度是指输入不变的情况下,输出模拟信号随温度的变化。一般D/A转换器的温度灵敏度约为±50X10—6/o()(ppm为百万分之一,即partspermillion)。

10 DAC0832 DAC 0832的结构 DAC 0832的引脚 DAC 0832的接口 DAC 0832的应用

11 DAC0832的结构 8位 输入 寄 存 器 8位 DAC 寄 存 器 8位 D/A 转 换 器 & + + LE2=1的条件: Rfb
它的8个数据输入可以直接和微机的数据总线相连。LE1为其控制输入,LE1=1时,D触发器接收信号,IE1=0时,为锁存状态。 VREF DI0 8位 输入 8位 DAC 8位 D/A DI1 IOUT1 DI2 DI3 DI4 IOUT2 DI5 DI6 DI7 LE1 LE2 ILE DGND CS + WR1 XFER + WR 8位DAC寄存器它也由8个D锁存器组成。8位输人数据只有经过DAC寄存器才能送到D/A转换器去转换。 它的控制端为LE2,当LE2=1时,输出跟随输入,而当LE2=0时为锁存状态。DAC寄存器的输出直接送到8位D/A转换器进行数模转换。 LE1=1的条件: ILE=1,WR1=0,CS=0 LE2=1的条件: WR2=0,XFER=0

12 DAC0832的引脚 & + DAC0832是CMOS工艺,双列直插式20引脚。 ① VCC电源可以在5-15V内变化。典型使用
② AGND为模拟量地线,DGND为数字量地 线,使用时,这两个接地端应始终连在一起。 ③ 参考电压VREF接外部的标准电源,VREF 一般可在+10V到—10V范围内选用。 8位 输入 DAC D/A DI0 DI1 DI2 DI3 DI4 DI5 DI6 DI7 + ILE CS WR1 XFER WR2 VREF IOUT1 IOUT2 DGND LE1 LE2 Rfb

13 DAC0832的引脚 8位 输入 寄 存 器 8位 DAC 寄 存 器 8位 D/A 转 换 器 & + +
DAC0832是CMOS工艺,双列直插式20引脚。 ① VCC电源可以在5-15V内变化。典型使用 时用15V电源。 ② AGND为模拟量地线,DGND为数字量地 线,使用时,这两个接地端应始终连在一起。 ③ 参考电压VREF接外部的标准电源,VREF 一般可在+10V到—10V范围内选用。 它的输出是与数字量成比例的电流,Vref为参考电压输入,Rfb为运算放大器的反馈电阻,引脚Rfb则是这个反馈电阻瑞,接到运算放大器的输出端。 Rfb VREF DI0 8位 输入 8位 DAC 8位 D/A DI1 IOUT1 DI2 DI3 DI4 IOUT2 DI5 DI6 DI7 LE1 LE2 ILE DGND CS + WR1 XFER + WR

14 DAC0832的引脚 8位 输入 寄 存 器 8位 DAC 寄 存 器 8位 D/A 转 换 器 & + +
DAC0832有两个电流输出端:loutl为DAC电流输出1,当DAC寄存器中为全1时,输出电流最大,当DAC寄存器中为全0时,输出电流为0。lout2为DAC电流输出2,Iout2为一常数与Ioutl之差,即loutl+out2.=常数 在实际使用时,总是将电流转为电压来使用,即将Ioutl和lout2加到一个运算放大器的输入。 DAC0832是CMOS工艺,双列直插式20引脚。 ① VCC电源可以在5-15V内变化。典型使用 时用15V电源。 ② AGND为模拟量地线,DGND为数字量地 线,使用时,这两个接地端应始终连在一起。 ③ 参考电压VREF接外部的标准电源,VREF 一般可在+10V到—10V范围内选用。 VREF DI0 8位 输入 8位 DAC 8位 D/A DI1 DI2 IOUT2 DI3 IOUT1 DI4 DI5 DI6 Rfb DI7 LE1 LE2 ILE DGND CS + WR1 XFER + WR

15 DAC0832的引脚 8位 输入 寄 存 器 8位 DAC 寄 存 器 8位 D/A 转 换 器 & + +
DAC0832是CMOS工艺,双列直插式20引脚。 ① VCC电源可以在5-15V内变化。典型使用 时用15V电源。 ② AGND为模拟量地线,DGND为数字量地 线,使用时,这两个接地端应始终连在一起。 ③ 参考电压VREF接外部的标准电源,VREF 一般可在+10V到—10V范围内选用。 DI0—DI7是数字量输入信号线。可以直接和微机的数据总线相连。 Rfb VREF DI0 8位 输入 8位 DAC 8位 D/A DI1 IOUT1 DI2 DI3 DI4 IOUT2 DI5 DI6 DI7 LE1 LE2 ILE DGND CS + WR1 XFER + WR

16 DAC0832的引脚 8位 输入 寄 存 器 8位 DAC 寄 存 器 8位 D/A 转 换 器 & + +
DAC0832是CMOS工艺,双列直插式20引脚。 ① VCC电源可以在5-15V内变化。典型使用 时用15V电源。 ② AGND为模拟量地线,DGND为数字量地 线,使用时,这两个接地端应始终连在一起。 ③ 参考电压VREF接外部的标准电源,VREF 一般可在+10V到—10V范围内选用。 ILE:输入锁存允许信号,高电平有效。只有当ILE=1时,输人数字量才可能进入8位输入寄存器。 Rfb VREF DI0 8位 输入 8位 DAC 8位 D/A DI1 IOUT1 DI2 DI3 DI4 IOUT2 DI5 DI6 DI7 LE1 LE2 ILE DGND CS + WR1 XFER + WR

17 DAC0832的引脚 8位 输入 寄 存 器 8位 DAC 寄 存 器 8位 D/A 转 换 器 & + +
DAC0832是CMOS工艺,双列直插式20引脚。 ① VCC电源可以在5-15V内变化。典型使用 时用15V电源。 ② AGND为模拟量地线,DGND为数字量地 线,使用时,这两个接地端应始终连在一起。 ③ 参考电压VREF接外部的标准电源,VREF 一般可在+10V到—10V范围内选用。 CS:片选输入,低电子有效。只有当WR1·CS=0时,这片0832才被选中工作。 Rfb VREF DI0 8位 输入 8位 DAC 8位 D/A DI1 IOUT1 DI2 DI3 DI4 IOUT2 DI5 DI6 DI7 LE1 LE2 ILE DGND CS + WR1 XFER + WR

18 DAC0832的引脚 8位 输入 寄 存 器 8位 DAC 寄 存 器 8位 D/A 转 换 器 & + +
DAC0832是CMOS工艺,双列直插式20引脚。 ① VCC电源可以在5-15V内变化。典型使用 时用15V电源。 ② AGND为模拟量地线,DGND为数字量地 线,使用时,这两个接地端应始终连在一起。 ③ 参考电压VREF接外部的标准电源,VREF 一般可在+10V到—10V范围内选用。 WR1:写信号1,低电平有效,控制输入寄存器的写入。 Rfb VREF DI0 8位 输入 8位 DAC 8位 D/A DI1 IOUT1 DI2 DI3 DI4 IOUT2 DI5 DI6 DI7 LE1 LE2 ILE DGND CS + WR1 XFER + WR

19 DAC0832的引脚 8位 输入 寄 存 器 8位 DAC 寄 存 器 8位 D/A 转 换 器 & + +
DAC0832是CMOS工艺,双列直插式20引脚。 ① VCC电源可以在5-15V内变化。典型使用 时用15V电源。 ② AGND为模拟量地线,DGND为数字量地 线,使用时,这两个接地端应始终连在一起。 ③ 参考电压VREF接外部的标准电源,VREF 一般可在+10V到—10V范围内选用。 XFER:传送控制信号,低电子有效。控制数据从输入寄存器到DAC寄存器的传送。 Rfb VREF DI0 8位 输入 8位 DAC 8位 D/A DI1 IOUT1 DI2 DI3 DI4 IOUT2 DI5 DI6 DI7 LE1 LE2 ILE DGND CS + WR1 XFER + WR

20 DAC0832的引脚 8位 输入 寄 存 器 8位 DAC 寄 存 器 8位 D/A 转 换 器 & + +
DAC0832是CMOS工艺,双列直插式20引脚。 ① VCC电源可以在5-15V内变化。典型使用 时用15V电源。 ② AGND为模拟量地线,DGND为数字量地 线,使用时,这两个接地端应始终连在一起。 ③ 参考电压VREF接外部的标准电源,VREF 一般可在+10V到—10V范围内选用。 WR2:写信号2,低电平有效,控制DAC寄存器的写人。 Rfb VREF DI0 8位 输入 8位 DAC 8位 D/A DI1 IOUT1 DI2 DI3 DI4 IOUT2 DI5 DI6 DI7 LE1 LE2 ILE DGND CS + WR1 XFER + WR

21 DAC0832的接口 8位 输入 寄 存 器 8位 DAC 寄 存 器 8位 D/A 转 换 器 & + +
直通方式:这时两个8位数据寄存器都处于数据接收状态,即LEI和IE2都为1。输人数据直接送到内部D/A转换器去转换。 单缓冲方式:这时两个8位数据寄存器中有一个处于直通方式(数据接收状态),而另一个则受微机送来的控制信号控制。在单缓冲工作方式时,0832中两个数据寄存器有一个处于直通方式,一般都是将8位DAC寄存器置于直通方式。 双缓冲方式:这时两个8位数据寄存器都不处于直通方式,单片机或其他微机必须送两次写信号才能完成一次D/A转换。 Rfb VREF DI0 8位 输入 8位 DAC 8位 D/A DI1 IOUT1 DI2 DI3 DI4 IOUT2 DI5 DI6 DI7 LE1 LE2 ILE DGND CS + WR1 XFER + WR2

22 DAC0832的接口——直通方式 直通方式:这时两个8位数据寄存器都处于数据接收状态,即LEI和IE2都为1。因此,IEL =1,而CS、WRl、WR2和XFER为0。输人数据直接送到内部D/A转换器去转换。这种方式可用于一些不带微机的控制系统中。

23 DAC0832的接口——单缓冲方式 单缓冲方式:这时两个8位数据寄存器中有一个处于直通方式(数据接收状态),而另一个则受微机送来的控制信号控制。在单缓冲工作方式时,0832中两个数据寄存器有一个处于直通方式,一般都是将8位DAC寄存器置于直通方式。为此,应将WR2和XFER固定接零。而输入寄存器是工作于锁存器状态,它对于8031单片机来说,相当于一个外部RAM单元。

24 DAC0832的接口——双缓冲方式 双缓冲方式:这时两个8位数据寄存器都不处于直通方式,单片机或其他微机必须送两次写信号才能完成一次D/A转换。若采用双缓冲方式,则DAC0832应被看作是外部RAM的两个单元而不是一个单元。

25 DAC0832的应用 数模转换器可以应用在许多场合,这里介绍用D/A转换器来产生各种波形。 锯齿波的产生 三角波的产生 梯形波的产生

26 锯齿波的产生 锯齿波分为正向锯齿波和负向锯齿波。其中正向锯齿波应用广泛。在许多控制应用中,要求有一个线性增长的电压(正向锯齿)来控制检测过程,移动记录笔或移动电子束等。正向锯齿波形如图所示: 产生正向锯齿波的方法:通过在DAC0832的输出端接 运算放大器,由运算放大器产生锯齿波来实现。 DAC0832的输入寄存器的地址为7FFFH : MOV DPTR,#7FFFH MOV A,#00H WW: MOVX @DPTR,A INC A NOP AJMP WW 思 考

27 思 考 思考1:以下程序将产生何种波形? 思考2:编程产生如下锯齿波 MOV DPTR,#7FFFH MOV A,#00H
WW: MOVX @DPTR,A DEC A NOP AJMP WW 4V 1V MOV DPTR,#7FFFH WW1:MOV A,#33H WW: MOVX @DPTR,A INC A LCALL D1ms CJNE A,#0CDH,WW AJMP WW1 D1ms: MOV R7,#250 DJNZ R7,$ RET

28 三角波的产生 三角波是由两段直线组成的,先送出一个线性增长的波形,达到最大值时,再进出一个线性减少的波形,两者结合,就成为三角波。然后使之不断地重复,就能得到一个连续的波形。 实际上这里所说的线性波形仍是一些台阶很小的阶梯波形。为了更逼近线性增长,应使台阶的幅度尽可能小(1位LSB),并且整个波形中台阶的高度和宽度应保持不变。为此,要特别注意转折处的处理,避免出现台阶的宽度变宽或其他影响波形线性的现象出现。 START:CLR A UP:MOV P1,A INC A JNZ UP MOV A,#254 DOWN:MOV P1,A DEC A JNZ DOWN SJMP UP

29 梯形波的产生 梯形波有多种形式,波形如图所示: 实现方法与锯齿波和三角波相似。

30 8.3 ADC及其接口 ADC0809 一、ADC介绍: 1.ADC结构:ADC芯片上集成有A/D转换电路和辅助电路。
2.ADC的参数:描述D/A转换器性能的参数很多。在选用A/D转换器时,主要关心的指标是分辨率、转换速度以及输入电压的范围。分辨率主要由位数来决定。转换时间的差别很大,可以在100微秒到几个微秒之间选择。位数增加,转换速率提高,A/D转换器的价格也急剧上升。故应从实际需要出发、慎重选择。 3、ADC芯片的引脚 二、典型ADC芯片及其接口 数字量输出信号 模拟量输入信号 ADC芯片 转换启动信号 转换结束信号 ADC0809

31 ADC0809 ADC0809的结构 ADC0809的引脚 ADC0809的接口 ADC0809的应用

32 ADC0809的结构 ADC0809是一种8路模拟输入8路数字输出的逐次比较型A/D转换器。目前在8位单片机系统中有着广泛的使用。 8 位
CLOCK IN0 8 A/D D0 IN1 D1 IN2 D2 IN3 D3 IN4 D4 IN5 D5 IN6 D6 IN7 D7 ADDC OE 地址 锁存 与译码 ADDB START ADDA EOC ALE Vref- Vref+

33 ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装。 CLOCK 地址 锁存 与译码 IN0 IN1 IN2 IN3 IN4
A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref-

34 ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装。
CLOCK 地址 锁存 与译码 8 A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref- IN7~IN0:模拟量输入通道。ADC0809对输入模拟量的要求主要有:信号单极性,电压范围0~5 V,若信号过小还需进行放大。另外,在A/D转换过程中,模拟量输入的值不应变化太快,因此,对变化速度快的模拟量,在输入前应增加采样保持电路。

35 ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装。
CLOCK 地址 锁存 与译码 8 A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref- ADDA、ADDB、ADDC:地址线。ADDA为低位地址,ADDC为高位地址,用于对模拟通道进行选择。 地址状态与通道相对应的关系表

36 通道选择表 地址状态与通道相对应的关系表 ADDC ADDB ADDA 选择的通道 000 0 0 1 0 1 0 0 1 1 1 0 0
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7

37 ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装。
CLOCK 地址 锁存 与译码 8 A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref- ALE:地址锁存允许信号。在对应ALE上跳沿,ADDA、ADDB、ASSC地址状态送入地址锁存器中。

38 ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装。
CLOCK 地址 锁存 与译码 8 A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref- START:转换启动信号。START上跳沿时,所有内部寄存器清0;START下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。

39 ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装。
CLOCK 地址 锁存 与译码 8 A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref- D7~D0:数据输出线。其为三态缓冲输出形式,可以和单片机的数据线直接相连。

40 ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装。
CLOCK 地址 锁存 与译码 8 A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref- OE:输出允许信号。其用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高电阻;OE=1,输出转换得到的数据。

41 ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装。
CLOCK 地址 锁存 与译码 8 A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref- EOC:转换结束状态信号。EOC=0,正在进行转换;EOC=1,转换结束。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。

42 ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装。
CLOCK 地址 锁存 与译码 8 A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref- CLOCK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500kHz的时钟信号。

43 ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装。
CLOCK 地址 锁存 与译码 8 A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref- Vref:参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5 V(Vref (+) =+5 V,Vref(-) =0 V)

44 ADC0809的接口 ADC0809与89C51单片机的连接方式很多。电路连接主要涉及两个问题,一是8路模拟信号通道选择,二是A/D转换完成后转换数据的传送。 CLOCK IN0 8 A/D D0 IN1 D1 IN2 D2 IN3 D3 IN4 D4 IN5 D5 IN6 D6 IN7 D7 ADDC OE 地址 锁存 与译码 ADDB START ADDA EOC ALE Vref- Vref+

45 ADC0809的接口 8路模拟信号通道选择线的连接方法有2种:与DB连接和与AB连接。 8 位 A/D 转 换 器 CLOCK IN0 输
D0 IN1 D1 IN2 D2 IN3 D3 IN4 D4 IN5 D5 IN6 D6 IN7 D7 ADDC OE 地址 锁存 与译码 ADDB START ADDA EOC ALE Vref- Vref+

46 ADC0809的接口方法

47 ADC0809的接口方法 AB0 AB1 AB2

48 ADC0809的接口 A/D转换后得到的是数字量的数据,这些数据应传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换完成,因为只有确认数据转换完成后,才能进行传送。为此,可采用下述三种方式。 1) 定时传送方式 2) 查询方式 3) 中断方式 地址 锁存 与译码 8 A/D IN0 IN1 IN2 IN3 IN4 IN5 D0 D1 D2 D3 D4 D5 D6 D7 IN6 IN7 ADDB ADDA ADDC ALE OE START EOC Vref+ Vref- CLOCK

49 定时传送方式 对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。
例如,ADC0809转换时间为128 μs,相当于6 MHz的MCS-51单片机R 64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用这个延时子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 在这种方式下,EOC引脚悬空。

50 查询传送方式 单片机启动0809后,延迟10us,检测EOC,若EOC=0则A/D转换没有结束,继续检测EOC,直到EOC=1。当EOC=1时,A/D转换已经结束,单片机读取A/D转换结果。 在这种方式下,EOC必须接到8051的一条I/O线上。 P1.0

51 中断传送方式 单片机启动A/D转换后可以做其它工作,当A/D转换结束时,EOC由0---1经过非门传到INT端,8051收到中断请求信号,若8051开着中断,则进入中断服务程序,在中断服务程序中单片机读取A/D转换的结果。 在这种方式下, EOC必须经过非门接到8051的中断请求输入线INT0或INT1上,89C51的中断触发方式为下降沿触发。 INT0

52 ADC0809的应用 定时方式单路数据采集 查询方式单路数据采集 中断方式单路数据采集 定时方式多路数据采集

53 定时方式单路数据采集 图 用ADC0809的IN7通道连续采集40个数据,存于内RAM中以50H为起始地址的单元中。试编程。
MOV R0,#50H ;内RAM首地址 MOV R7,# ;采集40个数据 MOV R2,#07H ;通道IN7地址号 MOV DPTR,#0000H ;0809的地址 UP:MOV A,R2 MOVX @DPTR,A ;启动A/D转换 LCALL D1MS ;等待A/D转换结束 MOVX ;读取A/D转换结果 MOV @R0,A ;存入内RAM INC R ;修改内RAM单元地址 DJNZ R7,UP SJMP $

54 查询方式单路数据采集 图 用ADC0809的IN7通道连续采集40个数据,存于内RAM中以50H为起始地址的单元中。试编程。
MOV R0,#50H ;内RAM首地址 MOV R7,# ;采集40个数据 MOV R2,#00H ;通道IN7地址号 MOV DPTR,#0000H ;0809的地址 UP:MOV A,R2 MOVX @DPTR,A ;启动A/D转换 JNB P1.0,$ ;查询A/D转换是否结束 MOVX ;读取A/D转换结果 MOV @R0,A ;存入内RAM INC R ;修改内RAM单元地址 DJNZ R7,UP SJMP $

55 中断方式单路数据采集 图 用ADC0809的IN7通道连续采集40个数据,存于内RAM中以50H为起始地址的单元中。试编程。
AINT: MOVX MOV @R0,A ;存入内RAM INC R ;修改内RAM单元地址 DJNZ R7,AINT0 RETI AINT0: MOV A,R2 MOVX @DPTR,A ;再次启动A/D转换 ORG H LJMP MAIN ORG H LJMP AINT MAIN: MOV IE,#81H MOV R0,#50H MOV R7,#40 MOV R2,#00H MOV DPTR,#0000H MOV A,R2 MOVX @DPTR,A ;启动A/D转换 SJMP $ ;等待中断

56 定时方式多路数据采集 图 用ADC0809的IN7---IN0通道分别采集8个数据,存于内RAM中以50H为起始地址的单元中。试编程。
MOV R0,#50H ;内RAM首地址 MOV R7,# ;采集8个通道 MOV R2,#00H ;通道首地址号 MOV DPTR,#0000H ;0809的地址 UP:MOV A,R2 MOVX @DPTR,A ;启动A/D转换 LCALL D1MS ;等待A/D转换结束 MOVX ;读取A/D转换结果 MOV @R0,A ;存入内RAM INC R ;修改通道地址 INC R ;修改内RAM单元地址 DJNZ R7,UP SJMP $


Download ppt "第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口."

Similar presentations


Ads by Google