当前位置:文档之家› 微机原理及应用第十章数模转换和模数转换

微机原理及应用第十章数模转换和模数转换

DAC芯片相当于一个“输出设备”,至 少需要一级锁存器作为接口电路。
考虑到有些DAC芯片的数据位数大于主 机数据总线宽度,所以分成两种情况: 1.主机位数等于或大于DAC芯片位数
2.主机位数小于DAC芯片位数
1. 主机位数大于或等于DAC芯片的连接
D0~D7 IOW
LS273 CS
AB 译码
DAC
_
A
+
Vout
mov al,buf mov dx,portd out dx,al
2. 主机位数小于DAC芯片的连接
数字数据需要多次输出
接口电路也需要多个(级)锁存器保存 多次输出的数据
需要同时将完整的数字量提供给DAC转 换器
CPU
8位 12位
DAC
两级锁存电路
D0~D7
4位 锁存器
8位 锁存器
连接图1
连接图2
流程图
DI0~DI7
输入
DAC
D/A









Iout1
LE1
LE2 DAC0832
DAC0832的工作方式:双缓冲方式
两个寄存器都处于受控(缓冲)状态
能够对一个数据进行D/A转换的同时,输入另 一个数据
DI0~DI7
输入
DAC
D/A









Iout1
LE1
LE2 DAC0832
二、DAC芯片与主机的连接
➢ [把转换后的数据以10进制的形式在数码管上 显示,范围0.0~5.0V。]
程序清单
DATA SEGMENT
LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
第十章 数模转换(D/A)和模数转换(A/D)
概述 D/A接口芯片 A/D接口芯片 数据采集实验
概述
模拟量——连续变化的物理量
DAC 数字/模拟转换器
模拟/数字转换器 ADC
数字量——时间和数值上都离散的量
概述(续)
现场信号
1
传感器
现场信号
2
传感器

现场信号
n
传感器
放大器 放大器 放大器
① 查询方式——把结束信号作为状态信号 ② 中断方式——把结束信号作为中断请求信号 ③ 延时方式——不使用转换结束信号 ④ DMA方式——把结束信号作为DMA请求信号
四、ADC芯片的应用
编程启动、转换结 束中断处理
编程启动、转换结 束查询处理
中断方式
D0~D7
IOR
220h
A0~A9
译码
IOW IRQ2
OUT DX , AL;显示低四位
MOV CX , 10000;延时 LOP2: LOOP LOP2
连接图2
程序清单(续4)
MOV AH , 1;是否有键按下 INT 16H JE BEG;没键按下,则重复 MOV DX , 28AH;C口 MOV AL , 0 OUT DX , AL;关掉数码显示 MOV AH , 4CH;返回DOS INT 21H CODE ENDS END START
START: MOV AX ,DATA
MOV DS ,AX MOV DX ,28BH;控制端口
连接图2
MOV AL ,88H;设置8255为A口输出;C口高4位输入,低4位输出
OUT DX , AL
程序清单(续1)
BEG: MOV DX ,280H OUT DX ,AL;启动转换 MOV DX ,28AH;C口地址
4位 锁存器
8位 锁存器
12位 DAC 模拟输出
第1级高4位锁存控制 第1级低8位锁存控制
第2级12位锁存控制
关键的一级锁存 由同一个信号控制
简化的两级锁存电路
D0~D7
8位 锁存器
第1级低8位锁存控制 第2级12位锁存控制
4m位ov dx,port1 锁存m器ov al,b12l位
8o位ut dx,aDlAC 模拟输出 锁存m器ov dx,port2
out dx,al ;启动A/D转换
……
;其他工作
程序清单(续1) 中断服务程序
adint
proc sti push ax push dx push ds mov ax, data mov ds,ax mov dx,220h in al,dx mov adtemp,al
;开中断 ;保护寄存器
;设置数据段DS
连接图2
程序清单(续3)
MOV AX,SI;将转换结果从SI恢复到AL
MOV BX ,OFFSET LED;BX指向段码表的首地址
AND AL , 0FH;保留低四位
XLAT;求出对应的段码
MOV DX ,288H
OUT DX ,AL;从8255的A口输出
MOV AL , 01H
MOV DX , 28AH
;查询是否转换结束 ;读入状态信息 ;D7=1,转换结束否? ;没有结束,继续查询 ;转换结束 ;读取数据 ;存入缓冲区
;转向下一பைடு நூலகம்模拟通道
数据采集实验
实验内容
流程图
参考程序
实验内容
连接图1
连接图2
按虚线连接电路。要求如下:
➢ 编程采集IN0输入的电压,并把转换后的数 据以16进制的形式在数码管上显示 ,范围 00~FFH。









