单片机实验-- AD转换实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验6 A/D转换实验
一、实验目的:
1.掌握A/D转换与单片机的接口方法。
2.了解A/D芯片ADC0809转换性能及编程方法。
3.通过实验了解单片机如何进行数据采集。
二、实验设备:
CPU挂箱、8031CPU模块
三、实验内容:
利用实验台上的ADC0809做A/D转换器,实验箱上的电位器提供模拟电压信号输入,编制程序,将模拟量转换成数字量,用数码管显示模拟量转换的结果。
四、实验原理:
A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。
实验用的ADC0809属第二类,是八位A/D转换器。每采集一次需100us。
ADC0809 START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号。实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,故启动A/D转换只需如下两条指令:
MOV DPTR,#PORT
MOVX @DPTR,A
A中为何内容并不重要,这是一次虚拟写。
在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8031CPU板上的INT0相连接。在中断处理程序中,使用如下指令即可读取A/D转换的结果:
MOV DPTR,#PORT
MOVX A,@DPTR
五、实验电路:
六、实验步骤:
1.0809的片选信号CS0809接CS0。
2.电位器的输出信号AN0接0809的ADIN0。
3.EOC接CPU板的INT0.
七、程序框图:
主程序中断服务程序八、程序清单
九、附:8位并行A/D、D/A模块
8位A/D、D/A模块由ADC0809模数变换电路和DAC0832数模变换电路两部分组成,其电源、数据总线、地址总线和片选信号均由接口挂箱上的接口插座提供。
一、ADC0809电路
(1) ADC0809芯片引脚及功能
ADC0809是一种逐次逼近式8路模拟输入,8位数字量输出的A/D转换器。其引脚如图3-25所示
图3-25 ADC0809管脚图
由图可见,ADC0809共有28引脚,采用双列直插式封装。其主要引脚功能如下:
IN0~IN7:8路模拟信号输入端;
D0~D7:8路数字量输出端;
ALE:控制转换端,高电平有效;
A、B、C:与ALE控制8路模拟通道切换,A、B、C分别与三根地址线或数据线相连,三者编码对应8个通道地址口。CBA=000~111分别对应IN0~IN7通道地址;
OE:输出允许端,高电平有效;
SC:启动信号输入端;
CLK:时钟信号输入端;
V R(+)、VR(-):参考电压输入端。
强调说明一点:ADC0809虽有8路模拟通道可同时输入8路模拟信号,但每个瞬间只能转换一路,各路之间的切换由软件变换通道地址实现。
ADC0809工作过程如下:
首先用指令选择0809的一个模拟输入通道,当执行MOVX @DPTR,A时,产生一个启动信号使START引脚送入脉冲,开始对选中通道转换。当转换结束后发出结束信号,置EOC为高电平,该信号可做中断信号;当读允许信号到,OE端有高电平,则可读出转换的数字量。利用MOVX A,@DPTR把该通道转换结果读到A累加器中。
(2) ADC0809电路图及说明
图3-26 ADC0809电路图
模块上的ADIN0~ADIN7插孔对应于图中ADIN0~ADIN7引脚;
模块上的EOC、CLK插孔分别对应于图中EOC、ADCLK引脚;
A.OUT插孔为模拟电压输出,输出范围0V—5V,由模块上电位器A.ADJ分压得到。
CS0809的用法如前所述。
ADC0809的详细用法请查阅相关手册。
(3)ADC0809电路的基本测试方法
调整模块上最左边的10K电位器VREF.ADJ,用万用表测ADC0809芯片12脚的电压,将其调整到5V。
将A.OUT插孔和ADIN0插孔用导线连接,将CS0809片选排的CS3用跳线帽短接,CLK接CPU挂箱时钟发生电路的CLK3,EOC接CPU模块的P1.0。
运行测试程序,设置断点,将ACC中的数据换算为电压(换算方法为ACC数据*5/256),然后与万用表的实测数据相比较,如基本一致则说明该电路正常。然后对ADIN1~ADIN7也进行同样的测试,测试程序中地址需作相应的改变。测试参考程序如下:
CSEG AT 0000H
LJMP START
CSEG AT 4100H
PORT EQU 0A018H
START: SETB P1.0
MOV DPTR, #PORT ;启动通道0
MOVX @DPTR,A
WAIT: JNB P1.0 WAIT
MOVX A, @DPTR
NOP ;设断点处
JMP START
END
二、DAC0832电路
(1) DAC0832芯片引脚及功能
DAC0832是8位D/A转换器,20脚双列直插式封装,其引脚及结构如图3-27所示。
图3-27 DAC0832管脚图
各引脚功能如下:
DI0—DI7:8位数据线,作为8位数字信号输入端;CS:片选端;
ILE:数据锁存允许控制,高电平有效;
WR1:第一级输入寄存器写选通控制,低电平有效,当CS=0、ILE=1、WR1=0时,数据信号被锁存到第一级寄存器中;
XFER:数据传送控制,低电平有效;
WR2:DAC寄存器写选通控制,低电平有效,当XFER=0、WR2=0时,输入寄存器状态传入DAC寄存器中;
I OUT1:D/A转换器电流输出1端,输入数字量全为“1”时,I OUT1最大,输入数字量全为“0”时,I OUT1最小;
I OUT2:电流输出2端,I OUT2+I OUT1=常数;
R F:外部反馈信号输入端,内部以有反馈电阻,根据需要也可外接反馈电阻;
V R:基准电压输入端,电压范围+5V~+15V;
DGND:数字信号接地端,最好与电源共地;
AGND:模拟信号接地端,最好与基准电源共地。
(2)DAC0832电路图
图3-28 DAC0832电路图