实验报告课程名称:单片机原理及应用实验项目:A/D转换实验专业班级:姓名:学号:实验室号:实验组号:实验时间:批阅时间:指导教师:成绩:沈阳工业大学实验报告(适用计算机程序设计类)专业班级:学号:姓名:实验名称:A/D转换实验附件A沈阳工业大学实验报告(适用计算机程序设计类)专业班级:学号:姓名:实验步骤或程序:实验原理:A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。实验用的ADC0809属第二类,是八位A/D转换器。每采集一次需100us。ADC0809START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号。实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,故启动A/D转换只需如下两条指令:1.实验目的:1、掌握A/D转换与单片机的接口方法。2、了解A/D芯片ADC0809转换性能及编程方法。2.实验内容:利用实验台上的ADC0809做A/D转换器,实验箱上的电位器提供模拟电压信号输入,编制程序,将模拟量转换成数字量,用数码管显示模拟量转换的结果。3.实验方案(程序设计说明)4.实验步骤或程序(经调试后正确的源程序)(见附件A)5.程序运行结果(见附件A)6.出现的问题及解决方法无1MOVDPTR,#PORTMOVX@DPTR,AA中为何内容并不重要,这是一次虚拟写。在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8031CPU板上的INT0相连接。在中断处理程序中,使用如下指令即可读取A/D转换的结果:MOVDPTR,#PORTMOVXA,@DPTR实验步骤:1、0809的片选信号CS0809接CS0。2、电位器的输出信号AN0接0809的ADIN0。3、EOC接CPU板的INT0.程序框图:参考程序:NAMET15;0809实验PORTEQU0CFA0HCSEGAT0000HLJMPSTARTCSEGAT4100HSTART:MOVDPTR,#PORT;启动通道0MOVX@DPTR,A2MOVR0,#0FFHLOOP1:DJNZR0,LOOP1;等待中断MOVXA,@DPTRMOVR1,ADISP:MOVA,R1;从R1中取转换结果SWAPA;分离高四位和低四位ANLA,#0FH;并依次存放在50H到51H中MOV50H,AMOVA,R1ANLA,#0FHMOV51H,ALOOP:MOVDPTR,#0CFE9H;写显示RAM命令字MOVA,#90HMOVX@DPTR,AMOVR0,#50H;存放转换结果地址初值送R0MOVR1,#02HMOVDPTR,#0CFE8H;8279数据口地址DL0:MOVA,@R0ACALLTABLE;转换为显码MOVX@DPTR,A;送显码输出INCR0DJNZR1,DL0SJMPDEL1TABLE:INCAMOVCA,@A+PCRETDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HDEL1:MOVR6,#255;延时一段时间使显示更稳定DEL2:MOVR5,#2553DEL3:DJNZR5,DEL3DJNZR6,DEL2LJMPSTART;循环END运行结果程序调试运行后,手调电位器,随着电位器的变化,看到数码管显示的数字电压值也在随之变化。六、实验总结这次A/D转换实验相对以前的六个实验对于我来说有比较大的难度。在自主编程和绘制的过程中理论知识的欠缺就表现出来了。比如说:在使用Protues软件进行电路设计时接线的引脚连接不是很清楚,不知道正确使用AD0808芯片与单片机的接口进行总线扩展。因此,此次实验程序编写尤其显得吃力,并且在仿真的时候有不明原因的延时显示。不过经过此次实验我学到了更多的单片机和单片机资源扩展芯片的知识。4