140 likes | 295 Views
9.4 A/D 转换器接口. A/D 转换器芯片种类很多,按其转换原理可分为逐次比较式、双重积分式、量化反馈式和并行式 A/D 转换器; 按其分辨率可分为 8~16 位的 A/D 转换器芯片。目前最常用的是逐次逼近式和双重积分式。. 一、 A/D 转换器主要参数. 1. 分辨率: A/D 转换器输出数字量的最低位变化一个数码时,对应输入模拟量的变化量。 其中 n 为 A/D 转换器的位数。. 2. 转换速度: 是指 A/D 转换器完成一次转换所需要的时间。即从开始转换到输出端出现稳定的数字量所需要的时间。.
E N D
9.4 A/D转换器接口 A/D转换器芯片种类很多,按其转换原理可分为逐次比较式、双重积分式、量化反馈式和并行式A/D转换器; 按其分辨率可分为8~16位的A/D转换器芯片。目前最常用的是逐次逼近式和双重积分式。
一、 A/D转换器主要参数 1. 分辨率:A/D转换器输出数字量的最低位变化一个数码时,对应输入模拟量的变化量。 其中n为A/D转换器的位数。
2.转换速度: 是指A/D转换器完成一次转换所需要的时间。即从开始转换到输出端出现稳定的数字量所需要的时间。
二、 A/D转换器ADC0809与单片机的接口 1.ADC0809芯片简介 图9.13 ADC0809芯片的内部逻辑结构与引脚图
ADDC ADDB ADDA 选通的通道 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 表9.2 ADC0809通道地址选择表
28双列直插式封装: • IN0~IN7:模拟量输入通道 • ADDA/ADDB/ADDC:模拟通道地址线 • ALE:地址锁存信号 • START:转换启动信号。脉冲式启动,脉冲下降沿有效 • D0~D7 :数据输出线 • OE—输出允许信号,为脉冲信号,高电平时打开三态输出锁存器,将转换结果的数字量输出的数据总线上。 • CLK—时钟信号 • EOC—转换结束状态信号,转换期间为低电平,转换结束为高电平
编程须注意的几点: a.一个ADC开始转换时,必须加一个启动转换信号,这一启动信号要由单片机提供-------脉冲启动和电平启动两种; b.当ADC转换结束时,ADC输出一个转换结束标志信号,通知单片机读取转换结果-------一般有中断和查询两种; c.A/D转换器的另一个重要连接信号是时钟,其频率是决定芯片转换速度的基准。
2.ADC0809的工作时序 图9.2 ADC0809转换工作时序
一般来说,A/D转换器与单片机的接口主要考虑的是数字量输出线的连接、ADC启动方式、转换结束信号处理方法以及时钟的连接等。一般来说,A/D转换器与单片机的接口主要考虑的是数字量输出线的连接、ADC启动方式、转换结束信号处理方法以及时钟的连接等。 A/D转换器与单片机接口具有硬、软件相依性。
时序分析: ①.在ALE的上升沿锁存模拟通道地址线ADDA/ADDB/ADDC -----------选择模拟量输入通道; ②.START的下降沿启动A/D转换; ③. EOC在转换过程中呈现低电平;转换结束EOC呈现高电平; ⑤.OE为正脉冲后,将转换结果送到数据总线上。
3.ADC0809与单片机硬件接口 图9.3 ADC0809与8031的接口连接图
地址范围:BFF8H~BFFFH 启动转换: MOV DPTR,#BFF8H MOVX @DPTR ,A 读取结果: MOV DPTR,#BFF8H MOVX A, @DPTR
4.A/D转换应用程序举例 设图9.13接口电路用于一个8路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按序存于片内RAM的30H~37H单元中。采样完一遍后停止采集。 其数据采集的初始化程序和中断服务程序如下: 初始化程序: MOV R0,#30H ;设立数据存储区指针 MOV R2,#08H ;设置8路采样计数值 SETB IT0 ;设置外部中断0为边沿触发方式 SETB EA ;CPU开放中断
SETB EX0 ;允许外部中断0中断 MOV DPTR,#BFF8H ;送入口地址并指向IN0 LOOP: MOVX @DPTR,A ;启动A/D转换,A的值无意义 HERE: SJMP HERE ;等待中断 中断服务程序: MOVX A,@DPTR ;读取转换后的数字量 MOV @R0,A ;存入片内RAM单元 INC DPTR ;指向下一模拟通道 INC R0 ;指向下一个数据存储单元 DJNZ R2,INT0 ;8路未转换完,则继续 CLR EA ;已转换完,则关中断 CLR EX0 ;禁止外部中断0中断 RETI ;中断返回 INT0: MOVX @DPTR,A ;再次启动A/D转换 RETI ;中断返回