第11章 51单片机与DA、AD 转换器的接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4)EA 为片内、片外程序存储器的选择控制信号。
AT89S51的4个并行I/O口,如果用于片外系统并行扩展的 需要,真正作为数字I/O用,就剩下P1和P3的部分口线了。
8
A/D转换器(ADC) D/A转换器(DAC)用途
A/D转换器(ADC)--将模拟量转换成数字量的器件
用在单片机测控系统的前向通道中:
18
图11-1 DAC0832的引脚图
19
图11-2
DAC0832的逻辑结构
20
“8位输入寄存器”用于存放单片机送来的数字量,使输入数字
量得到缓冲和锁存,由LE1
加以控制;
控制;
LE2 “8位DAC寄存器”用于存放待转换的数字量,由
21
引脚功能:
DI0~DI7: 8位数字信号输入端,与单片机的数据总线P0口相连,用于接 收单片机送来的待转换为模拟量的数字量。
16
51单片机与8位D/A转换器0832的接口设计
1.DAC0832芯片介绍 (1)DAC0832的特性
美国国家半导体公司的DAC0832芯片,是具有两个输入
数据寄存器的8位DAC,它能直接与51单片机连接。
17
主要特性如下。
① 分辨率为8位。 ② 电流输出,建立时间为1s。 ③ 可双缓冲输入、单缓冲输入或直接数字输入。 ④ 单一电源供电(+5V~+15V)。 ⑤ 低功耗,20mW。 (2)DAC0832的引脚及逻辑结构 引脚如图11-1所示,DAC0832的逻辑结构如图11-2所示。
15
(3)转换精度
理想情况下,转换精度与分辨率基本一致,位数越多 精度越高。 实际,由于电源电压、基准电压、电阻、制造工艺等 各种因素存在着误差。因此,转换精度与分辨率并不完全 一致。 位数相同,分辨率则相同,但相同位数的不同转换器转换
精度会有所不同。
例如,某种型号的8位DAC精度为0.19%,而另一种 型号的8位DAC精度为0.05%。
36
对X-Y绘图仪的控制:
X-Y绘图仪由X、Y两个方向的步进电机驱动,其中一 个电机控制绘笔沿X方向运动;另一个电机控制绘笔沿Y方 向运动。 DAC输出的模拟电压Vx和Vy来控制X-Y绘图仪,把Vx 和Vy分别加到X-Y绘图仪的X通道和Y通道。 要求两路模拟信号要同步输出,使绘制的曲线光滑。
如果不同步输出,例如先输出X通道的模拟电压,再输出
XFER =0,WR 2 =0时,输入寄存器中待转换的数据传入
8位DAC寄存器中。
23
IOUT1:D/A转换器电流输出1端.
输入数字量全为“1”时,IOUT1最大, 输入数字量全为“0”时,IOUT1最小。 IOUT2:D/A转换器电流输出2端,IOUT2 + IOUT1 = 常数。 Rfb:外部反馈信号输入端,内部已有反馈电阻Rfb,根据 需要也可外接反馈电阻。 VCC:电源输入端,在+5V~+15V范围内。 DGND:数字信号地。 AGND:模拟信号地,最好与基准电压共地。
被测量的温度、压力、流量、速度等非电物理量, 须经传感器先转换成模拟电信号, 再经A/D转换器转换成数字量后, 才能在单片机中用软件进行处理。
D/A转换器(DAC)--将数字量转换为模拟信号的器件
用在单片机测控系统的后向通道中。
9
AT89S51单片机与DAC的接口
部分的单片机芯片内集成了D/A转换器;
2
51单片机片外并行扩展(接口)结构
AT89S51单片机采用总线结构, 扩展片外 ROM RAM I/O设备.
图11-1 AT89S51单片机的片外并行系统扩展结构
3
并行系统扩展主要包括存储器扩展和I/O接口部件扩展。
(1)程序存储器扩展、数据存储器扩展独立编址:
AT89S51单片机采用程序存储器空间和数据存储器空间分
11
(2)D/A转换器与单片机的接口形式
早期采用8位数字量并行传输的并行接口 目前,除并行接口外,带有串行口的D/A转换器品种也
不断增多。 通用的UART串行口、I2C串行口和SPI串行口等。
12
2.DAC主要技术指标
(1)分辨率
单片机输入给D/A转换器的单位数字量的变化,所引起的模拟量 输出的变化. 定义为输出满刻度值与2n之比(n为D/A转换器的二进制位数)。 习惯上用输入数字量的二进制位数表示。 位数越多,分辨率越高,即D/A转换器对输入量变化的敏感程 度越高。
A, #DATAY;
MOVX @DPTR, A
MOV
DPTR, #0XXX XXXX XXXX XXXXB
LOOP:MOVX @DPTR,A INC SJMP A LOOP
28
当输入数字量从0开始,逐次加1进行D/A转换,模拟量
与其成正比输出。当A = FFH时,再加1则溢出清0,模拟输
出又为0,然后又重新重复上述过程,如此循环,输出的波 形就是锯齿波,如图11-4所示。 每一上升斜边要分成256个小台阶,每个小台阶暂留时间 为执行后三条指令所需要的时间。因此 “INC A”指令后
第11章
51单片机与D/A、 A/D 转换器的接口
1
第11章
目录
11.0 51单片机片外并行扩展(接口)结构 11.1 AT89S51单片机与DAC的接口
11.1.1 D/A转换器简介
11.1.2 AT89S51单片机与8位D/A转换器0832的接口设计 11.2 AT89S51单片机与ADC的接口 11.2.1 A/D转换器简介 11.2.2 AT89S51与逐次比较型8位A/D转换器ADC0809的接口
14
(2)建立时间
描述D/A转换器转换快慢的参数,用于表明转换速度。 其值为从输入数字量到输出达到终值误差 (1/2)LSB时所 需的时间。 电流输出的转换时间较短; 电压输出的转换器,由于要加上完成 I-V 转换的运算放大 器的延迟时间,转换时间要长一些。
快速D/A转换器的转换时间可控制在1s以下。
Y通道的模拟电压,则绘图笔先向X方向移动,再向Y方向 移动,此时绘制的曲线就是阶梯状的。
37
38
ORG
MOV MOV
2000H
DPTR, #1XXX XXXX XXXX XXX0B; A, #DATAX;
MOVX @DPTR, A
MOV
DPTR, #1XXX XXXX XXXX XXX1B;
MOV
开的哈佛结构。扩展后,系统形成了两个并行的外部存储
器空间。 (2)I/O接口部件扩展与数据存储器扩展统一编址。
4
系统扩展以AT89S51为核心,通过总线把单片机与各扩展部
件连接起来。
进行系统扩展首先要构造系统总线。 (1)地址总线(Address Bus,AB):用于传送单片机发出 的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单 元的选择。
13
例 8位的D/A转换器,若满量程输出为10V,求分辨率。
根据定义,分辨率为: 10V/2n=10V/256=39.1mV 即输入的二进制数最低位的变化(常用符号1LSB表示),可引 起输出的模拟电压变化39.1mV,该值占满量程的0.391%。 同理: 10位D/A转换 12位D/A转换 16位D/A转换 1 LSB = 9.77mV = 0.1%满量程 1 LSB = 2.44mV = 0.024%满量程 1 LSB = 0.076mV = 0.00076%满量程
MOVX @DPTR,A LCALL DELAY1 MOV A,#data2
MOVX @DPTR,A LCALL DELAY2 SJMP LOOP
33
图11-6 DAC0832产生的矩形波输出
输出的矩形波如图11-6所示。 DELAY1、DELAY2为 两个延时程序,分别决定输出的矩形波高、低电平时的持 续宽度。矩形波频率也可用延时方法改变。
34
图11-4 单缓冲方式下单片机与DAC0832的接口电路
35
(2)双缓冲方式
多路的D/A转换要求同步输出,必须采用双缓冲同步方式。
数字量的输入锁存和D/A转换输出是分两步完成的:
单片机必须通过 LE1 来分别锁存待转换的多路数字量,
通过 LE2 来同时启动多路D/A转换。 AT89S51单片机和DAC0832在双缓冲方式下的连接如图 11-7所示。
(2)数据总线(Data Bus,DB):用于单片机与外部存储
器之间或与I/O接口之间传送数据,数据总线是双向的。 (3)控制总线(Control Bus,CB):控制总线是单片机发 出的各种控制信号线。
5
1.P0口作为低8位地址/数据总线
AT89S51受引脚数目限制,P0口既用作低8位地址总线,又 用作数据总线(分时复用),因此需增加一个8位地址锁存器。 AT89S51访问外部扩展的存储器单元或I/O接口寄存器时: 先发出低8位地址送地址锁存器锁存,锁存器输出作为系统 的低8位地址(A7~ A0)。 随后,P0口又作为数据总线口(D7~ D0),如图11-2所示。 2.P2口的口线作为高位地址线
Hale Waihona Puke Baidu
DOWN:DEC
MOVX @DPTR,A JNZ DOWN
SJMP UP
31
图11-5 DAC0832产生的三角波输出
32
③ 矩形波的产生
ORG START: MOV LOOP: MOV 2000H DPTR,#7FFFH A,#data1 ;#data1为上限电平对应的数字量 ;置矩形波上限电平 ;调用高电平延时程序 ;#data2为下限电平对应的数字量 ;置矩形波下限电平 ;调用低电平延时程序 ;重复进行下一个周期
27
【例11-1】
DAC0832用作波形发生器。试根据图11-3,
分别写出产生锯齿波、三角波和矩形波的程序。 在图11-3中,运算放大器A输出端Vout,产生的模拟输出电 压是单极性的。 ① 锯齿波的产生
ORG START: MOV MOV 2000H DPTR,#7FFFH; A,#00H ;数字量→A ;数字量→D/A转换器 ;数字量逐次加1
24
2.51单片机与DAC0832的接口电路设计
接口电路有单缓冲方式或双缓冲方式。 (1)单缓冲方式 DAC0832内部的两个数据缓冲器:
一个处于直通方式,另一个处于受控导通的锁存方式; 两个输入寄存器同时受控导通的锁存方式。
单缓冲方式应用场合:
只有一路模拟量输出, 虽是多路模拟量输出但并不要求多路输出同步的情况下
独立的DAC芯片
设计者只需要合理的选用合适的芯片,了解它们的功能、
引脚外特性以及与单片机的接口设计方法即可。
10
选用D/A转换器时,注意D/A转换器选择的几个问题:
(1)D/A转换器的输出形式
电压输出
输入的是数字量,而输出为电压。
电流输出 对电流输出的D/A转换器,如需要模拟电压输出,可在其输出 端加一个由运算放大器构成的I-V转换电路,将电流输出转换为 电压输出。
插入NOP指令或延时程序,则可改变锯齿波频率。
29
图11-4 DAC0832产生的锯齿波输出
30
② 三角波的产生。
ORG
START: MOV MOV
2000H
DPTR,#7FFFH A,#00H
UP:
MOVX @DPTR,A;产生三角波的上升边
INC JNZ A UP A ;A=0时减1为FFH, 产生三角波的下降边
CS
:片选端,当为低电平时,本芯片被选中。
ILE:数据锁存允许控制端,高电平有效。
22
WR1 :第一级输入寄存器写选通控制,低电平有效。
CS 0, ILE 1, WR1 0
待转换的数据信号送到第一级8位输入寄存器。
XFER :数据传送控制,低电平有效。
WR 2 :DAC寄存器写选通控制端,低电平有效。
P2口用作系统的高8位地址线,再加上地址锁存器提供的低
8位地址,便形成了系统完整的16位地址总线。
6
单片机系统的片外扩展寻址范围达64KB。
图11-2
AT89C51单片机扩展的片外三总线
7
3.控制信号线
除地址线和数据线外,还要有系统的控制总线。这些信号 有的就是单片机引脚的第一功能信号,有的则是P3口第二功 能信号。包括: (1) PSEN作为外扩程序存储器的读选通控制信号。 (2)RD 和 WR为外扩数据存储器和I/O的读、写选通控制 信号。 (3)ALE作为P0口发出的低8位地址锁存控制信号。
25
图11-3 单缓冲方式下单片机与DAC0832的接口电路
26
CS 由P2.7提供,
单片机执行如下两条指令就可使DAC0832接收AT89S51送来 的数字量。
MOV MOV MOVX DPTR,#0XXX XXXX XXXX XXXXB; A, #FEH @DPTR,A;单片机的 WR1 和P2.7输出端有效