实验十一A_D转换实验实验.docVIP

  • 374
  • 0
  • 约3.53千字
  • 约 7页
  • 2017-08-11 发布于重庆
  • 举报
实验十一A_D转换实验实验

EDA实验报告 之 实验十一 A/D转换实验 实验目的 (1)掌握A/D转换器与单片机接口的方法; (2)了解A/D芯片0809的转换性能及编程方法; (3)通过实验了解数据采集、处理的基本方法。 2、实验要求 利用实验板上的ADC0809做A/D转换器,实验板上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,在数码管的最高两位显示出数字量来。另外要把模拟量值在数码管的最低三位显示出来。例如显示“80 2.50”( 其中80是采样数值,而2.50是电压值。要求程序可连续运行以便测量不同的模拟电压(类似于电压表) (注意:多次采集求平均值可提高转换精度) 3、实验说明 原理图参看LAB6000使用手册、图示帮助等; 连线方式与LAB6000给出的有所不同,这里的实验用数码管显示结果(原实验则用LED显示结果); EOC可接中断、其它引脚或不接,对应的获取数据方法为中断、查询、延迟,建议采用中断方法; 4)注意ADC0809各连线接在了什么位置。 4、写出实验报告(包括6位LED显示的部分电路图)。 实验内容 5.1 使用仪器、仪表,开发平台型号 本实验用到了WAVE 6000软件平台,电脑一台,LAB6000实验箱,若干连线,串行数据线。 5.2 性能指标、技术要求、思路方案、流程图 5.2.1 性能指标、技术要求见实验目的和实验要求。 5.2.2 思路方案:先将所有中断使能位置位,然后启动A/D转换。在主程序中显示缓冲区的内容,判断4次中断已满的标志位是否置位,是的话调用计算子程序计算数字平均值和模拟值,这个过程反复循环的进行。 5.2.3 流程图: 5.3源程序 ;采样的数字值放在20H开始的单元中,修改R6的值(4) ;可以控制采样的个数(为了方便我们选择2,4,8……等2的倍数),上限为256个 ORG 0000H LJMP BEGIN ; ORG 0003H ;外部中断0 LJMP INT0 ORG 0030H ;================= BEGIN: FLAG EQU 50H ;对应到16进制的是2A单元,四次中断是否满的标志位 TRANS EQU 51H ;是否一次转换完毕的标志位 MOV R0,#20H ;采样数据存储单元 MOV R6,#4 ;采样4次求均值 CLR FLAG CLR TRANS SETB EA ; 开所有中断 SETB IT0 ; INT0边沿触发 SETB EX0 ; 允许INT0中断 MOV DPTR,#8000H ; 指向0809 IN0通道地址 MOVX @DPTR,A ;================= LOOP: LCALL DISPLAY JNB TRANS,LOOP ;判断是否发生EOC,为0时转移 CLR TRANS JNB FLAG,CONTINUE ;为0时转移 CLR FLAG LCALL COMPUTEE CONTINUE: MOV DPTR,#8000H MOVX @DPTR,A ; 启动A/D转换,因为与A值无关,故不管A LJMP LOOP ;================= ;中断服务程序 INT0: MOVX A,@DPTR ; 读A/D转换结果 MOV @R0,A INC R0 DJNZ R6,RETURN SETB FLAG MOV R6,#4 MOV R0,#20H RETURN: SETB TRANS RETI ;================= DISPLAY: MOV R4,#02H ;============== BEGIN0: MOV A,#01H ;位选择字节 MOV R2,#5 ;5次 MOV R1,#60H ;数据地址 LOOOP: MOV DPTR,#9002H ;位选输出地址 MOVX @DPTR,A RL A ;修改位信号 PUSH A MOV DPTR,#9004H ;数据输出地址 MOV A,@R1 LCALL CHECK ;查表 CJNE R1,#62H,PEI ORL A,#80H PEI: MOVX @DPTR,A LCALL DELAY INC R1 POP A DJNZ R2,LOOOP LCALL DELAY ;为了两轮显示间时间间隔久一些 DJNZ R4,BEGIN0 RET ;================ DELAY: MO

文档评论(0)

1亿VIP精品文档

相关文档