请问DDS芯片AD9850能直接输出三角波和锯齿波吗?需要加什么外围电路吗...
直接只能产生正弦波,通过内部比较器能产生方波,再处理能产生三角波。
还有的DDS就像AD9850/AD9851那样,只能输出正弦波和方波,三角波需要外围电路。
用DDS方法去产生你需要的任意波形,比如AD9850,单片机控制其产生正弦波或者锯齿波,频率可以任意调整。
单片机控制部分包括键盘显示电路以及频率合成部分的接口电路。产生的正弦波或者方波的频率以及需要实现的功能信息从键盘键入,同时由显示器显示。频率合成以及各功能实现部分由DDS芯片AD9850及其外围电方波的产生输出。
用外设写三角波形.更改rom表意思是,把原来rom区内正弦表采样波形,改存成三角波的取样波形,但这个芯片rom好像不能改,这就不行了。还可以试试用ad9852输出方波,后加模拟的积分电路输出成三角波。
如果想要将三角波转换为锯齿波,则需要采用比较器将三角波信号与一个可变阈值进行比较,并输出相应的脉冲信号。输出的脉冲信号的宽度与三角波信号的斜率有关,从而形成锯齿波形。
产生三角波数据值的C程序,
如果是普通的51单片机是做不到的,要想得到三角波通常都是在内部用程序周期的产生三角波形的数据,把数据送入DA中产生的。
三角波 w1=w2, 锯齿波 w1 != w程序没有考虑时间 宽度w1=0 或 w2 =0,如果等于0,请给一个非0值,例如 0.000000脉冲方波,请自己模仿三角波程序计算。
define DAdata P0//DA数据端口 可以产生弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率(最大790HZ)和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
用定时器来实现吧,三角波其实也可以用积分器实现。
at89c52产生三角波,锯齿波,方波,要求用c语言写,芯片是D0832
#define DAdata P0//DA数据端口 可以产生弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率(最大790HZ)和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。
如下图所示,红色的是正弦波,因周期大,显示不完全。
,可以通过先配置一个管脚为输出,然后给这个管脚写0,输出就为低电平,然后写1,这个管脚就输出为高电平。如果你的单片机是3v供电的话,那么高电平一般为3V,低电平一般为0v。
在8086系统中用DAC0832输出一个三角波,一个梯形波,和一个正弦波。_百度...
1、产生三角波形 将线性增长段和线性下降段结合起来,便可产生三角波形。
2、首先需要建立一个产生三角波、方波和正弦波的波表,然后定时将波表里的数据通过端口刷新至dac0832,然后0832的模拟输出端口即可输出想要的波形,通过控制波表数值的刷新频率即可调整输出频率。
3、单片机和DAC0832控制输出方波,锯齿波,三角波,正弦波。
在数据采集卡中用c语言实现三角波函数
1、#define uint unsigned int #define DAdata P0//DA数据端口 可以产生弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率(最大790HZ)和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
2、请注意,在 C 语言中,三角函数的参数以弧度为单位。因此,在计算函数之前,必须将角度转换为弧度。
3、然后一般常用的sin(x)cos(x)tan(x)其中的x必须要以弧度为单位。
4、使用数学头文件math.h,里面有你需要的三角函数,不过要注意使用的角度都是以弧度为单位的。
5、int T=1000;主要算法:double time=(1/fs)/T;double d[1000];for(int i=1;i=1000;i++){ time*=i;d[i]=sin(2*PI*fs*time);} 把fs换成f0就可得第二个波形数组。
还没有评论,来说两句吧...