AD转换单片机实验报告

一、实验目的

1、理解A/D转换的工作原理;

2、理解掌握ADC0809的A/D转换原理和并行A/D转换器接口的编程方法;

3、学习使用并行模/数转换芯片ADC0809进行电压信号的采集和数据处理。

二、设计任务书

河南农业大学单片机课程设计任务书

题目:A/D转换设计及实验

三、实验内容描述

利用已有的实验系统上的0809 A/D转换器,实验电位器提供模拟量输入,编制程序,将模拟量转换成数字,通过数码管显示出来。

四、硬件接线图


      

五、程序设计流程图

六、程序清单

#include"reg51.h"

#include<absacc.h>

#include<intrins.h>

#define uchar unsigned char

#define com8255 XBYTE[0xff23]

#define pa8255 XBYTE[0xff20]

#define pb8255 XBYTE[0xff21]

#define ad0809 XBYTE[0xff80]

unsigned char code mon51[3] _at_ 0x3b;//保留0X3B开始三个程序空间作全速中断用

 void delay(unsigned int i);

void main(void)

 { uchar idata disbuf[6]={0,8,0,9,0,0};

   uchar code  table[20]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF,0x0C,0x89,0xDE};

   com8255=0x81;

   while(1)

     {uchar  x=6,y=0x20,m,n,t=0x0f;

      y=~y;

      ad0809=0x00;

      delay(1);

      m=ad0809;

      n=m;

      m=m&t; //low 4 bit

      disbuf[5]=m;

      n=n>>4; //high 4 bit

      disbuf[4]=n;

      for(x=0;x<6;x++) //led display

          {pb8255=table[disbuf[x]];

           pa8255=y;

           delay(2);           

           y=_cror_(y,1);

          }

     }

 }

void delay(unsigned int i)

{

   unsigned int j,k;

   for(k=0;k<i;k++){

   for(j=0;j<100;j++);  }

}

      

七、调试过程中的难点及解决思路

1、在实验室的电脑上没有找到SST89516RD2,最开始用其他型号的单片机做实验,最终发现用SST89E554RC可以仿真。

2、在用keil4仿真的时候,软件不稳定,有时会无法单步运行,最后必须把软件关闭再打开才可以。

3、读程序的时候,遇到一些不懂得地方找学长请教。

八、课程设计总结与体会

在这次的实验中,我成功的理解掌握了ADC0809的A/D转换原理和并行A/D转换器接口的编程方法,也学习了并行模/数转换芯片ADC0809进行电压信号的采集和数据处理的使用方法。。最重要的一点是,我在这次设计中培养了自己的学习能力。由于好多知识超出了我们的课本范围,这就要求我们自己通过资料来增加我们的知识,解决遇到的一些问题。在短时间内从书本资料中筛选出我们所需要的知识,对我们的自主学习能力有很大的帮助。

九、参考文献

[1]《新概念51单片机C语言教程》郭天祥

[2]《单片机原理与接口技术》邓宏贵

[3]《数字电子技术基础》阎石

[4]《模拟电子技术基础》童诗白

[5]《基于AT89C51的多功能智能实验测试仪器的设计与实现》王正兰

     

 

第二篇:单片机实验AD转换实验

实验报告

课程名称:       单片机原理及应用         

实验项目:         A/D转换实验            

专业班级:                             

姓    名:      学    号:       

实验室号:  实验组号:          

实验时间:             批阅时间:           

指导教师:      成    绩:           


沈阳工业大学实验报告

(适用计算机程序设计类)

专业班级:       学号:           姓名:   

实验名称:A/D转换实验

附件A           沈阳工业大学实验报告

(适用计算机程序设计类)

专业班级:    学号:           姓名:    

实验步骤或程序

实验原理:

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.

程序框图:

 

运行结果

  程序调试运行后,手调电位器,随着电位器的变化,看到数码管显示的数字电压值也在随之变化。

相关推荐