第7章 模数及数模转换接口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章 模数与数模转换接口
主要内容 7.1 模/数(A/D)转换 7.2 数/模(D/A)转换
学习目标
了解:模/数与数/模转换基本概念、 基本原理。 的ADC0809和 DAC0832芯片的应用实例及编程方法, 并能够在实践中灵活运用。
2.ADC0809的外 部引脚
ADC0809的外部 引脚排列如图7-2所示 。
3.ADC0809的工作过程ADC0809的工作过 程如下: (1)输入到通道地址锁存和译码电路的 ADDA、ADDB、ADDC三位地址信号用于决定 IN7~IN0中哪一路模拟信号可以输入,然后使地 址锁存与译码模块的ALE=1,从而使IN7~IN0中 被选中的一路模拟信号经通道选择开关送入比较器 的输入端。 (3)A/D转换完成后,转换得到的数字量已 送入8位三态锁存器。如果使8位三态锁存器的OE 信号变为高电平,则8位三态锁存器的三态门被打 开,8位数字量数据被输出到数据线上。 (2)CPU向定时和控制电路发出启动信号 START,START的上升沿使逐次逼近寄存器SAR 清零,下降沿启动A/D转换。
采用查询方式读取A/D转换的输出数据。ADC0809 与8086CPU的连接如图所示。
ADC0809 D 7~D EOC
≥1
0
ADC0809应用举例
8086 D 7 ~D 0 IOR A 15 ~A 3 地 址
IN 7
~
IN 0 V REF (+)
输入
≥1 ≥1
OE
+5 V
IOW A 2 ~A 0
START: MOV AX, DATA MOV DS, AX MOV BX, OFFSET ADR 地址送BX
;内存缓冲区首
MOV CX, 8 ;模拟信号输入通道总数 MOV DX, 7FF0H ;模拟信号输入通道 IN0的地址 ADCS: OUT DX, AL ;启动一次 A/D转换 CALL DELAY ;调用延时子程序 IN AL, DX ;转换结束,读转换结果 MOV [BX],AL ;存入指定的存储单元 INC DX ; 下一个模拟信号输入通道 INC BX ;指向下一个存储单元
LOOP ADCS ;循环次数减1,若结果非0 ,则循环对下一通道转换 MOV AX, 4CH ;8路模拟信号均转换完 毕 INT 21H DELAY PROC ;延时子程序 PUSH CX MOV CX, 0500H ;可修改CX初 值 WAIT: NOP ;空操作,耗费时 间 NOP LOOP WAIT POP CX RET ;返回
7.1 模/数(A/D)转换
7.1.1 模/数(A/D)转换基本原理及主要技术指标 A/D转换器的品种繁多,目前使用的主要有三 种类型:逐次逼近型、计数型和双积分型。 逐次逼近型A/D转换器内部主要由逐次逼近寄存器 SAR、D/A转换器、电压比较器和一些时序控制 逻辑电路等组成。 ADC的主要技术指标如下: (1)分辨率。(2)转换时间。 (3)量程。(4)绝对精度。(5)相对精度。
ALE V REF (-) START ADDC ~ADD A
由于ADC0809可处理8路模拟输入,由 ADDC、ADDB、ADDA的三个编码来确定具 体选择哪一路,本例中将这三位连接地址总线 的A2~A0,在启动A/D转换的同时,选定要进 行转换的模拟通道。设8个模拟通道的I/O端口 地址分别为200H~207H,将地址锁存信号 ALE与启动信号START相连,可以做到在锁存 模拟输入通道地址的同时启动A/D转换。 转换结束后,ADC0809会输出一个EOC信 号,采用查询方式时,该信号是一个查询标志 且设为状态端口,经三态门接入数据总线最高 位D7,这样,启动转换之后,只要不断检测 D7位是否为1,就可知道转换是否结束,设状 态端口地址为208H。
答:根据题意,在程序中启动ADC0809的 同时将通道地址写到ADC0809中,并实现一定 时间的延时,以等待A/D转换结束,延时之后读 取转换结果。程序如下: DATA SEGMENT ADR DB 8 DUP(0);存放转换后的结果 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA
TEST AL, 80H ;查EOC(D7)=0?即开始转换了吗? JNZ START1 ;非0表示未开始,等待 START2: IN AL, DX ;再读EOC状态 TEST AL, 80H ;再查EOC是否为1 JZ START2 ;EOC=0,未转换完等待 POP DX ;EOC=1,转换结束 IN AL, DX ;读取转换数据 MOV [BX],AL ;存入指定的缓冲区 INC DX ;指定下一个输入通道
7.1.3 ADC0809应用实例
ADC0809转换结束时,输出转换结束信号 EOC,通知CPU读取转换的数据。CPU一般可以 采用软件延时方式、程序查询方式、中断方式或 DMA方式来实现对转换数据的读取。 【例7.1】编写程序,采用软件延时的方式 读取ADC0809转换的输出数据。ADC0809与 8086CPU的连接如图7-4所示。设ADC0809的 IN7~IN0对应地址为7FF7H~7FF0H,要求对8 路模拟信号轮流采样,采样后的结果存放到ADR 开始的8个字节单元中。
7.1.2 模/数转换器ADC0809 的组成与接口信号
ADC0809是由美国国家半导体(National Semiconductor)公司研制的逐次逼近型8位 A/D转换器。可直接输入8个单端的模拟信号, 分时进行A/D转换,在多点巡回检测、过程控制 等应用领域中使用非常广泛。 1.ADC0809的内部结构与功能 ADC0809的内部结构如图7-1所示。
软件编程:配合硬件连接,软件要做的工作 是发启动转换信号,查询转换何时结束,以及读 取数据和存取数据等操作,下面程序段是完成对 8个模拟通道顺序采集一个数据,存入从2000H 开始的单元中。 MOV BX, 2000H ;内存缓冲区首地址 MOV CX, 0008H ;通道总数 MOV DX, 200H ;通道1地址 START: OUT DX, AL ;启动一次A/D转换 PUSH DX ;保存通道号 MOV DX, 208H ;指向状态口地址 START1:IN AL,DX ;读EOC状态
相关文档
最新文档