模块八
DESCRIPTION
模块八. 80C51 的测控接口. 本章主要内容. 80C51 与常用 D/A 转换器 的接口方法. 80C51 与常用 A/D 转换器 的接口方法. 80C51 开关量接口 方法. A/D 、 D/A 转换. 传感器. A/D. D/A. 数字控制 系统. 模拟 控制器. 典型的数字控制系统. 一、 D/A 转换器及其与单片机接口. ◇. D/A 转换器作用. ◇. D/A 转换器的基本原理. D/A 转换器的主要技术性能指标. ◇. ◇. DAC0832 芯片及其与单片机的接口. 1 、 D/A 转换器作用. - PowerPoint PPT PresentationTRANSCRIPT
80C51 的测控接口
80C51 与常用 D/A 转换器的接口方法本章主要内容 80C51 开关量接口方法
模块八
80C51 与常用 A/D 转换器的接口方法
A/D 、 D/A 转换
传感器 A/D数字控制系统 D/A
模拟控制器
典型的数字控制系统典型的数字控制系统
一、 D/A 转换器及其与单片机接口
◇ D/A 转换器作用D/A 转换器的基本原理D/A 转换器的主要技术性能指标
DAC0832 芯片及其与单片机的接口
◇
◇
◇
1 、 D/A 转换器作用▼将数字量转换为模拟量,以便操纵控制对象。
单片机 D/A 转换 控制对象
如:单片机输出不同的数字量经 D/A 转换后加给直流电机,即可控制电机的转速。
2 、 D/A 转换器的基本原理
▼将数字量的每一位都转换为相应的模拟量,然后对其求和即可以得到与该数字量成正比的模拟量。
▼数 / 模转换器( DAC )是一种把数字信号转换成模拟信号的器件。
▼常用的 DAC 是由 T 形电阻网络构成的,称为 T 形电阻网络 D/A 转换器。
T 形电阻网络 D/A 转换器
D0D1D2D3D4D5D6D7
Rfb
2R2R2R2R2R2R2R
-+ VO
I1I2I3I4I5I6I7I
2R
I0
I0I1I2I3I4I5I6I7
2R
0 10 10 10 10 10 10 10 1
I=VREF/ R I7=I/21 I6=I/22 I5=I/23
I3=I/25 I2=I/26 I1=I/27
I4=I/24
I0=I/28 V0 =- I01×Rfb
IO1
IO2
若 Rfb=R, 则 V0 =- I01×Rfb
▼ 当输入数据 D7 ~ D0 为 1111 1111B 时,有:I01=I7+I6+I5+I4+I3+I2+I1+I0
=(I/28) ×(27+26+25+24+23+22+21+20)
▼ 当输入数据 D7 ~ D0 为 1100 0011B 时,有:I01=I7+I6+I1+I0
=(I/28) ×(27+26+21+20)
=-(VREF/28) ×(27+26+21+20)
可见,输出电压 V0 的大小与数字量具有对应的关系。
I=VREF/ R I7=I/21 I6=I/22 I5=I/23
I3=I/25 I2=I/26 I1=I/27
I4=I/24
I0=I/28 V0 =- I01×Rfb
3 、 D/A 转换器的主要技术性能指标
▼转换速度:一般几十微秒到几百微秒,快速的可达 1微秒。
▼分辨率 : 输入数字量的最低有效位( LSB )发生变化时,所对应的输出模拟量(常为电压)的变化量。它反映了输出模拟量的最小变化值。
对于 5V 的满量程,采用 8 位的 DAC
时: ◆ 分辨率为 5V/28 = 19.5mV
当采用 12位的 DAC时◆ 分辨率则为 5V/212 = 1.22mV
4 、典型 DAC 芯片 : DAC0832
输入锁存器
DAC寄存器
D/A转换器
&
&
&
WR1
WR2
XFER
CS
ILE
VREF
IOUT2
IOUT1
Rfb
AGND
VCC
LE1 LE2
DI7~DI0
1 ) DAC0832 引脚
20
19
18
17
16
15
14
13
12
11
1
2
3
4
5
6
7
8
9
10
DA
C08
32
CS
WR1
DI3
DI2DI1
DI0VREF
Rfb
DGND
AGND
VCC
ILE
WR2
DI4
DI5
DI6
DI7IOUT2
IOUT1
:输入寄存器选通信号CS
XFER
: DAC 寄存器选通信号
XFER
WR1 :输入寄存器写信号
WR2: DAC 寄存器写信号ILE:输入寄存器锁存信号
DI0~DI7 :数字量输入端IOUT2 、 Iout1:电流输出引脚
DGND:数字信号地AGND:模拟信号地
2 ) DAC0832 的工作方式
输入锁存器
DAC寄存器
D/A转换器
&
&
&
CS
WR1
WR2
XFER
ILE
VREF
IOUT2
IOUT1
Rfb
AGND
VCC
LE1 LE2
DI7~DI0
▼DAC0832 是一个八位 D/A 转换器,转换时间 1us 。
输入锁存器
DAC寄存器
D/A转换器
&
&
&
CS
WR1
WR2
XFER
ILE
VREF
IOUT2
IOUT1
Rfb
AGND
VCC
LE1 LE2
DI7~DI0
因此因此 DAC0832DAC0832 有三种工作方式:有三种工作方式:单缓冲、双缓冲、直通单缓冲、双缓冲、直通
LE1LE1 或或 LE2=1LE2=1 ,当前寄存器的输出跟随输入的数据,当前寄存器的输出跟随输入的数据 (( 直直通通 ))
LE1LE1 或或 LE2=0LE2=0 ,锁存数据,锁存数据 (( 锁存锁存 ))
DA
C08
32
3) DAC0832 与 80C51 单片机的接口① 单缓冲方式接口电路---- 将两级寄存器的控制信号并接在一起,相当于控制一级寄存器(线选译码地址 7FFFH )。
CS
XFER
WR1
WR2
ILE
Rfb
IOUT1
IOUT2
80C
51
DI7~DI0
P2.7
P0
WR
+5V
VO+
-
① 单缓冲方式接口电路
DA
C08
32
CS
XFER
WR1
WR2
ILE
Rfb
IOUT1
IOUT2
80C
51
DI7~DI0
P2.7
P0
WR
+5V
VO+
-
▼ 执行下面指令就能完成一次 D/A 转换:MOV DPTR,#7FFFH
MOV A,#DATA
MOVX @DPTR,A ; 启动 D/A 转换
;指向 DAC0832 口地址
单缓冲方式的应用 1
---------- 产生锯齿波产生锯齿波
A=00H
A=0FFH
ORG 0030H
START : MOV DPTR , #7FFFH ;选中 0832MOV A , #00H ; D/A 数据初值
LP : MOVX @DPTR,A ;转换INC A ;修改 D/A 数据
SJMP LP ;循环,输出连续模拟量
源程序清单源程序清单 ::
产生锯齿波产生锯齿波的过程示意
1/28
0
2/28
3/28
254/28
255/28
··
·
单缓冲方式的应用 2------ 产生三角波产生三角波
A=00H
A=0FFH
A=00H
A=0FFH
A=00H
ORG 2000HSTART : MOV DPTR , #00FEH ;选中 0832
MOV A , #00H ; D/A 数据初值UP : MOVX @DPTR , A ;转换
INC A ;修改 D/A 数据(上升)JNZ UP ;未上升到最大值,继续
DOWN : DEC A ;否则,修改 D/A 数据(下降) MOVX @DPTR , A ;转换JNZ DOWN ;未下降到最小值,继续SJMP UP ;一个周期结束,继续
源程序清单源程序清单 ::
DA
C08
32(
2)
DA
C08
32(
1)
② 双缓冲方式接口电路CS
XFER
WR1
WR2
ILE
Rfb
IOUT1
IOUT2
80C
51
DI7~DI0
P2.5
P0
WR
+5V
+
-
VO
CS
XFER
WR1
WR2
ILE
Rfb
IOUT1
IOUT2DI7~DI0
+5V
+
-
VO
P2.6
P2.7
▼完成两路 D/A 同步输出的程序如下:双缓冲方式接口电路程序设计
MOV DPTR, #7FFFH
MOVX @DPTR,A
MOV DPTR, #0DFFFH
MOV A,#data1MOVX @DPTR,A
MOV DPTR, #0BFFFH
MOV A,#data2MOVX @DPTR,A
; data1 送入 (1) 输入锁存器
; data2 送入 (2) 输入锁存器
;完成 D/A 转换输出
DA
C08
32
③ 直通方式
CS
XFER
WR1
WR2
ILE
Rfb
IOUT1
IOUT2
80C
51
DI7~DI0P0
+5V
+
-
VO
▼ 当 CS XFER WR1 WR2、 、 、 引脚全部接地,
ILE 引脚接+ 5V,数字量一旦输入,就直接进入 DAC
寄存器,进行 D/A 转换。
二、 A/D 转换器及其与单片机的接口
◇ A/D 转换器作用
典型 8 位 A/D 芯片 ADC0809
典型 12 位 A/D 芯片 AD574A
◇
◇
◇ A/D 转换器工作原理
1 、 A/D 转换器作用▼将模拟量转换为数字量,以便单片机接收处理。
传感器 A/D 转换 单片机
◆逐次逼近式 A/D 转换器
◆双积分式 A/D 转换器
2 、 A/D 转换器工作原理
逐次逼近式 A/D 转换器原理图
▼按工作原理分, ADC 的主要种 类有:逐次逼近式、双积分式、计数比较式和并行式。
控制逻辑
锁存器
D/A 转换器
N 位寄存器
VREF
D0
VIN
START
EOC
D7...
逐次逼近式 ADC 转换过程:
▼模拟量 VX送到比较器后,启动 A/D 转换,先设N位寄存器的最高位( DN-1 )为 1,其余位为 0,进行 D/A 转换,得到的模拟量 VN与输入 VX比较。
若 VN ≤VX ,再设次高位( DN-2 )为 1,继续…若 VN V≧ X,先清零 DN-1 ,再设次高位 DN-2 为 1,继续
…▼如此反复,经过 N次比较后,最后一位 D0得到确定,此时, N位寄存器的内容就是转换 好的数字量,而 EOC 输出转换结束信号,在输出允许 OE (高电平)有效时,数字量经输出缓冲器读出。
3 、 A/D 转换器的主要技术指标▼ 分辨率◆指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。◆如一个 10V 满刻度的 12 位 ADC 能分辨输入电压变化最小值是 10V×1/212= 2.4mV 。
▼ 量化误差
◆ADC 把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。
◆量化误差是 ADC 的有限位数对模拟量进行量化而引起的误差。
4 、典型 8 位 ADC 芯片 : ADC0809
▼ADC0809 是八位逐次逼近式,单片 CMOS集成A/D 转换器。
▼转换速度取决于芯片外接的时钟频率。
时钟频率范围: 10 ~ 1280KHz 。典型值为时钟频率 640KHz ,转换时间为 100us 。
8
1) ADC0809 的内部结构
8 路模拟开关
地址锁存与译码
8 位A/D转换器
三态输出锁存器
IN7
~
IN0
CBA
ALE
D7D6D5D4D3D2D1D0
EOC
CLKSTART
VR(-)VR(+)
OE
2) ADC0809 通道选择表
C B A 选择的通道0 0 0 IN0
0 0 1 IN1
0 1 0 IN2
0 1 1 IN3
1 0 0 IN4
1 0 1 IN5
1 1 0 IN6
1 1 1 IN7
3 ) ADC0809 引脚
2827262524232221201918171615
123456789
1011121314
AD
C08
09
IN3IN4IN5IN6IN7
IN2IN1IN0ABCALED7D6D5D4D0VR(-)
D2D1
GND
VR(+)
VCCCLKOED3
EOCSTART
C 、 B 、 A : 8 路模拟开关的地址选通信号输入端;ALE :地址锁存允许信号输入端CLK :时钟信号输入端;START :启动 A/D 转换控制信号输入端EOC :转换结束信号输出端
IN0~IN7 : 8路模拟量输入端
VR(-) 、 VR(+) :分别为基准电源的正、负输入端。
OE :输出端允许控制端;
D0~D7 : 8路数字量输出端
4 ) ADC0809 与单片机的接口电路
74L
S37
3
AD
C08
09
80C
31
ALE
P0
EA
WR
RD
CBAD0~D7
OE
D7
…
D0
Q7
…
Q0
≧1
≧11
P2.7
P3.3
STARTALEOE
EOC
CLKCP Q
D Q
IN7IN6IN5IN4IN3IN2IN1IN0
A/D 转换程序 (查询方式)
MOV R1,#DATA ;置数据区首地址MOV DPTR,#7FF8H ; 指向 0通道MOV R7, # 08H ;置通道数MOVX @DPTR,A; 启动 A/D 转换JB P3.3,HER ;查询 A/D 转换结束MOVX A,@DPTR ;读取 A/D 转换结果MOV @R1,A ; 存储数据INC DPTR ; 指向下一个通道INC R1; 修改数据区指针
DJNZ R7 , LOOP ; 8 个通道转换完否
LOOP:
HER :
▼对8路模拟信号轮流采样一次,并依次把转换结果存储到片内 RAM以 DATA 为起始地址的连续单元中。
A/D 转换程序 ( 中断方式) ORG 0013H ;中断服务程序入口 AJMP PINT1 ; 主程序
MOV R1, #DATA ;置数据区首地址SETB IT1 ; 为边沿触发方式SETB EA ;开中断SETB EX1 ;允许中断
MOV DPTR , #7FF8H ;指向 IN0 通道MOVX @DPTR , A ;启动 A/D 转换
SJMP $ ;等待中断
A/D 转换程序 ( 中断方式); 中断服务程序
PINT1 : PUSH DPL
MOVX A , @DPTR ;读取转换后数据MOV @R1 , A ;数据存入以 DATA 为首地址的 RAM中
INC R1 ;修改数据区指针MOVX @DPTR , A ;再次启动 A/D 转换
RETI
MOV DPTR, #7FF8H
PUSH DPH
POP DPH
POP DPL
5 、 AD574A 芯片及其与单片机接口12/8 :控制是 12 位还是 8位数据并行输出
/CS :片选信号,低电平有效
CE:芯片启动信号
R/C : 读 / 转换选择。
A0:字节选择控制
STS: 转换状态信号
VLOG 1
2
3
4
56
78
9
10
11
12
13
14 15
16
17
18
19
20
21
22
2324
25
26
27
28
12//CS
A0
R/CE
VCC
REFOUTAG
REFINVEE
BIPOFF
10VIN
20VIN DG
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
DB8
DB9
DB10
DB11
STS
8
C
AD574
表 8.1 AD574A 各控制输入脚功能
CE CS R/C 12/8 A0 功能说明0 × × × × 不起作用× 1 × × × 不起作用1 0 0 × 0 启动 12位转换1 0 0 × 1 启动 8位转换1 0 1 接引脚 1 × 12 位数据并行输
出1 0 1 接引脚 15 0 高 8 位数据输出
1 0 1 接引脚 15 1 低 4位数据尾接 4位 0输出
AD574A 的单极性和双极性输入
REFIN
REFOUT
BIPOFF
AD574
10VIN
20VINDG
AG
100Ω
100K
100Ω
+15V
-15V
100K
0~10V
0~20V
R2
R1
REFIN
REFOUT
BIPOFF
AD574
10VIN
20VINDG
AG
100Ω +15V
R2
R1
-5~+5V
-10~+10V
a)( 单极性接法b)( 双极性接法
100Ω
单极性输入:
D=4096VIN/VFSVIN=DVFS/4096 ( D为无符号二进制码)双极性输入:
D=2048(1+2VIN/VFS)
VIN=(D/2048-1)VFS/2 ( D为 12 位偏移二进制码)
以上式中, VIN为输入模拟量( V), VFS 是满量程
AD574A 与 8031 单片机的接口
REFIN
REFOUT
BIPOFF
AD57
4
10VIN
20VIN
AG
100Ω
R2
R1
-5~+5V
-10~+10V
100Ω
12/ 8
C
DG
/CS
A0
R/
DB11...
DB4
DB3DB2DB1DB0
CE
STS
+
ALE
P0.7...
P0.0
/EA
/WR/RD
P1.0
G
D7...D0
/OE
Q7...Q0
80C3174
LS37
3
控制地址表
功能 P2.7~P2.0
P0.7~P0.3
P0.2
P0.1
P0.0 地址
/CS A0 R/C
启动转换 × × 0 0 0 FFF8H
读高 8 位 × × 0 0 1 FFF9H
读低 4位 × × 0 1 1 FFFBH
AD574A 的转换程序 AD574A : MOV DPTR,#0FFF8H; 送端口地址 MOVX @DPTR,A ; 启动 AD574A SETB P1.0 ;置 P1.0 为输入方式 LOOP:JB P1.0,LOOP ;检测 P1.0 接口 INC DPTR; 使 R/C 为 1 MOVX A,@DPTR;读取高 8 位数据 MOV 41H,A ;高 8 位内容存入 41H单元 INC DPTR;使 R/C 、 A0均为 1 INC DPTR; MOVX A,@DPTR ;读取低 4位 MOV 40H,A; 将低 4位内容存入 40H单元
三、开关量输出接口
◇ 输出口的隔离
◇ 继电器输出接口
◇ 数字地与模拟地的连接原则
1 、输出口的隔离▼ 在单片机应用系统中,为防止现场强电磁的干扰或工频电压通过通道反串到测控系统,一般采用通道隔离技术。输出信道的隔离最常用的组件是光耦合器,简称光耦。
2 、继电器输出接口▼ 通过继电器输出,可完成从低压直流到高压交流的过渡。在经光耦合器光电隔离后,直流部分给继电器控制线圈供电,而其输出触点则可直接于 220V市电相接。
继电器的引脚内部图
a b
cL1 L2
常闭接点( NC 接点)
常开接点( NO 接点)
使用晶体管驱动继电器( 1)
1K
a
b
c
接至 P1 、P2 或 P3
VCCP1 、 P2 、
P3适用 继电器 ▼二极管 D提供继电器线圈电流的放电路径,以防护晶体管。
▼由于线圈属于电感性负载,当晶体管截止时,而原本线 圈上的电流不可能瞬间降为 0,所以二极管 D 就提供一个放电路径,使线圈不会产生高的感应电势,就不会破坏晶体管了。
使用晶体管驱动继电器( 2)
a
b
c
1K
接至 P0
VCCP0适用
继电器
▼7405 驱动 5V 的继电器;
VCC
▼7406驱动较高电压的继电器,最高 30V 。
继电器应用实例
a
b
c
1K
+12V
继电器
80C51
P1.0
电灯泡110V/40W
~220V
3 、数字地与模拟地的连接原则
▼数字地是指 TTL 或 CMOS 芯片、 I/O 接口电路芯片、 CPU 芯片等数字逻辑电路的接地端,以及 A/D 、D/A 转换器的数字地。
▼模拟地是指放大器、取样保持器和 A/D 、 D/A 中模拟信号的接地端。
▼ 在单片机系统中,数字地和模拟地应分别接地。即使是一个芯片上有两种地也要分 别接地,然后在一点处把两种地连接起来。
J
R
R
光耦合器 继电器输出接口
a)( (b)
模块八小结
1 、 D/A 、 A/D 转换器是计算机测控系统中常用的芯片,它们可以把数字信号转换成模拟信号输出到外部设备,或把模拟信号转换成数字信号输入到计算机。
2、 D/A 转换器主要由基 准电压、模拟电子开关、电阻解码网络和运算放大器组成。从分辨率来说,有 8位、 10位、 12位、16位之分。位数越多,分辨率越高。
3、 DAC0832 是一种 8位的 D/A 转换器,输出为电流型,如果需要转换结 果为电压,则需外接电流-电压转换电路。 DAC0832有三种工作方式,改变 ILE 、 /WR1 、 /WR2 和 /XFER的连接方式,可使 DAC0832 工作于单缓冲器、双缓冲器及直通方式。
4、 D/A 、 A/D 转换器是计算机测控系统中常用的芯片,它们可以把数字信号转换成模拟信号输出到外部设备,或把模拟信号转换成数字信号输入到计算机。
5、 A/D 转换器的种类有逐次逼近式、双积分式、计数比较式等。ADC0809是逐次逼近式, 8位 8通道 A/D 转换器,片内带有三态输出缓冲器,其数据输出线可与单片机的数据总线直接相连。单片机读取 A/D 转换结果,可以采用中断方式或查询方式。
6、开关量的输出控制着开关类器件,如继电器、电磁阀、晶体管开关、固态继电器等。考虑到电磁干扰和功率驱动问题,开关量的输出接口要采用 隔离技术和驱动技术,常用的隔离技术是光电隔离,驱动器件常用 OC门、集成驱动芯片、三极管等。
模块八作业
P205
题 4、 6 加油,努力!