adc0809实验
实验 3 ADC0809 并行模数转换实验 【实验目的】 熟悉 A/D 转换的工作原理,学习使用并行模数转换芯片 ADC0809 进行电压 信号的采集和数据处理。 【实验设备及器件】 IBM PC 机 一台 DP - 51PROC 单片机综合仿真实验仪 一台 数字万用表 一台 【实验内容】 通过片外总线方式访问并行模拟数字转换器芯片 ADC0809,掌握模拟电压 的通用采集方法。 【实验要求】 理解掌握 ADC009 的 A/D 转换原理和并行 A/D 转换器接口的编程方法,学 会使用 ADC0809 并行模数转换器实现电压信号采集的方案设计。 【实验步骤】 1. 使用 2×10 的排线连接 D7 区的 J28 接到 A7 区的 J84; 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 的数据手册。图 3.1 8155 引脚接线图 【实验参考程序】 汇编语言程序清单 ;使用该程序前请先按照实验指导手册连接好连线, ;运行程序至断点,观察 30H 单元和 31H 单元转换的十六进制;数据换算成实际电压值是否与万用表的测量结果相等? ;扭动电位器,改变 IN0 或/和 IN1 模拟输入电压,再次运行程序至 ;断点,观察 30H 或/和 31H 单元的数值是否随之改变,改变的是否正确?ORG 8000HLJMP MAINORG 8100H MAIN: MOV SP,#70HMOV R1,#30H ;置数据区首地址,用于存放 A/D 转换结果MOV DPTR,#7FF8H ;P2.7=0,且指向通道 0MOV R7,#02H ;置通道数 LOOP: MOVX @DPTR,A ;启动 A/D 转换MOV R6,#20H ;软件延时,等待转换结束 DELAY: NOPNOPNOPDJNZ R6,DELAYMOVX A,@DPTR ; 读取转换结果MOV @R1,A ; 转存INC DPTR ;指向下一个通道INC R1 ; 修改数据区指针DJNZ R7,LOOP ;IN0、IN1 两个通道全采样完了吗?LJMP MAIN END C51 程序清单 //使用该程序前请先按照实验指导手册连接好连线, //运行程序至断点,观察 result0 和 result1 的转换结果 //浮点数值是否与数字万用表的测量结果相等? //扭动电位器,改变 IN0 或/和 IN1 模拟输入电压,再次运行程序至断点, //观察 result0 或/和 result1 的转换结果浮点数值是否随之改变,改变的是否正确? #include #include #include #define PIN0 XBYTE[0 x7ff8] #define PIN1 XBYTE[0 x7ff9] 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=0 xff; //启动通道 0 的 A/D 转换 elsePIN1=0 xff; //启动通道 1 的 A/D 转换 for(j=0;j<0 x50;j++); //延时,等待转换的完成 if(!i)result0_reg=PIN0; //读取通道 0 的转换结果 elseresult1_reg=PIN1; //读取通道 1 的转换结果 } result0=result0_reg*5/256; result1=result1_reg*5/256; } } 【实验思考题】 1. 本实验采用了延时等待的方式等待 ADC0809 转换结束,请用户改用中断方 式做一次这个实验,并说出这个实验采用中断方式与延时等待方式相比有 哪些优点; 2. 请将 D5 区上的 ZLG7290 芯片和数码管与本实验相结合,设计出一个数字 电压表,并与商品化的数字电压表测量值比较。