并行模数转换实验
一、实验目的
熟悉A/D 转换的工作原理,学习使用并行模数转换芯片ADC0809 进行电压信号
的采集和数据处理。
二、实验设备及器件
IBM PC 机 一台
DP-51PROC 单片机综合仿真实验仪 一台
数字万用表 一台
ADC0809 PACK 模块(选配件) 一套
三、实验内容
通过片外总线方式访问并行模拟数字转换器芯片ADC0809,掌握模拟电压的通用
采集方法。
四、实验要求
理解掌握ADC0809 的A/D 转换原理和并行A/D 转换器接口的编程方法,学会使
用ADC0809 并行模数转换器实现电压信号采集的方案设计。
五、实验步骤
1. 将ADC0809 PACK 模块(选配件)插入PARK2 区;
2. 将D2 区1K 电位器和10K 电位器的左端金属孔通过导线连接到该区的
GND 金属孔,而右端金属孔通过导线连接到该区的VCC 金属孔;
3. 将D2 区1K 电位器的中间金属孔连接到A7 区的P2_IO2 金属孔,而D2
区10K 电位器的中间金属孔连接到A7 区的P2_IO1 金属孔;
4. 将A7 区的P2_IO3~P2_IO5 分别连接到A2 区的A2~A0;
5. 将A7 区的P2_CS 连接到A2 区的A15;
6. 运行编写好的软件程序,每次跑到断点就会停止,此时观察转换的结果和
用数字万用表测量的结果相比较是否正确(所需观察的存储单元或者变量
在程序中依照注释执行);
7. 改变1K 电位器和/或10K 电位器的旋钮位置,用数字万用表测量中间金
属孔的电压,再次运行程序至断点处, 观察转换的结果是否正确。
六、实验预习要求
认真预习本节实验内容,按照实验的要求提前做好实验准备工作,认真阅读
ADC0809的数据手册。
七、 实验参考程序
1. 汇编语言程序:
;使用该程序前请先按照实验指导手册连接好连线,
;运行程序至断点,观察30H 单元和31H 单元转换的十六进制
;数据换算成实际电压值是否与万用表的测量结果相等?
;扭动电位器,改变IN0 或/和IN1 模拟输入电压,再次运行程序至
;断点,观察30H 或/和31H 单元的数值是否随之改变,改变的是否正确?
ORG 8000H
LJMP MAIN
ORG 8100H
MAIN: MOV SP,#70H
MOV R1,#30H ;置数据区首地址,用于存放A/D 转换结果
MOV DPTR,#7FF8H ;P2.7=0,且指向通道0
MOV R7,#02H ;置通道数
LOOP: MOVX @DPTR,A ;启动A/D 转换
MOV R6,#20H ;软件延时,等待转换结束
DELAY: NOP
NOP
NOP
DJNZ R6,DELAY
MOVX A,@DPTR ;读取转换结果
MOV @R1,A ;转存
INC DPTR ;指向下一个通道
INC R1 ;修改数据区指针
DJNZ R7,LOOP ;IN0、IN1 两个通道全采样完了吗?
LJMP MAIN
END
2. C51 程序:
//使用该程序前请先按照实验指导手册连接好连线,
//运行程序至断点,观察result0 和result1 的转换结果
//浮点数值是否与数字万用表的测量结果相等?
//扭动电位器,改变IN0 或/和IN1 模拟输入电压,再次运行程序至断点,
//观察result0 或/和result1 的转换结果浮点数值是否随之改变,改变的是否正确?
#include
#include
#include
#define PIN0 XBYTE[0x7ff8]
#define PIN1 XBYTE[0x7ff9]
typedef unsigned char byte;
typedef unsigned int word;
void main(void)
{
float result0,result1; //两个通道A/D 转换结果的存储变量
float result0_reg,result1_reg; //浮点数据输出存储
byte i,j;
while(1)
{
for(i=0;i<2;i++) //对IN0、IN1 两个通道进行采样
{
if(!i)
PIN0=0xff; //启动通道0 的A/D 转换
else
PIN1=0xff; //启动通道1 的A/D 转换
for(j=0;j<0x50;j++); //延时,等待转换的完成
if(!i)
result0_reg=PIN0; //读取通道0 的转换结果
else
result1_reg=PIN1; //读取通道1 的转换结果
}
result0=result0_reg*5/256;
result1=result1_reg*5/256;
}
}
八、实验思考
1. 本实验采用了延时等待的方式等待ADC0809 转换结束,请用户改用中断方式
做一次这个实验,并说出这个实验采用中断方式与延时等待方式相比有哪些优
点;
2. 请将D5 区上的ZLG7290 芯片和数码管与本实验相结合,设计出一个数字电
压表,并与商品化的数字电压表测量值比较。
评论
查看更多