ADC0832模拟波形发生器实验报告

控制基础实验

                       ——模拟波形发生器

            
                         

                                      成绩________

  课程名称 :        __            ___________

  学院(系):                                 

  专    业 :                                            

  班      级 :                                           

  学      号 :                                          

  学生姓名 :                                  

   分工任务 :                                 

                                       

一、实验题目

1、设计一个波形发生器,使能输出锯齿波、三角波、正弦波等。

2、在proteus仿真软件中连接单片机系统硬件图,在keil c51软件中编写并          调试应用程序,使能在proteus中运行并达到预期效果。

 二、实验目的

1、学会DAC0832芯片的基本知识,并掌握使用方法。

2、掌握单片机最小系统的基本知识,能设计并完成一些简单应用。

3、掌握Proteus及Keil软件在51系列单片机中的使用及调试。 

4、 会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结         果能做出分析和解释,能写出符合规格的实验报告。

三、 实验工具 

 软件:Proteus单片机仿真软件、keil51,PC机。

四、实验内容

掌握DAC0832芯片的使用方法,在Proteus仿真软件中连接好电路图,在Keil中编写程序,使得能够输出较规范的锯齿波、三角波、正弦波。

五、实验原理

1、单片机工作原理:单片机是指一个集成在一块芯片上的完整计算机系统。         通过编程控制单片机的I/O端口、中断、定时器、寄存器等部件可以完         成很多应用。

2、DAC0832的工作原理:DAC0832是8分辨率的D/A转换集成芯片,由8位输          入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

3、DAC0832引脚功能说明:

DI0~DI7:数据输入线,TLL电平。

ILE:数据锁存允许控制信号输入线,高电平有效。

CS:片选信号输入线,低电平有效。

WR1:为输入寄存器的写选通信号。

XFER:数据传送控制信号输入线,低电平有效。

WR2:为DAC寄存器写选通输入线。

Iout1:电流输出线。当输入全为1时Iout1最大。

Iout2: 电流输出线。其值与Iout1之和为一常数。

Rfb:反馈信号输入线,芯片内部有反馈电阻.

Vcc:电源输入线 (+5v~+15v)

Vref:基准电压输入线 (-10v~+10v)

AGND:模拟地,摸拟信号和基准电源的参考地.

DGND:数字地,两种地线在基准电源处共地比较好.

  4、输出形式式:单极性(本实验需要)、双极性。

单极性输出:如图所示, 由运算放大器进行电流→电压转换,使用内部反   馈电阻。输出电压值VOUT和输入数字量D的关系:
       VOUT =-VREF ×D/256

D = 0~255, VOUT = 0~-VREF ×255/256

VREF = -5V, VOUT =0~5*+(255/256)V

VREF = +5V, VOUT = 0~-(255/256)V

 5、运算放大器工作原理:是一种直流耦合,差模(差
   动模式)输入、通常为单端输出的高增益电压放大器。

 6、运算放大器有三个特点:

⑴开环放大倍数非常高,一般为几千,甚至可高达
       10万,且运算放大器所需要的输入电压非常小。

⑵输入阻抗非常大。运算放大器工作时,输入端相当
       于一个很小的电压加在一个很大的输入阻抗上,
       所需要的输入电流也极小。

⑶输出阻抗很小,所以,它的驱动能力非常大。

六、硬件电路设计及描述

1、硬件

AT89C52单片机、DAC0832芯片、运算放大器、电阻、模拟示波器、复位电路、总线。

2、电路图

       ⑴RST接复位电路,可持续12个时钟周期。

⑵P2口接DAC0832输入端作为信号源使用。

七、软件设计思想及流程

1、根据DAC0832的输出特性,VOUT =-VREF ×D/256,D = 0~255,

故当DI0~DI7输入一个不停自减的数值,减到0后自动回到255,即可在示波器观测到锯齿波;

当DI0~DI7输入一个不停自减的数值,减到0后又自加到255,即可在示波器观测到三角波;

先使用Matlab算出许多个正弦波函数的点,然后自变量DI0~DI7口输出一个自加的数值,即可在示波器观测到对应因变量形成的正弦波;

八、重要程序及源代码

1、//锯齿波

#include <reg52.h>

#define DAC0832 P2

void delay_ms(int xms)     //延时函数,延时xms

{

    int i,j;

    for(i=xms;i>0;i--)

        for(j=110;j>0;j--);

}

void main()

{

    int i;

    while(1)

    {

        for(i=255;i>0;i--)

        {

            DAC0832=i;

            delay_ms(1);

        }

    }

}

2、//三角波

#include <reg52.h>

#define DAC0832 P2

void delay_ms(int xms)     //延时函数,延时xms

{

    int i,j;

    for(i=xms;i>0;i--)

        for(j=110;j>0;j--);

}

void main()

{

    int i;

    while(1)

    {

        for(i=255;i>0;i--)

        {

            DAC0832=i;

            delay_ms(1);

        }

        for(i=0;i<255;i++)

        {

            DAC0832=i;

            delay_ms(1);   

        }

    }

}

3、//正弦波

#include <reg52.h>

#define DAC0832 P2

