打印

AD9851程序,求高人指教

[复制链接]
1918|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#include<reg51.h> //头文件
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long int
#define AD9851_DATA P1
//定义AD9851和51的接口 8
sbit W_CLK=P2^4;
sbit FQ_UD=P2^3;
sbit RESET=P2^2;
double Fm=0;
uchar tab[]={0x01,0x00,0x0,0x00,0x00};
//tab[0]为相位和频率设置单元,此处初始相位设置为零,开倍频30M*6=180M系

void delay(uint i)
{
    while(i--);
}
void delay_long(uint x)
{
    uint y,z;
    for(y=0;y<1000;y++)
    {
        for(z=0;z<x;z++) ;
    }
}
//分32位数据分解为4个字节存于tab[]数组的后四个单元,tab[0]为相位和频率的

void change(double f)
{
    ulong num;
    Fm=1073741824/45.0f*f;      //误差40000000H,整
    num=(ulong)Fm;
    tab[1]=(char)(num>>24);
    tab[2]=(char)(num>>16)&0xff;
    tab[3]=(char)(num>>8)&0xff;
    tab[4]=(char)num&0xff;
}
void init()
{
    FQ_UD=0;
    delay(1);
    W_CLK=0;
    delay(1);
    RESET=1;
    delay(10);
    RESET=0;
    delay(1);
}
void write_data(double frq)
{
    uchar i;
    change(frq);
    for(i=0;i<5;i++)
    {
        W_CLK=0;
        delay(1);  
        P1=tab[i];
        W_CLK=1;
    }
    FQ_UD=1;
    delay(1);
    FQ_UD=0;
    delay(1);
}
void main()
{
    init(); //ad9851初始化
    write_data(0.001);
//此处为频率设置,当前频率为(double类型)10MHz。如有误差,自己加补偿。
     while(1);
}


正弦波小于1MHZ以下时(实则5Mhz就开始有失真现象),输出波形就失真,上半周期还行,下半周期很尖(越小越是尖)。波形是直接从AD9851,21脚测得。不知道什么原因,请高人指教,不甚感激!!!





}

相关帖子

沙发
shell.albert| | 2012-7-9 21:23 | 只看该作者
第一:把你的电路原理图上传上来!
第二:把你的示波器抓图上来!

使用特权

评论回复
板凳
coody| | 2012-7-9 22:36 | 只看该作者
失真,如果频率正确,应该是硬件引起

使用特权

评论回复
地板
wlf464842650|  楼主 | 2012-7-10 14:08 | 只看该作者

使用特权

评论回复
5
wlf464842650|  楼主 | 2012-7-10 14:10 | 只看该作者

IMG_20120710_140823.jpg (521.51 KB )

IMG_20120710_140823.jpg

使用特权

评论回复
6
wlf464842650|  楼主 | 2012-7-10 14:11 | 只看该作者
大虾,指点指点

使用特权

评论回复
7
wlf464842650|  楼主 | 2012-7-10 17:50 | 只看该作者
3# coody 原理图如下,求大虾看看,,指点

使用特权

评论回复
8
wlf464842650|  楼主 | 2012-7-10 17:51 | 只看该作者
2# shell.albert 原理图如下

使用特权

评论回复
9
wlf464842650|  楼主 | 2012-7-11 10:44 | 只看该作者
求大仙,求大神

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

25

帖子

0

粉丝