第九章 D/A 和 A/D 转换器接口
description
Transcript of 第九章 D/A 和 A/D 转换器接口
Northwest A&F University
第九章 D/A 和 A/D 转换器接口
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
第九章 D/A 和 A/D 转换器接口
单片机的外部设备不一定都是数字式的,也经常会和模拟式的设备连接。
例如单片机来控制温度、压力时,温度和压力都是连续变化的,都是模拟量,在单片机与外部环境通信的时候,就需要有一种转换器来把模拟信号变为数字信号,以便能够输送给单片机进行处理。而单片机送出的控制信号,也必须经过变换器变成模拟信号,才能为控制电路所接受。这种变换器就称为数模 (D / A) 转换器和模数 (A / D) 转换器。
CPU 与模拟外设之间的接口电路称为模拟接口。
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
9.1 D/A 转换器及其与 MCS-51 的接口技术 D/A 转换器输入的是数字量,经转换后输出的是模拟量。9.1 .1 D/A 转换器的主要技术指标 D/A 转换器输入的是数字量,经转换后输出的是模拟量。有
关 D/A 转换器的技术性能指标很多,例如绝对精度、相对精度、线性度、输出电压范围、温度系数、输入数字代码种类(二进制或 BCD 码)等。
( 1 )分辨率 (Resolution)
( 2 )偏移误差 (OffsetError)
(3) 线性度 (Linearity)
(4) 精度 (Accuracy)
(5) 转换速度 (ConvemionRate)
(6) 温度灵敏度 (TemperatureSensitivity)
分辨率反映了数字量在最低位上变化 1 位时输出模拟量的最小变化。 一般用相对值表示。对于 8 位 D / A 转换器来说,分辨率为最大输出幅度的 0 . 39 %,即为 1 / 256 。而对于 10 位 D / A 转换器来说,分辨率可以提高到 0 . 1 %,即 1 / 1 024 。
第九章 D/A 和 A/D 转换器接口
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
9.1 D/A 转换器及其与 MCS-51 的接口技术 D/A 转换器输入的是数字量,经转换后输出的是模拟量。9.1 .1 D/A 转换器的主要技术指标 D/A 转换器输入的是数字量,经转换后输出的是模拟
量。有关 D/A 转换器的技术性能指标很多,例如绝对精度、相对精度、线性度、输出电压范围、温度系数、输入数字代码种类(二进制或 BCD 码)等。
( 1 )分辨率 (Resolution) ( 2 )偏移误差 (OffsetError) (3) 线性度 (Linearity) (4) 精度 (Accuracy) (5) 转换速度 (ConvemionRate) (6) 温度灵敏度 (TemperatureSensitivity)
偏移误差是指输人数字量为 0 时,输出模拟量对 0 的偏移值。这种误差一般可在 D / A 转换器外部用电位器调节到最小。
第九章 D/A 和 A/D 转换器接口
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
9.1 D/A 转换器及其与 MCS-51 的接口技术 D/A 转换器输入的是数字量,经转换后输出的是模拟量。9.1 .1 D/A 转换器的主要技术指标 D/A 转换器输入的是数字量,经转换后输出的是模拟量。
有关 D/A 转换器的技术性能指标很多,例如绝对精度、相对精度、线性度、输出电压范围、温度系数、输入数字代码种类(二进制或 BCD 码)等。
( 1 )分辨率 (Resolution) ( 2 )偏移误差 (OffsetError) (3) 线性度 (Linearity) (4) 精度 (Accuracy) (5) 转换速度 (ConvemionRate) (6) 温度灵敏度 (TemperatureSensitivity)
线性度是指 D / A 转换器的实际转移特性与理想直线之间的最大误差,或最大偏移。一般情况下,偏差值应小于土言 LSB 。这里 LSB 是指最低一位数字量变化所带来的幅度变化。
第九章 D/A 和 A/D 转换器接口
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
9.1 D/A 转换器及其与 MCS-51 的接口技术 D/A 转换器输入的是数字量,经转换后输出的是模拟量。9.1 .1 D/A 转换器的主要技术指标 D/A 转换器输入的是数字量,经转换后输出的是模拟
量。有关 D/A 转换器的技术性能指标很多,例如绝对精度、相对精度、线性度、输出电压范围、温度系数、输入数字代码种类(二进制或 BCD 码)等。
( 1 )分辨率 (Resolution) ( 2 )偏移误差 (OffsetError) (3) 线性度 (Linearity) (4) 精度 (Accuracy) (5) 转换速度 (ConvemionRate) (6) 温度灵敏度 (TemperatureSensitivity)
精度为实际模拟输出与理想模拟输出之间的最大偏差。除了线性度不好会影响精度之外,参考电源的波动等因素都会影响精度。可以理解为线性度是在一定测试条件下得到的 D / A转换器的误差,而精度是指在实际工作时的 D/ A 转换器的误差,一般质量的 D / A 转换器的精度为满量程的 o . 2 % ± 言 LSB 。
第九章 D/A 和 A/D 转换器接口
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
9.1 D/A 转换器及其与 MCS-51 的接口技术 D/A 转换器输入的是数字量,经转换后输出的是模拟量。9.1 .1 D/A 转换器的主要技术指标 D/A 转换器输入的是数字量,经转换后输出的是模拟量。
有关 D/A 转换器的技术性能指标很多,例如绝对精度、相对精度、线性度、输出电压范围、温度系数、输入数字代码种类(二进制或 BCD 码)等。
( 1 )分辨率 (Resolution) ( 2 )偏移误差 (OffsetError) (3) 线性度 (Linearity) (4) 精度 (Accuracy) (5) 转换速度 (ConvemionRate) (6) 温度灵敏度 (TemperatureSensitivity)
转换速度即每秒钟可以转换的次数,其倒数为转换时间。
第九章 D/A 和 A/D 转换器接口
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
9.1 D/A 转换器及其与 MCS-51 的接口技术 D/A 转换器输入的是数字量,经转换后输出的是模拟量。9.1 .1 D/A 转换器的主要技术指标 D/A 转换器输入的是数字量,经转换后输出的是模拟量。
有关 D/A 转换器的技术性能指标很多,例如绝对精度、相对精度、线性度、输出电压范围、温度系数、输入数字代码种类(二进制或 BCD 码)等。
( 1 )分辨率 (Resolution) ( 2 )偏移误差 (OffsetError) (3) 线性度 (Linearity) (4) 精度 (Accuracy) (5) 转换速度 (ConvemionRate) (6) 温度灵敏度 (TemperatureSensitivity)
温度灵敏度是指输入不变的情况下,输出模拟信号随温度的变化。一般 D / A 转换器的温度灵敏度约为 ±50X10—6 / o()(ppm 为百万分之一,即 partspermillion) 。
第九章 D/A 和 A/D 转换器接口
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
9.1.2 DAC0832 的结构
8 位输入寄存器由 8个 D 锁存器组成,用来作为输入数据的缓冲寄存器。 它的 8 个数据输入可以直接和微机的数据总线相连。 LE1 为其控制输入, LE1=1时, D 触发器接收信号, IE1=0 时,为锁存状态。
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
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR2
VREF
IOUT1
IOUT2
DGNDLE1 LE2
Rfb
第九章 D/A 和 A/D 转换器接口
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
9.1.3 DAC0832 的引脚
DAC0832 是 CMOS 工艺,双列直插式 20 引脚。 ① VCC 电源可以在 5-15V 内变化。典型使用
时用 15V 电源。 ② AGND 为模拟量地线, DGND 为数字量地
线,使用时,这两个接地端应始终连在一起。③ 参考电压 VREF 接外部的标准电源, VREF一般可在 +10V 到— 10V 范围内选用。
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR2
VREF
IOUT1
IOUT2
DGNDLE1 LE2
Rfb
DAC0832
1
2
3
4
5
6
7
8
9
10
CS VCC
ILE
WR2
XFER
DI4
DI5
DI6
DI7
Iout2
Iout1
WR1
AGND
DI3
DI2
DI1
DI0
Vref
Rfb
DGND 11
12
13
14
15
16
17
18
19
20
Northwest A&F University
DAC0832 的引脚
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR
VREF
IOUT1
IOUT2
DGNDLE1 LE2
DAC0832 是 CMOS 工艺,双列直插式 20 引脚。
① VCC 电源可以在 5-15V 内变化。典型使用时用 15V 电源。
② AGND 为模拟量地线, DGND 为数字量地线,使用时,这两个接地端应始终连在一起。③ 参考电压 VREF 接外部的标准电源, VREF一般可在 +10V 到— 10V 范围内选用。
它的输出是与数字量成比例的电流, Vref 为参考电压输入,Rfb 为运算放大器的反馈电阻,引脚 Rfb则是这个反馈电阻瑞,接到运算放大器的输出端。
Rfb
Northwest A&F University
DAC0832 的引脚
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR
VREF
IOUT1
IOUT2
DGNDLE1 LE2
DAC0832 是 CMOS 工艺,双列直插式 20 引脚。
① VCC 电源可以在 5-15V 内变化。典型使用时用 15V 电源。
② AGND 为模拟量地线, DGND 为数字量地线,使用时,这两个接地端应始终连在一起。③ 参考电压 VREF 接外部的标准电源, VREF一般可在 +10V 到— 10V 范围内选用。
DAC0832 有两个电流输出端: Ioutl 为 DAC 电流输出 1 ,当 DAC 寄存器中为全 1 时,输出电流最大,当 DAC 寄存器中为全 0时,输出电流为 0 。 Iout2 为 DAC 电流输出 2 , Iout2 为一常数与 Ioutl 之差,即 Ioutl+Iout2 . = 常数
在实际使用时,总是将电流转为电压来使用,即将 Ioutl 和 Iout2 加到一个运算放大器的输入。
Rfb
Northwest A&F University
DAC0832 的引脚
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR
VREF
IOUT1
IOUT2
DGNDLE1 LE2
DAC0832 是 CMOS 工艺,双列直插式 20 引脚。
① VCC 电源可以在 5-15V 内变化。典型使用时用 15V 电源。
② AGND 为模拟量地线, DGND 为数字量地线,使用时,这两个接地端应始终连在一起。③ 参考电压 VREF 接外部的标准电源, VREF一般可在 +10V 到— 10V 范围内选用。
DI0—DI7 是数字量输入信号线。可以直接和微机的数据总线相连。
Rfb
Northwest A&F University
DAC0832 的引脚
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR
VREF
IOUT1
IOUT2
DGNDLE1 LE2
DAC0832 是 CMOS 工艺,双列直插式 20 引脚。 ① VCC 电源可以在 5-15V 内变化。典型使用
时用 15V 电源。 ② AGND 为模拟量地线, DGND 为数字量地
线,使用时,这两个接地端应始终连在一起。③ 参考电压 VREF 接外部的标准电源, VREF一般可在 +10V 到— 10V 范围内选用。
ILE :输入锁存允许信号,高电平有效。只有当 ILE=1 时,输人数字量才可能进入 8 位输入寄存器。
Rfb
Northwest A&F University
DAC0832 的引脚
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR
VREF
IOUT1
IOUT2
DGNDLE1 LE2
DAC0832 是 CMOS 工艺,双列直插式 20 引脚。
① VCC 电源可以在 5-15V 内变化。典型使用时用 15V 电源。
② AGND 为模拟量地线, DGND 为数字量地线,使用时,这两个接地端应始终连在一起。③ 参考电压 VREF 接外部的标准电源, VREF一般可在 +10V 到— 10V 范围内选用。
CS :片选输入,低电子有效。只有当 WR1·CS=0 时,这片 0832 才被选中工作。
Rfb
Northwest A&F University
DAC0832 的引脚
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR
VREF
IOUT1
IOUT2
DGNDLE1 LE2
DAC0832 是 CMOS 工艺,双列直插式 20 引脚。 ① VCC 电源可以在 5-15V 内变化。典型使用
时用 15V 电源。 ② AGND 为模拟量地线, DGND 为数字量地
线,使用时,这两个接地端应始终连在一起。③ 参考电压 VREF 接外部的标准电源, VREF一般可在 +10V 到— 10V 范围内选用。
WR1 :写信号 1 ,低电平有效,控制输入寄存器的写入。
Rfb
Northwest A&F University
DAC0832 的引脚
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR
VREF
IOUT1
IOUT2
DGNDLE1 LE2
DAC0832 是 CMOS 工艺,双列直插式 20 引脚。 ① VCC 电源可以在 5-15V 内变化。典型使用
时用 15V 电源。 ② AGND 为模拟量地线, DGND 为数字量地
线,使用时,这两个接地端应始终连在一起。③ 参考电压 VREF 接外部的标准电源, VREF一般可在 +10V 到— 10V 范围内选用。
XFER :传送控制信号,低电平有效。控制数据从输入寄存器到 DAC 寄存器的传送。
Rfb
Northwest A&F University
DAC0832 的引脚
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR
VREF
IOUT1
IOUT2
DGNDLE1 LE2
DAC0832 是 CMOS 工艺,双列直插式 20 引脚。 ① VCC 电源可以在 5-15V 内变化。典型使用
时用 15V 电源。 ② AGND 为模拟量地线, DGND 为数字量地
线,使用时,这两个接地端应始终连在一起。③ 参考电压 VREF 接外部的标准电源, VREF一般可在 +10V 到— 10V 范围内选用。
WR2 :写信号 2 ,低电平有效,控制 DAC 寄存器的写人。
Rfb
Northwest A&F University
9.1.4 DAC0832 的接口DAC0832 转换器可以有三种工作方法,即直通方式、单缓冲方式和双缓冲方式。直通方式:这时两个 8 位数据寄存器都处于数据接收状态,即 LEI 和 IE2 都为 1 。输人数据直接送到内部 D / A 转换器去转换。单缓冲方式:这时两个 8 位数据寄存器中有一个处于直通方式 ( 数据接收状态 ) ,而另一个则受微机送来的控制信号控制。在单缓冲工作方式时, 0832 中两个数据寄存器有一个处于直通方式,一般都是将 8 位 DAC 寄存器置于直通方式。双缓冲方式:这时两个 8 位数据寄存器都不处于直通方式,单片机或其他微机必须送两次写信号才能完成一次 D / A 转换。
8 位输入
寄存器
8 位DAC
寄存器
8 位D/A转换器
DI0DI1DI2DI3DI4DI5DI6DI7
&+
+
ILECSWR1
XFERWR2
VREF
IOUT1
IOUT2
DGNDLE1 LE2
Rfb
Northwest A&F University
DAC0832 的接口——直通方式
直通方式:这时两个 8 位数据寄存器都处于数据接收状态,即 LEI 和 IE2 都为 1 。因此, IEL =1 ,而 CS 、 WRl 、 WR2 和 XFER 为 0 。输人数据直接送到内部 D/ A 转换器去转换。这种方式可用于一些不带微机的控制系统中。
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number RevisionSize
B
Date: 13-Feb-1999 Sheet of File: C:\My Documents\¿¼ÊÔ\Ìâͼ.ddb Drawn By:
EA/VP31
X119
X218
RESET9
INT012
INT113
T014
T115
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
P0.039
P0.138
P0.2 37
P0.336
P0.4 35
P0.534
P0.633
P0.732
P2.021
P2.122
P2.2 23
P2.324
P2.4 25
P2.526
P2.627
P2.728
RD 17
WR16
PSEN 29
ALE/P30
TXD11
RXD10
8051
Vcc20
Iout111
lsbDI07
Iout212
DI16
DI2 5
Rfb9
DI34
DI4 16
Vref8
DI515
DI614
msbDI713
ILE19
WR2 18
CS 1
WR12
Xfer17
DAC0832
Vcc
GND
Northwest A&F University
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number RevisionSize
B
Date: 13-Feb-1999 Sheet of File: C:\My Documents\¿¼ÊÔ\Ìâͼ.ddb Drawn By:
GND
EA/VP31
X119
X218
RESET9
RD17
WR16
INT012INT1
13
T014
T115
P101
P112
P123
P134
P145
P156
P167
P178
P0039
P01 38
P0237
P03 36
P0435
P0534
P0633
P0732
P2021
P2122
P2223
P2324
P2425
P2526
P26 27
P2728
PSEN29
ALE/P30
TXD11 RXD10
8051
D03
Q02
D14 Q1 5
D27
Q26
D38 Q3 9
D413
Q412
D514
Q515
D617
Q616
D718
Q719
OE1
LE11
74HC373
Vcc20
Iout1 11lsbDI0
7
Iout212
DI16
DI25
Rfb9
DI34
DI416
Vref 8
DI515
DI614
msbDI713
ILE19
WR218
CS1
WR12
Xfer17
U?
DAC0832
vcc
DAC0832 的接口——单缓冲方式单缓冲方式:这时两个 8 位数据寄存器中有一个处于直通方式 ( 数据接收状态 ) ,而另一个则受微机送来的控制信号控制。在单缓冲工作方式时, 0832 中两个数据寄存器有一个处于直通方式,一般都是将 8 位 DAC 寄存器置于直通方式。为此,应将 WR2 和 XFER固定接零。而输入寄存器是工作于锁存器状态,它对于8031 单片机来说,相当于一个外部 RAM 单元。
Northwest A&F University
DAC0832 的接口——双缓冲方式
双缓冲方式:这时两个 8 位数据寄存器都不处于直通方式,单片机或其他微机必须送两次写信号才能完成一次 D / A 转换。若采用双缓冲方式,则 DAC0832 应被看作是外部 RAM 的两个单元而不是一个单元。
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number RevisionSize
B
Date: 13-Mar-2012 Sheet of File: F:\¹¤×÷\¾«Æ·¿Î\µ¥Æ¬»ú½Ì°̧ .ddb Drawn By:
EA/VP31
X119
X218
RESET9
RD 17WR
16
INT012INT1
13
T014
T115
P101
P112
P123
P134
P145
P156
P167
P178
P0039
P0138
P0237
P03 36
P0435
P05 34
P0633
P0732
P2021
P21 22
P2223
P2324
P2425
P2526
P26 27
P2728
PSEN29
ALE/P30
TXD11 RXD10
8PC51
D03
Q02
D14
Q15
D27
Q26
D38 Q3 9
D413
Q412
D514 Q5 15
D617
Q616
D718
Q719
OE1
LE11
74LS373P00P01P02P03P04P05P06P07
P00P01P02P03P04P05P06P07
AB0AB1AB2AB3AB4AB5AB6AB7
AB8AB9AB10AB11AB12AB13AB14AB15
AG
ND
3V
cc20
Iout1 11
lsbDI07
Iout212
DI16
DI25
Rfb 9DI34
DI416
Vref8
DI515
DI614
msbDI713
ILE19
WR218
CS1
WR12 Xfer 17
DAC0832
P00P01P02P03P04P05P06P07
+5V
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
第九章 D/A 和 A/D 转换器接口9.1.5 DAC0830/DAC0831/DAC0832 的模拟输出方式
DAC0830/DAC0831/DAC0832属于电流输出型的 D/A 转换器,其转换结果是与输入数字量成正比的电流。这种形式的输出不能直接带动负载,需经运算放大器放大并转换成电压输出。电压输出又根据不同的场合,需要单极性电压输出和双极性电压输出。
P236图 9-5 的接口电路是单极性电压输出,运放的输出电压为
REFOUT VD
V 82
其中, D 为用十进制表示的数字输入量。
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
例如,设 VREF =-5 V ,当 D=FFH=255 时,
VVOUT 98.4)5(256
255
这是最大的输出电压。
若 D=01H=1 时,这是最低位 LSB 对应的输出电压。运放的输出电压与参考电压 VREF 是反极性。
VVOUT 02.0)5(256
1
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
第九章 D/A 和 A/D 转换器接口
Northwest A&F University
8032 双极性输出
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
根据运放的理想情况,运放 A2 的反向输入端 "虚地 " ,且 I1+I2=0 ,而
,3
2
21 R
V
R
VI OUTREF
1
12 R
VI OUT
如果选择 R2=R3=2R1 ,则可以得到
VOUT2=–(2VOUT1+VREF)
设 VREF=+5 V ,当 VOUT1=0 V 时, VOUT2=5 V; VOUT1=–2.5 V 时 ,
VOUT2=0 V; VOUT1=–5 V 时 , VOUT2=5 V 。可见, VOUT2 将 VOUT1 输出电压范围 0~5 V 转换成双极性电压范围– 5~+5 V 。因
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
第九章 D/A 和 A/D 转换器接口
REF8OUT V2
DV
Northwest A&F University
所以
REFREFREF V128
128D)V2V
256
D(V
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
第九章 D/A 和 A/D 转换器接口
Northwest A&F University
锯齿波分为正向锯齿波和负向锯齿波。其中正向锯齿波应用广泛。在许多控制应用中,要求有一个线性增长的电压(正向锯齿)来控制检测过程,移动记录笔或移动电子束等。正向锯齿波形如图所示: 产生正向锯齿波的方法:通过在 DAC0832 的输出端接运算放大器,由运算放大器产生锯齿波来实现。 DAC0832 的输入寄存器的地址为 7FFFH :
锯齿波的产生
CS
DI0DI1DI2DI3DI4DI5DI6DI7
P0.7~P0.0
WR1
WR2
VCCILE
Vref
£«
£
XFER
£«
£
10 k 10 k
10 k
£«10 V
£ 10 V
Rfb
Iout1
Iout2
DAC0832
£«5 V
WR
µØÖ·ÒëÂëÊä³ö
MOV DPTR , #7FFFH
MOV A , #00H
WW: MOVX @DPTR , A
INC A
NOP
NOP
NOP
AJMP WW基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
MOV DPTR , #7FFFH
MOV A , #00H
WW: MOVX @DPTR , A
DEC A
NOP
NOP
NOP
AJMP WW
思考 1 :以下程序将产生何种波形?
CS
DI0DI1DI2DI3DI4DI5DI6DI7
P0.7~P0.0
WR1
WR2
VCCILE
Vref
£«
£
XFER
£«
£
10 k 10 k
10 k
£«10 V
£ 10 V
Rfb
Iout1
Iout2
DAC0832
£«5 V
WR
µØÖ·ÒëÂëÊä³ö
思考 2 :编程产生如下锯齿波?
4V
1V
START : CLR A UP : MOV P1 , A
INC A JNZ UP
MOV A , #254
DOWN : MOV P1 ,A
DEC A JNZ DOWN
SJMP UP
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
三角波是由两段直线组成的,先送出一个线性增长的波形,达到最大值时,再进出一个线性减少的波形,两者结合,就成为三角波。然后使之不断地重复,就能得到一个连续的波形。 实际上这里所说的线性波形仍是一些台阶很小的阶梯波形。为了更逼近线性增长,应使台阶的幅度尽可能小 (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
Northwest A&F University
正弦波是双极性电压,最简单的办法就是将一个周期内电压变化的幅值( -5V~+5V )按 8 位 D/A 转换器的分辨率分为 256 个数值并列成表格,然后依次将这些数字量送入 D/A 转换器进行转换输出。只要循环不断地送数,在输出端就能获得正弦波。
正弦波的产生
SIN: MOV R7, #00HDAS0 : MOV A , R7 MOV @DPTR , #TAB MOVC A,@A+DPTR MOV DPTR,#0BFFH ; 指向 D/A 转换器 MOVX @DPTR,A INC R7 LJMP DAS0 TAB : DB 80H, 83H,86H,89H …… DB 76H,79H,7CH,80H ;正弦波表
CS
DI0DI1DI2DI3DI4DI5DI6DI7
P0.7~P0.0
WR1
WR2
VCCILE
Vref
£«
£
XFER
£«
£
10 k 10 k
10 k
£«10 V
£ 10 V
Rfb
Iout1
Iout2
DAC0832
£«5 V
WR
µØÖ·ÒëÂëÊä³ö
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
9.2 D/A 转换接口电路
A/D 转换器用于实现模拟量→数字量的转换,按转换原理可分为4 种,即:计数式 A/D 转换器、双积分式 A/D 转换器、逐次逼近式A/D 转换器和并行式 A/D 转换器。
目前最常用的是双积分式 A/D 转换器和逐次逼近式 A/D 转换器。双积分式 A/D 转换器的主要优点是转换精度高,抗干扰性能好,价格便宜。其缺点是转换速度较慢,因此,这种转换器主要用于速度要求不高的场合。另一种常用的 A/D 转换器是逐次逼近式的,逐次逼近式 A/D 转换器是一种速度较快,精度较高的转换器,其转换时间大约在几 μs 到几百 μs 之间。通常使用的逐次逼近式典型 A/D 转换器芯片有 ADC0801~ADC0805 型 8 位 MOS 型 A/D 转换器、 ADC0808 /
0809 型 8 位 MOS 型 A/D 转换器。
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
第九章 D/A 和 A/D 转换器接口
Northwest A&F University
9.2.1 A/D 转换器的主要技术指标 分辨率( Resolution) 分辨率是指 A/D转换器能分辨的最小输出模拟增量,取决于输入数
字量的二进制位数。 转换精度( Conversion Accuracy) 转换精度指满量程时 ADC的实际模拟输出值和理论值的接近程度。 量程 (满刻度范围——FULL Scale Range) 量程是指输入模拟电压的变化范围。例如某转换器具有 10V的单极性
范围或 -5 ~ +5V的双极性范围。则它们的量程都为 10V。满刻度只是个名义值,实际的 A/D, D/A转换器的最大输出值总是比满刻度值小1/2n, n为转换器的位数。例如 12位的 A/D转换器,其满刻度值为 10V,而实际的最大输出值为 :
)(9976.94096
409510
2
11010
12V
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
第九章 D/A 和 A/D 转换器接口
Northwest A&F University
线性度( Linearity) 线性度是指 ADC 的实际转换特性曲线和理想直线之间
的最大偏移差。
转换时间( Conversion Time) 从发出启动转换开始直至获得稳定的二进代码所需的
时间称为转换时间,转换时间与转换器工作原理及其位数有关,同种工作原理的转换器,通常位数越多,其转换时间越长。
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
第九章 D/A 和 A/D 转换器接口
Northwest A&F University
9.2.2 ADC0809 简介 ADC0809 是一种 8 路模拟输入 8 路数字输出的逐次比较
型 A/D 转换器。目前在 8 位单片机系统中有着广泛的使用。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
CLOCK
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
第九章 D/A 和 A/D 转换器接口
Northwest A&F University
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number RevisionSize
B
Date: 19-Jun-2004 Sheet of File: F:\¹¤×÷\¾«Æ·¿Î\µ¥Æ¬»ú½Ì°̧ .ddb Drawn By:
IN-026
msb2-121
2-220
IN-127
2-319
2-418
IN-228
2-58
2-615
IN-31
2-714
lsb2-817
IN-42
EOC7
IN-53
ADD-A25
IN-64
ADD-B24
ADD-C23
IN-75
ALE22
ref(-)16
ENABLE9
START6
ref(+)12
CLOCK10
ADC0809
ADC0809 的引脚
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTARTEOC
Vref+Vref-
ADC0809芯片为 28 引脚双列直插式封装。
CLOCK
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
ADC0809 的引脚
ADC0809芯片为 28 引脚双列直插式封装。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-IN7~ IN0 :模拟量输入通道。 ADC0809 对输入模拟量的要求主要有:信号单极性,电压范围 0~ 5 V ,若信号过小还需进行放大。另外,在 A/D 转换过程中,模拟量输入的值不应变化太快,因此,对变化速度快的模拟量,在输入前应增加采样保持电路。
CLOCK
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
ADC0809 的引脚
ADC0809芯片为 28 引脚双列直插式封装。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
ADDA 、 ADDB 、 ADDC :地址线。 ADDA 为低位地址,ADDC 为高位地址,用于对模拟通道进行选择。
地址状态与通道相对应的关系表
CLOCK
Northwest A&F University
地址状态与通道相对应的关系表
ADDC ADDB ADDA 选择的通道
0000 0 10 1 00 1 11 0 01 0 1 1 1 0 1 1 1
IN0IN1IN2IN3IN4IN5IN6IN7
通道选择表
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
ADC0809 的引脚
ADC0809芯片为 28 引脚双列直插式封装。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
ALE :地址锁存允许信号。在对应 ALE 上跳沿, ADDA 、ADDB 、 ASSC 地址状态送入地址锁存器中。
CLOCK
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
ADC0809 的引脚
ADC0809芯片为 28 引脚双列直插式封装。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
START :转换启动信号。 START 上跳沿时,所有内部寄存器清 0; START 下跳沿时,开始进行 A/D 转换;在 A/D 转换期间, START 应保持低电平。
CLOCK
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
ADC0809 的引脚
ADC0809芯片为 28 引脚双列直插式封装。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
START :转换启动信号。 START 上跳沿时,所有内部寄存器清 0; START 下跳沿时,开始进行 A/D 转换;在 A/D 转换期间, START 应保持低电平。
CLOCK
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
ADC0809 的引脚
ADC0809芯片为 28 引脚双列直插式封装。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
OE :输出允许信号。其用于控制三态输出锁存器向单片机输出转换得到的数据。 OE=0 ,输出数据线呈高电阻; OE=1 ,输出转换得到的数据。
CLOCK
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
ADC0809 的引脚
ADC0809芯片为 28 引脚双列直插式封装。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
EOC :转换结束状态信号。 EOC=0 ,正在进行转换;EOC=1 ,转换结束。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。
CLOCK
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
ADC0809 的引脚
ADC0809芯片为 28 引脚双列直插式封装。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-CLOCK :时钟信号。 ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为 500kHz的时钟信号。
CLOCK
Northwest A&F University
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
ADC0809 的引脚
ADC0809芯片为 28 引脚双列直插式封装。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
Vref :参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为 +5 V( Vref (+) =+5 V , Vref(-) =0 V )
CLOCK
Northwest A&F University
ADC0809 的接口
ADC0809 与 89C51 单片机的连接方式很多。电路连接主要涉及两个问题,一是 8路模拟信号通道选择,二是 A/D转换完成后转换数据的传送。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
CLOCK
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
ADC0809 的接口
8 路模拟信号通道选择线的连接方法有 2 种:与DB连接和
与 AB连接。
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
CLOCK
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
ADC0809 的接口方法
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number RevisionSize
B
Date: 13-Feb-1999 Sheet of File: C:\My Documents\¿¼ÊÔ\Ìâͼ.ddb Drawn By:
EA/VP31
X119
X218
RESET9
RD17
WR16
INT012INT1
13
T014
T115
P101
P112
P123
P134
P145
P156
P167
P178
P0039
P01 38
P0237
P0336
P0435
P0534
P0633
P0732
P2021
P2122
P2223
P2324
P24 25
P2526
P26 27
P2728
PSEN 29
ALE/P30
TXD11
RXD10
8051
D03
Q02
D14 Q1 5
D27
Q26
D38
Q39
D413
Q412
D514
Q515
D617
Q616
D718
Q719
OE1
LE11
74HC373
IN-026
msb2-121
2-220
IN-127
2-319
2-418
IN-228
2-58
2-615
IN-31
2-714
lsb2-817
IN-4 2
EOC7
IN-5 3ADD-A
25
IN-64
ADD-B24
ADD-C23
IN-75ALE
22
ref(-) 16ENABLE
9
START6
ref(+)12
CLOCK10
ADC0809
GND
DB0DB1DB2
DB0DB1DB2
12
3 A
74ALS02
12
3 A
74ALS02
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
ADC0809 的接口方法
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number RevisionSize
B
Date: 13-Feb-1999 Sheet of File: C:\My Documents\¿¼ÊÔ\Ìâͼ.ddb Drawn By:
EA/VP31
X119
X218
RESET9
RD17
WR16
INT012INT1
13
T014
T115
P101
P112
P123
P134
P145
P156
P167
P178
P0039
P01 38
P0237
P0336
P0435
P0534
P0633
P0732
P2021
P2122
P2223
P2324
P24 25
P2526
P26 27
P2728
PSEN 29
ALE/P30
TXD11
RXD10
8051
D03
Q02
D14 Q1 5
D27
Q26
D38
Q39
D413
Q412
D514
Q515
D617
Q616
D718
Q719
OE1
LE11
74HC373
IN-026
msb2-121
2-220
IN-127
2-319
2-418
IN-228
2-58
2-615
IN-31
2-714
lsb2-817
IN-4 2
EOC7
IN-5 3ADD-A
25
IN-64
ADD-B24
ADD-C23
IN-75ALE
22
ref(-) 16ENABLE
9
START6
ref(+)12
CLOCK10
ADC0809
GND
DB0DB1DB2
DB0DB1DB2
12
3 A
74ALS02
12
3 A
74ALS02
AB0AB1AB2
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
ADC0809 的接口
A/D 转换后得到的是数字量的数据,这些数据应传送给单片机进行处理。数据传送的关键问题是如何确认 A/D 转换完成,因为只有确认数据转换完成后,才能进行传送。为此,可采用下述三种方式。
1) 定时传送方式
2) 查询方式
3) 中断方式
地址锁存
与译码
8位
A/D转换器
输出锁存与缓冲
IN0IN1IN2IN3IN4IN5
D0D1D2D3D4D5D6D7
IN6IN7
ADDBADDA
ADDC
ALE
OESTART
EOC
Vref+Vref-
CLOCK
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
对于一种 A/D 转换器来说,转换时间作为一项技术指标是已知的和固定的。例如 ,ADC0809 转换时间为 128 μs ,相当于 6 MHz 的MCS-51 单片机 R 64 个机器周期。可据此设计一个延时子程序, A/D 转换启动后即调用这个延时子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 在这种方式下, EOC 引脚悬空。
定时传送方式
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number RevisionSize
B
Date: 13-Feb-1999 Sheet of File: C:\My Documents\¿¼ÊÔ\Ìâͼ.ddb Drawn By:
EA/VP31
X119
X218
RESET9
RD17
WR16
INT012INT1
13
T014
T115
P101
P112
P123
P134
P145
P156
P167
P178
P0039
P01 38
P0237
P0336
P0435
P0534
P0633
P0732
P2021
P2122
P2223
P2324
P24 25
P2526
P26 27
P2728
PSEN 29
ALE/P30
TXD11
RXD10
8051
D03
Q02
D14 Q1 5
D27
Q26
D38
Q39
D413
Q412
D514
Q515
D617
Q616
D718
Q719
OE1
LE11
74HC373
IN-026
msb2-121
2-220
IN-127
2-319
2-418
IN-228
2-58
2-615
IN-31
2-714
lsb2-817
IN-4 2
EOC7
IN-5 3ADD-A
25
IN-64
ADD-B24
ADD-C23
IN-75ALE
22
ref(-) 16ENABLE
9
START6
ref(+)12
CLOCK10
ADC0809
GND
DB0DB1DB2
DB0DB1DB2
12
3 A
74ALS02
12
3 A
74ALS02
Northwest A&F University
查询传送方式
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number RevisionSize
B
Date: 13-Feb-1999 Sheet of File: C:\My Documents\¿¼ÊÔ\Ìâͼ.ddb Drawn By:
EA/VP31
X119
X218
RESET9
RD17
WR16
INT012INT1
13
T014
T115
P101
P112
P123
P134
P145
P156
P167
P178
P0039
P01 38
P0237
P0336
P0435
P0534
P0633
P0732
P2021
P2122
P2223
P2324
P24 25
P2526
P26 27
P2728
PSEN 29
ALE/P30
TXD11
RXD10
8051
D03
Q02
D14 Q1 5
D27
Q26
D38
Q39
D413
Q412
D514
Q515
D617
Q616
D718
Q719
OE1
LE11
74HC373
IN-026
msb2-121
2-220
IN-127
2-319
2-418
IN-228
2-58
2-615
IN-31
2-714
lsb2-817
IN-4 2
EOC7
IN-5 3ADD-A
25
IN-64
ADD-B24
ADD-C23
IN-75ALE
22
ref(-) 16ENABLE
9
START6
ref(+)12
CLOCK10
ADC0809
GND
DB0DB1DB2
DB0DB1DB2
12
3 A
74ALS02
12
3 A
74ALS02
单片机启动 0809 后,延迟 10us ,检测 EOC ,若 EOC=0 则A/D 转换没有结束,继续检测 EOC ,直到 EOC=1 。当 EOC=1 时,A/D 转换已经结束,单片机读取 A/D 转换结果。 在这种方式下, EOC 必须接到 8051 的一条 I/O 线上。
P1.0
Northwest A&F University
中断传送方式
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number RevisionSize
B
Date: 13-Feb-1999 Sheet of File: C:\My Documents\¿¼ÊÔ\Ìâͼ.ddb Drawn By:
EA/VP31
X119
X218
RESET9
RD17
WR16
INT012INT1
13
T014
T115
P101
P112
P123
P134
P145
P156
P167
P178
P0039
P01 38
P0237
P0336
P0435
P0534
P0633
P0732
P2021
P2122
P2223
P2324
P24 25
P2526
P26 27
P2728
PSEN 29
ALE/P30
TXD11
RXD10
8051
D03
Q02
D14 Q1 5
D27
Q26
D38
Q39
D413
Q412
D514
Q515
D617
Q616
D718
Q719
OE1
LE11
74HC373
IN-026
msb2-121
2-220
IN-127
2-319
2-418
IN-228
2-58
2-615
IN-31
2-714
lsb2-817
IN-4 2
EOC7
IN-5 3ADD-A
25
IN-64
ADD-B24
ADD-C23
IN-75ALE
22
ref(-) 16ENABLE
9
START6
ref(+)12
CLOCK10
ADC0809
GND
DB0DB1DB2
DB0DB1DB2
12
3 A
74ALS02
12
3 A
74ALS02
单片机启动 A/D 转换后可以做其它工作,当 A/D 转换结束时, EOC 由 0---1 经过非门传到 INT 端, 8051 收到中断请求信号,若 8051开着中断,则进入中断服务程序,在中断服务程序中单片机读取 A/D 转换的结果。 在这种方式下, EOC 必须经过非门接到 8051 的中断请求输入线 INT0 或 INT1 上, 89C51 的中断触发方式为下降沿触发。
INT0
Northwest A&F University
例:用 ADC0809 的 IN7 通道连续采集 40 个数据,存于内 RAM 中以 50H
为起始地址的单元中。试编程。 MOV R0 , #50H ;内 RAM 首地址 MOV R7 , #40 ;采集 40 个数据 MOV R2,#07H ;通道 IN7 地址号 MOV DPTR,#0000H ; 0809 的地址UP:MOV A,R2
MOVX @DPTR,A ;启动 A/D 转换 LCALL D1MS ;等待 A/D 转换结束 MOVX A,@DPTR ;读取 A/D 转换结果 MOV @R0,A ;存入内 RAM
INC R0 ;修改内 RAM 单元地址 DJNZ R7,UP
SJMP $
定时方式单路数据采集
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
例:用 ADC0809 的 IN7 通道连续采集 40 个数据,存于内 RA
M 中以 50H 为起始地址的单元中。试编程。 MOV R0 , #50H ;内 RAM首地 MOV R7 , #8 ;采集 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,@DPTR ;读取 A/D 转换结果 MOV @R0,A ;存入内 RAM INC R0 ;修改内 RAM 单元地址 DJNZ R7,UP SJMP $
查询方式单路数据采集
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才
Northwest A&F University
例:用 ADC0809 的 IN7 通道连续采集 40 个数据,存于内 RAM 中以 50H 为起始地址的单元中。试编程。
ORG 0000HLJMP MAINORG 0003HLJMP AINTMAIN: MOV IE,#81HMOV R0 , #50H MOV R7 , #40MOV R2,#00HMOV DPTR,#0000HMOV A,R2MOVX @DPTR,A ;启动 A/D 转换SJMP $ ;等待中断
中断方式单路数据采集
AINT: MOVX A,@DPTR
MOV @R0,A ;存入内 RAM
INC R0 ;修改内 RAM 单元地址 DJNZ R7,AINT0
RETI
AINT0: MOV A,R2
MOVX @DPTR,A ;再次启动 A/D 转换 RETI
基于 KEIL 和 PROTEUS 的单片机技术 侯俊才