unsigned char code sin[]={        //正弦波代码数组

0x80,0x83,0x86,0x89,0x8C,0x90,0x93,0x96,0x99,0x9C,

0x9F,0xA2,0xA5,0xA8,0xAB,0xAE,0xB1,0xB3,0xB6,0xB9,

0xBC,0xBF,0xC1,0xC4,0xC7,0xC9,0xCC,0xCE,0xD1,0xD3,

0xD5,0xD8,0xDA,0xDC,0xDE,0xE0,0xE2,0xE4,0xE6,0xE8,

0xEA,0xEB,0xED,0xEF,0xF0,0xF1,0xF3,0xF4,0xF5,0xF6,

0xF8,0xF9,0xFA,0xFA,0xFB,0xFC,0xFD,0xFD,0xFE,0xFE,

0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,

0xFE,0xFD,0xFD,0xFC,0xFB,0xFA,0xFA,0xF9,0xF8,0xF6,

0xF5,0xF4,0xF3,0xF1,0xF0,0xEF,0xED,0xEB,0xEA,0xE8,

0xE6,0xE4,0xE2,0xE0,0xDE,0xDC,0xDA,0xD8,0xD5,0xD3,

0xD1,0xCE,0xCC,0xC9,0xC7,0xC4,0xC1,0xBF,0xBC,0xB9,

0xB6,0xB3,0xB1,0xAE,0xAB,0xA8,0xA5,0xA2,0x9F,0x9C,

0x99,0x96,0x93,0x90,0x8C,0x89,0x86,0x83,0x80,0x7D,

0x7A,0x77,0x74,0x70,0x6D,0x6A,0x67,0x64,0x61,0x5E,

0x5B,0x58,0x55,0x52,0x4F,0x4D,0x4A,0x47,0x44,0x41,

0x3F,0x3C,0x39,0x37,0x34,0x32,0x2F,0x2D,0x2B,0x28,

0x26,0x24,0x22,0x20,0x1E,0x1C,0x1A,0x18,0x16,0x15,

0x13,0x11,0x10,0x0F,0x0D,0x0C,0x0B,0x0A,0x08,0x07,

0x06,0x06,0x05,0x04,0x03,0x03,0x02,0x02,0x02,0x01,

0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x03,

0x03,0x04,0x05,0x06,0x06,0x07,0x08,0x0A,0x0B,0x0C,

0x0D,0x0F,0x10,0x11,0x13,0x15,0x16,0x18,0x1A,0x1C,

0x1E,0x20,0x22,0x24,0x26,0x28,0x2B,0x2D,0x2F,0x32,

0x34,0x37,0x39,0x3C,0x3F,0x41,0x44,0x47,0x4A,0x4D,

0x4F,0x52,0x55,0x58,0x5B,0x5E,0x61,0x64,0x67,0x6A,

0x6D,0x70,0x74,0x77,0x7A,0x7D};

void delay_ms(int xms)     //延时函数,延时xms

{

    int i,j;

    for(i=xms;i>0;i--)

        for(j=110;j>0;j--);

}

void main()

{

  int i;

  while(1)

  {

  for(i=0;i<256;i++)

  {DAC0832=sin[i];  //模板程序,输出锯齿波

    delay_ms(1);

    }

  }

}

九、实验结果

锯齿波:

三角波:

正弦波:

十、实验心得

    通过本次课程,我们对于单片机的应用有了更深的了解,同时也掌握了D/A转换的相关概念。 本次波形发生器的实验,是我们对于自动控制及单片机有了更高的兴趣。

    另外很感谢学校和老师给我们安排了这次单片机实验课,通过这次实验我们发现现在书本上的知识与实际的应用存在着不小的差距,我们更深刻的体会到了理论联系实际的重要性,在今后的学习工作中会更加的注重实际,努力提高自己的动手能力。

十一、参考文献 

1.周向红.  51单片机课程设计。武汉:华中科技大学出版社,2011. 

2.吴亦锋.  单片机原理与接口技术。北京:电子工业出版社,2010. 

3.杜洋.  爱上单片机。北京:人民邮电出版社,2010.  

4.王守中.  51单片机开发入门与典型实例。北京:人民邮电出版社.

 5.唐浩强.  C程序设计。 北京:清华大学出版社,2005.

 

第二篇:波形发生器实验报告

电子信息工程系实验报告

课程名称:智能仪器

实验项目名称:实验三 波形发生器实验                实验时间:20##/06/08      

班级:电信092                  姓名:陈毜            学号:910706220      

                                                                                          

一、实:

掌握波形发生器的硬件电路实现方法,通过labview 软件的使用,掌握虚拟仪器系统的软件实现方法。

二、实:

LABVIEW软件、实验箱、labjack

三、实理:

实验电路原理图如下所示。

图1  电路原理图

频率的计算如下所示:

对于三角波,其输出幅度与振荡频率为:

这也是矩形波和正弦波的频率,其中矩形波的占空比为:

时,输出的为对称波,频率可化简为:

四、实 验 步 骤:

1、JP6: 跳线1短接;

2、先把JP13的“方波”--->LABJACK 的“AI0”,运行“WAVE.VI”,观测波形如图2所示:

3、保持运行“WAVE.VI”,把JP13的“信号”--->LABJACK 的“AI0”,短接JP6的 跳线1(三角波),观测波形如图3所示:

4、保持运行“WAVE.VI”,把JP13的“信号”---> LABJACK 的“AI0”,短接JP6的 跳线2(正弦波),观测波形如图4所示

 

 图2 方波波形图                                      图3  三角波波形图

图4 正弦波波形图

五、实 验 结 果 及 分 析:

六、实 验 心 得

相关推荐