AD9854资料,要的敢块来
AD9854资料,要的敢块来http://item.taobao.com/item.htm?spm=a1z10.3.w1017-1528017012.10.oqPaqM&id=27192740558& 给力,/====================================================================================
//函数名称:void AD9854_Init(void)
//函数功能:AD9854初始化
//入口参数:无
//出口参数:无
//====================================================================================
void AD9854_Init(void)
{
AD9854_WR=1;//将读、写控制端口设为无效
AD9854_RD=1;
AD9854_UDCLK=0;
AD9854_RST=1; //复位AD9854
AD9854_RST=0;
AD9854_WR_Byte(0x1d,0x10); //关闭比较器
AD9854_WR_Byte(0x1e,CLK_Set); //设置系统时钟倍频
AD9854_WR_Byte(0x1f,0x00); //设置系统为模式0,由外部更新
AD9854_WR_Byte(0x20,0x60); //设置为可调节幅度,取消插值补偿
AD9854_UDCLK=1; //更新AD9854输出
AD9854_UDCLK=0;
}
//====================================================================================
//函数名称:void Freq_convert(long Freq)
//函数功能:正弦信号频率数据转换
//入口参数:Freq 需要转换的频率,取值从0~SYSCLK/2
//出口参数:无 但是影响全局变量FreqWord的值
//说明: 该算法位多字节相乘算法,有公式FTW = (Desired Output Frequency × 2N)/SYSCLK
// 得到该算法,其中N=48,Desired Output Frequency 为所需要的频率,即Freq,SYSCLK
// 为可编程的系统时钟,FTW为48Bit的频率控制字,即FreqWord
//====================================================================================
void Freq_convert(long Freq)
{
ulong FreqBuf;
ulong Temp=Freq_mult_ulong;
uchar Array_Freq; //将输入频率因子分为四个字节
Array_Freq=(uchar)Freq;
Array_Freq=(uchar)(Freq>>8);
Array_Freq=(uchar)(Freq>>16);
Array_Freq=(uchar)(Freq>>24);
FreqBuf=Temp*Array_Freq;
FreqWord=FreqBuf;
FreqBuf>>=8;
FreqBuf+=(Temp*Array_Freq);
FreqWord=FreqBuf;
FreqBuf>>=8;
FreqBuf+=(Temp*Array_Freq);
FreqWord=FreqBuf;
FreqBuf>>=8;
FreqBuf+=(Temp*Array_Freq);
FreqWord=FreqBuf;
FreqBuf>>=8;
FreqWord=FreqBuf;
FreqWord=FreqBuf>>8;
}
//====================================================================================
//函数名称:void AD9854_SetSine(ulong Freq,uint Shape)
//函数功能:AD9854正弦波产生程序
//入口参数:Freq 频率设置,取值范围为0~(1/2)*SYSCLK
// Shape幅度设置. 为12 Bit,取值范围为(0~4095) ,取值越大,幅度越大
//出口参数:无
//====================================================================================
void AD9854_SetSine(ulong Freq,uint Shape)
{
uchar count;
uchar Adress;
Adress = 0x04; //选择频率控制字地址的初值
Freq_convert(Freq); //频率转换
for(count=6;count>0;) //写入6字节的频率控制字
{
AD9854_WR_Byte(Adress++,FreqWord[--count]);
}
AD9854_WR_Byte(0x21,Shape>>8); //设置I通道幅度
AD9854_WR_Byte(0x22,(uchar)(Shape&0xff));
AD9854_WR_Byte(0x23,Shape>>8); //设置Q通道幅度
AD9854_WR_Byte(0x24,(uchar)(Shape&0xff));
AD9854_UDCLK=1; //更新AD9854输出
AD9854_UDCLK=0;
}
//====================================================================================
//函数名称:void Freq_doublt_convert(double Freq)
//函数功能:正弦信号频率数据转换
//入口参数:Freq 需要转换的频率,取值从0~SYSCLK/2
//出口参数:无 但是影响全局变量FreqWord的值
//说明: 有公式FTW = (Desired Output Frequency × 2N)/SYSCLK得到该函数,
// 其中N=48,Desired Output Frequency 为所需要的频率,即Freq,SYSCLK
// 为可编程的系统时钟,F 做广告呢,,,, 原来是卖资料的 就几个寄存器而已,要是这样比赛还有毛意义! 哎,就是有些人在比赛期间炒作买东西,不知道群里面的资料怎么都成为了买东西的了。{:shocked:} 哎,就是有些人在比赛期间炒作买东西,不知道群里面的资料怎么都成为了买东西的了。{:shocked:} 看大家的评论。。。。。。我不想下载了。。。。。。 原来是………… {:curse:}我无语了! 真是越来越多的无良商家了 额~~~~~~~~~~~~~~~~~~~~~~~~ 最新9854 DDS模块增加美观实用的散热片,新增2013年全国大学生电子竞赛E题正交扫频源完整例程(可实现题目1~40M扫频功能,并可以通过按键和液晶屏设置和显示扫频参数)。
详情请见:http://item.taobao.com/item.htm?id=8643082098
页:
[1]