AD9850的问题 15

我在淘宝买了块ad9850的模块,用at89s52控制该模块,程序也是用的例程,为什么模块输出的方波频率跟程序中设定的频率一样,也很稳定,但是正弦波频率一直不稳定啊(输出... 我在淘宝买了块ad9850的模块,用at89s52控制该模块,程序也是用的例程,为什么模块输出的方波频率跟程序中设定的频率一样,也很稳定,但是正弦波频率一直不稳定啊(输出频率越高,波动范围越大)。
#include<reg52.h>
#include<intrins.h>
sbit ad9850_fq_up =P2^3; //P3.1口接ad9850的fq_up脚/PIN8
sbit ad9850_rest =P2^4; //P3.0口接ad9850的rest脚/PIN12
sbit ad9850_w_clk =P2^5; //P3.2口接ad9850的w_clk脚/PIN7
sbit ad9850_bit_data =P1^7; //P1.7口接ad9850的D7脚/PIN25
//***************************************************//
// ad9850复位程序(并口) //
//---------------------------------------------------//

void ad9850_reset()
{
ad9850_w_clk=0;
ad9850_fq_up=0;
//rest信号
ad9850_rest=0;
ad9850_rest=1;
ad9850_rest=0;
}
//***************************************************//
// 向ad9850中写命令与数据(并口) //
//---------------------------------------------------//
void ad9850_wr_parrel(unsigned char w0,double frequence)
{
unsigned char w;
long int y;
double x;
//计算频率的HEX值
x=4294967295/125;//适合125M晶振
//如果时钟频率不为125MHZ,修改该处的频率值,单位MHz !!!
frequence=frequence/1000000;
frequence=frequence*x;
y=frequence;
//写w0数据
w=w0;
P3=w; //w0
ad9850_w_clk=1;
ad9850_w_clk=0;
//写w1数据
w=(y>>24);
P3=w; //w1
ad9850_w_clk=1;
ad9850_w_clk=0;
//写w2数据
w=(y>>16);
P3=w; //w2
ad9850_w_clk=1;
ad9850_w_clk=0;
//写w3数据
w=(y>>8);
P3=w; //w3
ad9850_w_clk=1;
ad9850_w_clk=0;
//写w4数据
w=(y>>=0);
P3=w; //w4
ad9850_w_clk=1;
ad9850_w_clk=0;
//移入始能
ad9850_fq_up=1;
ad9850_fq_up=0;
}
void main()
{
ad9850_reset();
ad9850_wr_parrel(0x00,10000);
while(1)
{
}
}
展开
 我来答
文库用户用户名
2014-08-10
知道答主
回答量:15
采纳率:0%
帮助的人:6.2万
展开全部
AD9850的datasheet里有说明,AD9850可以输出的最大频率应该是你的板子上晶振频率的一半(原理是采样定理),并且在这个范围内,频率越大谐波越多,也就越不稳定的,你输出频率是多少啊,不要太大。AD9850方波的产生是通过比较器产生,将产生的正弦波幅值进行比较输出,产生的原理比较而言要简单,不出大问题,都是比较稳定的。
再者,晶振可能的干扰也会比较大的,你的晶振是125MHz的,频率比较大了,如果板子不是很好,隔离做的不好,干扰还是很大的

我之前用串口的方式也写过控制字,串口方式得到的结果比较好,你可以试试
微测检测5.10
2023-07-11 广告
IEC62133与en62133的区别如下:1. 认证机构不同:IEC62133是国际的标准,它以国际通用的标准进行生产;而en62133采用的是欧盟的标准,它使用欧盟的生产需求进行生产。2. 宗旨不同:IEC62133的宗旨是促进电气、电... 点击进入详情页
本回答由微测检测5.10提供
天命4s甦S
2014-06-05 · TA获得超过148个赞
知道答主
回答量:111
采纳率:0%
帮助的人:119万
展开全部
这很难吗?
频率又不高,但是你这个输出峰峰值10V是要恒定,还是怎么?
随便用一个运放都可以啊,同相放大器,或者反相放大器都可以的啊。
追问

这是AD9850的原理图,输出幅度没有要求,我直接把模块的正弦波输出接到示波器的。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式