精华内容
下载资源
问答
  • DAC0832波形发生器

    2018-05-09 21:00:30
    DAC0832波形发生器。简易波形发生器,可以实现方波,三角波,正弦波,可调频等。
  • dac0832波形发生器

    2013-11-23 22:30:13
    波形发生器,五种波形。方波、正弦波、锯齿波、三角波、梯形波
  • 基于单片机的DAC0832波形发生器 源码 +proteUS仿真 电路图 基于单片机的DAC0832波形发生器 源码 +proteUS仿真 电路图
  • 在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源。由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察。
  • 幅值及频率都精确可调,通过按键可输出规定频率,精确易用
  • 低频信号源所需要的RC 很大,大电阻,大电容在制作上有困难,参数的精度也难以保证,而且体积大,漏电,体积大是该类波形发生器的显著缺点。
  • 输出正弦波,三角波,矩形波,锯齿波,梯形波 51单片机,源代码 仿真文件 DAC0832 波形发生器
  • 3.利用DAC0832实现波形发生器功能。要求可以产生正弦波、方波、锯齿波、梯形波、三角波,将工程目录拍下,编译过程、演示过程记录 15分
  • 基于DAC0832波形发生器,汇编设计
  • 在Proteus8.6下,基于8086,使用8255+DAC0832模拟波形发生器,实现多种波形的输出演示:使用开关选择,依次可输出锯齿波,三角波,方波,脉冲波,梯形波。
  • 介绍利用51单片机控制数模转换芯片DAC0832和四运放集成电路LM324产生锯齿波、三角波、方波的过程。并对DAC0832和LM324的结构和工作原理以及电路连接加以说明,经过实验证明,此设计稳定可靠。
  • AT89C51使用DAC0832数模转换,波形发生器

    千次阅读 热门讨论 2020-06-19 17:02:21
    DAC0832波形发生器DAC0832简介电路构建单片机代码效果截图   使用51单片机和DAC0832构建按键波形发生器,按下不同的按键能够产生不同波形,可以产生波形为阶梯波、三角波、方波、正弦波。 DAC0832简介   DAC0832...


      使用51单片机和DAC0832构建按键波形发生器,按下不同的按键能够产生不同波形,可以产生波形为阶梯波、三角波、方波、正弦波。

    DAC0832简介

      DAC0832是采样频率为八位的D/A转换器件,芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式。

      1、单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。
      2、双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。
      3、直通方式。直通方式是资料不经两级锁存器锁存,即 CS*,XFER* ,WR1* ,WR2* 均接地,ILE接高电平。此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换。

    DAC0832的逻辑框图和引脚排列:
    在这里插入图片描述
    引脚简介:

    D0~D7:数字信号输入端。
    
    ILE:输入寄存器允许,高电平有效。
    
    CS:片选信号,低电平有效。
    
    WR1:写信号1,低电平有效。
    
    XFER:传送控制信号,低电平有效。
    
    WR2:写信号2,低电平有效。
    
    IOUT1、IOUT2:DAC电流输出端。
    
    Rfb:是集成在片内的外接运放的反馈电阻。
    
    Vref:基准电压(-10~10V)。
    
    Vcc:是源电压(+5~+15V)。
    
    AGND:模拟地 NGND:数字地,可与AGND接在一起使用。
    

    电路构建

    在这里插入图片描述

    单片机代码

    #include<reg52.h>
    #include<absacc.h>
    #define uchar unsigned char
    #define uint unsigned int
    #define DAC 0x7fff //定义DAC端口地址
    uchar code SINTAB[]={0x7F, 0x89, 0x94, 0x9F, 0xAA, 0xB4, 0xBE, 0xC8,0xD1, 0xD9,
    											0xE0, 0xE7, 0xED,0xF2, 0xF7,0xFA, 0xFC, 0xFE, 0xFF};
    uchar bdata Tbase = 0x20;
    sbit KST = Tbase^0; //阶梯波标志
    sbit KTRI = Tbase^1; //三角波标志
    sbit KSQ = Tbase^2;  //方波标志
    sbit KSIN = Tbase^3;//正弦波标志
    sbit K1=P1^0; //K1健
    sbit K2=P1^2; //K2键
    sbit K3=P1^4; //K3键
    sbit K4=P1^6; //K4键
    //延时函数
    void delay()
    {  
    	uchar i;
    	for(i = 0; i<0xff;i++);
    }
    //阶梯波函数
    void st()
    {
    	uchar i = 0;
    	while(KST)
    	{
    		XBYTE[DAC] = i++;//启动DAC
    	}
    }
    //三角波函数
    void tri()
    {
    	uchar i = 0;
    	XBYTE[DAC] = i; //启动DAC
    	do
    	{
    		XBYTE[DAC] = i;  //上升沿
    		i++;
    	}while(i<0xff);
    	do
    	{
    		XBYTE[DAC] = i;//下降沿
    		i--;
    	}while(i>0x00);
    }
    //方波
    void sq()
    {
    	XBYTE[DAC] = 0x00;//启动DAC
    	delay();
    	XBYTE[DAC] = 0xff;
    	delay(); 
    }
    //正弦波
    void sin()
    {
    	uchar i;
    	for(i=0;i<18;i++)
    	{
    		XBYTE[DAC] = SINTAB[i];//第一个1/4周期
    	}
    	for(i=18;i>0;i--)
    	{
    		XBYTE[DAC] = SINTAB[i];//第二个1/4周期
    	}
    	for(i=0;i<18;i++)
    	{
    		XBYTE[DAC] = ~SINTAB[i];//第三个1/4周期
    	}
    	for(i=18;i>0;i--)
    	{
    		XBYTE[DAC] = ~SINTAB[i];//第一个1/4周期
    	}
    }
    //主函数
    main()
    {
    	EX0=1;IT0=1;EA=1;
    	while(1)
    	{
    		if(KST==1)
    		{
    			st();
    		}
    		
    		if(KTRI==1)
    		{
    			tri();
    		}
    		
    		if(KSQ==1)
    		{
    			sq();
    		}
    		
    		if(KSIN==1)
    		{
    			sin();
    		}
    		
    	}
    }
    //中断服务
    int0() interrupt 0 using 1
    {
    	if(K1==0)  //判阶梯波键是否按下
    	{
    		Tbase = 0;
    		KST = 1;
    	}
    	if(K2==0)  //判三角波键是否按下
    	{
    		Tbase = 0;
    		KTRI = 1;
    	}
    	if(K3==0)  //判方波键是否按下
    	{
    		Tbase = 0;
    		KSQ = 1;
    	}
    	if(K4==0)  //判正弦波键是否按下
    	{
    		Tbase = 0;
    		KSIN = 1;
    	}
    }
    

    效果截图

    在这里插入图片描述

    展开全文
  • 简易波形发生器.pdf dac0832.c pulse.c dac0832.doc
  • 单片机课程相关资料\基于单片机和dac0832波形发生器.doc
  • 用 51 单片机和 DAC0832波形发生器

    千次阅读 2016-01-25 12:13:32
    用 51 单片机和 DAC0832波形发生器, LM324 放大怎么没有波形呢 ?题目链接:http://zhidao.baidu.com/question/1511036396193515260.html做而论道回答如下:(2015-01-24 09:27 提问者采纳)楼主的电路,给 LM324...


    用 51 单片机和 DAC0832 做波形发生器, LM324 放大怎么没有波形呢 ?


    题目链接:http://zhidao.baidu.com/question/1511036396193515260.html


    做而论道回答如下:(2015-01-24 09:27 提问者采纳)


    楼主的电路,给 LM324 仅加上了 +12V 的电源。

    LM324,可以单电源使用,也可以用正负双电源。

    对于本电路,希望它输出的是:0~-5V,这就必须给它加上正负双电源。

    只加上了正12V 的电源,它的输出,就只能是:0~+12V,它绝不可能输出负电压。

    按照楼主的电路,仅仅增加了负电源,执行程序后,截图如下:

    用 51 单片机和 DAC0832 做波形发生器 - 非著名博主 - 电子信息之一角

     (插图如果看不见,可以到题目链接去看。)


    图中,数字是100,输出电压是-1.953125V。显示,仅仅是两位小数。

    在程序中改变数字(0~255),输出电压也随之改变。

    周期性的改变,输出电压就可用示波器观察到。

    加上正负电源后的电路,做而论道以前是用过的。

    上大学时,学习单片机课程,用的实验箱,里面就是这个电路,几乎是一模一样的。

    用P0口当做数据总线、单缓冲、P2.X 的地址线路,用接插线自己随意连接、LM324 输出电压。

    做地址/数据总线时和做输入I/O口时,P0 口不用接上拉电阻。


    我们也是用汇编语言编程。

    输出单个的电压,用万用表测量,可以验证变换的公式;

    输出连续变化的电压,就用示波器观察,三角波、方波、正弦波,都看到过。


    展开全文
  • 该资源利用89C51和DAC0832设计完成了y=Cos(2x)+sin(3x)的波形产生,该思路可以产生任意波形
  • 51写的波形发生器仿真程序,里面有protues电路图和C语言程序,开关切换波形。含有正弦波、三角波、锯齿波、方波等波形、
  • 利用DAC0832做一个波形发生器,实现矩形波,三角波,方波,正弦波
  • 波形发生器的汇编程序和用proteus软件制作的原理图,其中原理图中的波形输出有点问题
  • dac0832信号发生器

    2016-01-15 12:27:17
    信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。目前使用的信号发生器大部分是利用分立元件组成的体积大,可靠性差,准确度低。课程设计需要各个波形的基本输出,这些波形的...
  • 51单片机_DAC0832_多波形发生器(汇编)(频率幅度可调)
  • 电赛题目 通过单片机产生4种波形 通过DAC0832转换lm358放大后 输出
  • 1.1DAC0832设计波形发生器的历史背景和意义 2 1.2DAC0832设计波形发生器的发展和现状 2 2.课题方案设计 3 2.1系统功能概述 3 2.2方案的提出及论证 3 方案一 3 方案二 3 方案三 4 方案四 4 3.系统硬件设计 4 3.1 ...
  • 单片机课设—波形发生器,波形可选择、幅值周期可编辑、含有lcd0832显示屏、led数码管、矩阵键盘输入。通过lcd12864显示屏显示当前状态,根据提示通过矩阵键盘输入波形类型、波形幅值周期等参数,通过led显示屏显示...
  • - 产生正弦波、方波、锯齿波、三角波四种波形; - 输出频率在100Hz~100kHz; - 输出正弦波信号的电压峰-峰值Vopp在0~5V内可调; 详情信息参考我的博客:...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 134
精华内容 53
关键字:

dac0832波形发生器