A/D转换实验
一、实验目的
1. 学习掌握模/数信号转换基本原理;
2. 掌握ADC0809的工作原理和使用方法。
二、实验内容
编写程序,利用ADC0809A/D转换器,将从电位器读取的直流电压转换成二进制数字,将该二进制数字在LED七段显示器中显示出来,验证输入电压和转换后数字的正确性。实验台中的电位器可以输出0~5V的直流电压。ADC0809所需的控制信号由8255A的PC口提供。
设计实验电路图。按图3-14所示连接导线。
三、实验提示
ADC0809包含一个8位的逐次逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑。用它可以输入8个单端的模拟信号,分时进行AD转换,在多点巡回检测、过程控制等应用领域中使用非常广泛。ADC0809的主要技术指标有:
分辨率:8位;单电源:5V;总的不可调误差:±1LSB;转换时间:取决于时钟频率;模拟输入范围:单极性0~5V;时钟频率范围:10KHZ ~ 1280KHZ。
ADC0809的引脚如图3-15所示:
ADC0809有8个模拟量输入端(IN0~IN7),相应的设置3根模拟量通道地址线(ADDA~ADDC),用以编码来选择8个模拟量输入通道。并且还设置1根地址锁存允许信号ALE,高电平有效当ALE变高,锁存由ADDA~ADDC编码所选中的通道号,将该通道的模拟量接入A/D转换器。ADC0809的分辨率为8位,有8根数字量输出线 (D0~D7),带有三态输出锁存器。并设置了1根输出允许信号OE,高电平有效。当读数据时要时OE置高,打开三态输出锁存器,把转换的数字量送到数据线上。
ADC0809的转换启动信号是START,高电平有效。转换结束信号为EOC,转换过程中为低电平,转换完毕变为高电平,可利用EOC的上升沿申请中断,或作查询之用。
ADC0809的内部逻辑结构如图3-16 所示:
四、实验流程图
五、参考程序
DATA SEGMENT
NUM 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
START:
MOV AX, DATA
MOV DS, AX
;初始化8255,0方式,A,CH口输入,B, CL口输出
MOV DX, 203H
MOV AL, 98H
OUT DX, AL
;选用LED七段显示器的第五和第六个来显示转换的数字
MOV AL, 30H
MOV DX, 208H
OUT DX, AL
LEA BX,NUM ;将转换表的首地址装入BX寄存器
MOV DX, 203H
MOV AL, 03H ;将0809的OE置位高电平,允许读数据
OUT DX, AL
L1: MOV AL, 05H ;将0809的ALE置位高电平,允许将ADDA~ADDC所选中的通
OUT DX, AL ;道的模拟量接入A/D转换器
MOV DX, 203H
MOV AL, 01H
OUT DX, AL ;PC0输出1,启动0809转换
MOV AL, 00H
OUT DX, AL ;PC0输出0,准备下次启动转换
MOV DX, 202H
L2: IN AL, DX;输入PC4,测试是否转换完成
AND AL, 10H
JZ L2 ;转换未完成,继续等待转换
;完成转换
MOV DX, 200H
IN AL, DX
MOV AH, AL
AND AL, 0FH
XLAT
MOV DX, 20EH
OUT DX, AL
SHR AH, 4
MOV AL, AH
XLAT
MOV DX, 20DH
OUT DX, AL
MOV DX, 203H
MOV AL, 04H
OUT DX, AL
JMP L1
CODE ENDS
END START
六、实验结果