基于51单片机的波形发生器(初版)

一,芯片介绍
DAC0832是8位的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

  • D0~D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);

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

  • CS:片选信号输入线(选通数据锁存器),低电平有效;

  • WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;

  • XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;

  • WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。

  • IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;

  • IOUT2:电流输出端2,其值与IOUT1值之和为一常数;

  • RFB:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;

  • Vcc:电源输入端,Vcc的范围为+5V~+15V;

  • VREF:基准电压输入线,VREF的范围为-10V~+10V;

  • AGND:模拟信号地;

  • DGND:数字信号地。
    根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。

1、单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。

2、双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。

3、直通方式。直通方式是资料不经两级锁存器锁存,即 CS*,XFER* ,WR1* ,WR2* 均接地,ILE接高电平。此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换。

DAC0832引脚功能电路应用原理图DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。
(以上摘自百度)
二,功能实现
通过单片机查表方式输入相应的值到DAC0832中产生相应的波形,通过外接运放电路产生幅值可调的波形。(注:初版程序没有调节频率的功能)。

三,程序源码

#include "reg51.h"

#define uchar unsigned char
#define uint unsigned  int

sbit Key_Saw=P2^0;     //锯齿波按键.
sbit Key_Tran=P2^1;    //三角波按键.
sbit Key_Square=P2^2;  //方波按键.
sbit Key_Sin=P2^3;     //正弦波按键.

uchar KeyValue;
uchar KeyValue1;
uchar KeyValue2;
uchar KeyValue3;
uchar KeyValue4;

void delay(void);  //延时函数

/*
*	函数名称:延时
*	参数:	  无
*	返回值:  无
*/
void delay(void)
{
  uchar i;
  for(i=0;i<255;i++);
}

/*
*	函数名称:锯齿波
*	参数:	  无
*	返回值:  无
*/
void Sawtooth_Wave(void)   
{
	uchar temp;
	while(1)
	{
		if(KeyValue1==1)
		{
			for(temp=0;temp<255;temp++)
			P0=temp;
		}
		else break;
	}
}

四,仿真效果图
1,产生锯齿波
基于51单片机的波形发生器(初版)_第1张图片
2,产生方波
基于51单片机的波形发生器(初版)_第2张图片
3,产生三角波
基于51单片机的波形发生器(初版)_第3张图片
4,产生正弦波
基于51单片机的波形发生器(初版)_第4张图片
注:黄色波形DAC输出,红色波形经过放大后的波形。

你可能感兴趣的:(51单片机,波形发生器,DAC0832)