单片机与DAC0832设计一个低频信号发生器,能产生正弦波方波锯齿波三角波。波形按键选择,频率幅度可调。

急需,先感谢您啦!

//0832各种波型输出演示
//P1.1P1.0 = 00时 正弦波
//P1.1P1.0 = 01时 锯齿波
//P1.1P1.0 = 10时 方波
//P1.1P1.0 = 11时 三角波
//需要连接的导线:
//(1)译码器Y0接DAC0832的CS
//(2)P3.6即XWR插孔接DAC0832的WR
//(3)8芯的排线连接8排针的P0口和DAC0832的D7-D0
//(4)串并转换区的+5v接DAC0832的参考电压Vref插孔
#include <reg51.h>
#include <ABSACC.H>//absacc.h是C51中绝对地址访问函数的头文件
#define daport XBYTE[0x8000]//将daport定义为外部I/O口,地址为8000H,则74ls138的Y0有效
sbit P1_1=P1^1;
sbit P1_0=P1^0;
unsigned char i,j,k; bit updown; //三角波的上升/下降
unsigned char code sinn[64]={
198,204,210,216,222,228,233,237,242,245,249,251,253,255,255,255,
255,254,252,250,247,243,239,235,230,224,219,213,207,201,194,188,
181,175,169,163,158,152,147,143,139,136,133,131,129,128,128,128,
129,130,132,135,138,142,146,151,156,162,168,174,180,186,193,199
}; //正弦的数值在128-255之间,所以输出的正弦幅值在0-5v
void main(void)
{
updown=0;
i=128;
j=0;
while(1)
{
if (P1_1==1)
{
if (P1_0==0) //输出占空比为25%的方波
{
if (j<=40) i=255;//i=255时输出的电压为+5v
else if(j<=160) i=0;//i=0时输出的电压为-5v
else j=0;
}
else //输出-5v—+5v的三角波
{
if (updown==0) //上升
{
if (i==255) updown=1;
else i=i+5;//i++;
}
else //下降
{
if (i==0) updown=0;//if(i==128) updown=0;i=128输出的电压为0
else i=i-5;//i--;
}
}
}
else{
if (P1_0==0) //正弦波
{
i=sinn[j];
if (j>=63) j=0;
}
else //锯齿波
{
if (i==255) i=128;
else i++;
}
}
daport=i;
for (k=0;k<2;k++);
j++;
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

51 单片机和DAC0832输出方波、矩形波和正弦波由液晶1602显示的C语言程 ...
uchar judge=1; \/\/在方波输出函数中用于简单判别作用 uchar waveform; \/\/当其为0、1、2时,分别代表三种波 uchar code freq_unit[3]={10,50,200}; \/\/三种波的频率单位 uchar idata wavefreq[3]={1,1,1}; \/\/给每种波定义一个数组单元,用于存放单位频率的个数 uchar code lcd...

51单片机和DAC0832制作可调频的信号发生器
256个点,DAC0832速率为1us左右,理论上频率可以达到1M\/256=3906HZ。但实际上受器件影响,不一定达到这么高的频率。不过由于你用的是51单片机,12T的模式,执行指令的速率非常低,所以真正影响频率的首先不是DAC0832,而是单片机。因相对于DAC0832的速率,单片机的速率慢了很多,所以单片机的速率是跟不上DAC0...

用两片DAC0832和单片机实现信号发生器,如何搭接电路
采用一片AT89C51单片机和两片DAC0832数模转换器组成数字式低频信号发生器,它具有价格低、性能高和在低频范围内稳定性好、操作方便、体积小、耗电少等特点。信号发生器采用数字波形合成技术通过硬件电路和软件程序相结合可输出自定义波形如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度...

...低频函数信号发生器,能产生方波、正弦波、三角波等信号波形的硬件图...
本次课程设计使用的AT89S51 单片机构成的发生器可产生锯齿波、三角波、正弦波等多种波形,波形的周期可以用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑等优点。在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示...

DAC0832+单片机输出正弦波频率最大值问题
DAC0832转换时间为1uS。采用单片机控制的话,转换速度已经够快了,采用查表法输出,假设单片机主频为1MHz(传统51,晶振12MHz为例),那么,采用汇编语言的话,效率较高的话,输出一个数据点大约需要20uS。假设一个周期输出64个数据点,大约1280uS,大约可输出1kHz的频率。如果采用较高速度单片机(如AVR...

低频信号发生器的主要用途?
低频信号发生器采用单片机波形合成发生器产生高精度,低失真的正弦波电压,可用于校验频率继电器,同步继电器等,也可作为低频变频电源使用。以单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波及其他任意波形。...

怎样使用DAC0832输出锯齿波
和51单片机相连接最容易了,然后通过编程就可以输出锯齿波,而且方波和三角波都可以输出

寻求一篇数学专业关于点集拓扑的大学毕业论文,题目“连续映射的等价条件...
按其不同性能和用途还可细分为低频(20赫至10兆赫)信号发生器、高频(100千赫至300兆赫)信号发生器、微波信号发生器、扫频和程控信号发生器、频率合成式信号发生器等。②函数(波形)信号发生器。能产生某些特定的周期性时间函数波形(正弦波、方波、三角波、锯齿波和脉冲波等)信号,频率范围可从几个微赫到几十兆赫。

低频信号发生器的输出电压常常可以分为什么调节和什么调节
低频信号发生器的输出电压常常可以分为【连续】调节和【步进】调节

低频信号发生器使用方法一学就会
以单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波及其他任意波形。波形的频率和幅度在一定范围内可任意改变。介绍了波形的生成原理、硬件电路和软件部分的设计原理。介绍了单片机控制D\/A转换器产生上述信号...

相似回答