Iout1
LE1
LE2 DAC0832
DAC0832的工作方式:直通方式
LE1=LE2=1 输入的数字数据直接进入D/A转换器
DI0~DI7
输入
DAC
D/A









Iout1
LE1
LE2 DAC0832
DAC0832的工作方式:单缓冲方式
LE1=1,或者LE2=1 两个寄存器之一始终处于直通状态 另一个寄存器处于受控状态(缓冲状态)
CS WR1 WR2 XFER
输入
DAC
D/A









LE1
LE2
DAC0832
VREF Rfb Iout1 Iout2 AGND
Vcc DGND
直通锁存器的工作方式
两级缓冲寄存器都是直通锁存器
LE=1,直通(输出等于输入) LE=0,锁存(输出保持不变)
DI0~DI7
输入
DAC
D/A
+5V
Vcc VREF(+) D0~D7
IN0
OE CLOCK
START ADDA ADDB
EOC ADDC ALE
GND VREF(-)
模拟输入 (0~5V)
500KHz
程序清单
主程序
;数据段
adtemp db 0
;给定一个临时变量
;代码段
……
;设置中断向量等工作
sti
;开中断
mov dx,220h
+5V
Vcc VREF(+)
D0~D7 EOC
IN0
IN1
IN2
IN3
OE
IN4
IN5
START ALE
IN6
ADDA
IN7 CLOCK
ADDB
ADGDNCD VREF(-)
8通道 模拟输入 (0~5V)
500KHz
程序清单
启动转换
;数据段
counter equ 8
buf
db counter dup(0) ;数据缓冲区
;读A/D转换的数字量 ;送入缓冲区
程序清单(续2) 中断服务程序
adint
mov al,20h out 20h,al pop ds pop dx pop ax iret endp
;发送EOI命令 ;恢复寄存器
;中断返回
查询方式
D0~D7 D7
238h~23fh
IOR A3~A9
译码
IOW 220h~227h A0 A1 A2
转换结束信号
ADDA/B/C
EOC
OE
D0~D7
200ns (最小)
2s+8T (最大)
100s
DATA
三、ADC芯片与主机的连接
ADC芯片相当于“输入设备”,需要接口 电路提供数据缓冲器。
主机需要控制转换的启动。 主机还需要及时获知转换是否结束,并进
行数据输入等处理。
1. 数据输出线的连接
LOP: IN AL ,DX;从PC口读转换结束标志EOC TEST AL ,80H JZ LOP;判断转换是否结束(PC7即EOC) MOV DX ,280H IN AL ,DX;转换结束,读取数据
连接图1 连接图2
程序清单(续2)
MOV SI,AX;将转换结果保存到SI寄存器 MOV CL,4 SHR AL,CL;将AL右移四位 MOV BX,OFFSET LED;BX指向段码表的首地址 XLAT;求出对应的段码 MOV DX ,288H;从8255的A口输出 OUT DX ,AL MOV AL ,02H MOV DX ,28AH;显示高四位 OUT DX ,AL;输出位码 MOV CX ,10000;延时 LOP1: LOOP LOP1
相关主题