AD9833模块 高速DDS信号源 正弦波三角波方波信号发生器模块 SPI

该资料包含
AD9833 的原理图、PCB 源文件(AD 软件格式)、以及相关驱动程序。
了详细的原理说明以及注意事项;考虑周全的设计
优惠链接:
https://m.tb.cn/h.5AjMLlL?tk=DwTUWKObbGw CZ0002
相关程序
/*
*********************************************************************************************************
*    函 数 名: AD9833_WaveSeting
*    功能说明: 向SPI总线发送16个bit数据
*    形    参: 1.Freq: 频率值, 0.1 hz - 12Mhz
              2.Freq_SFR: 0 或 1
              3.WaveMode: TRI_WAVE(三角波),SIN_WAVE(正弦波),SQU_WAVE(方波)
              4.Phase : 波形的初相位
*    返 回 值: 无
*********************************************************************************************************
*/ 
void AD9833_WaveSeting(double Freq,unsigned int Freq_SFR,unsigned int WaveMode,unsigned int Phase )
{

        int frequence_LSB,frequence_MSB,Phs_data;
        double   frequence_mid,frequence_DATA;
        long int frequence_hex;

        /*********************************计算频率的16进制值***********************************/
        frequence_mid=268435456/25;//适合25M晶振
        //如果时钟频率不为25MHZ,修改该处的频率值,单位MHz ,AD9833最大支持25MHz
        frequence_DATA=Freq;
        frequence_DATA=frequence_DATA/1000000;
        frequence_DATA=frequence_DATA*frequence_mid;
        frequence_hex=frequence_DATA;  //这个frequence_hex的值是32位的一个很大的数字,需要拆分成两个14位进行处理;
        frequence_LSB=frequence_hex; //frequence_hex低16位送给frequence_LSB
        frequence_LSB=frequence_LSB&0x3fff;//去除最高两位,16位数换去掉高位后变成了14位
        frequence_MSB=frequence_hex>>14; //frequence_hex高16位送给frequence_HSB
        frequence_MSB=frequence_MSB&0x3fff;//去除最高两位,16位数换去掉高位后变成了14位

        Phs_data=Phase|0xC000;    //相位值
        AD9833_Write(0x0100); //复位AD9833,即RESET位为1
        AD9833_Write(0x2100); //选择数据一次写入,B28位和RESET位为1

        if(Freq_SFR==0)                  //把数据设置到设置频率寄存器0
        {
             frequence_LSB=frequence_LSB|0x4000;
             frequence_MSB=frequence_MSB|0x4000;
             //使用频率寄存器0输出波形
            AD9833_Write(frequence_LSB); //L14,选择频率寄存器0的低14位数据输入
            AD9833_Write(frequence_MSB); //H14 频率寄存器的高14位数据输入
            AD9833_Write(Phs_data);    //设置相位
            //AD9833_Write(0x2000); /**设置FSELECT位为0,芯片进入工作状态,频率寄存器0输出波形**/
        }
        if(Freq_SFR==1)                //把数据设置到设置频率寄存器1
        {
             frequence_LSB=frequence_LSB|0x8000;
             frequence_MSB=frequence_MSB|0x8000;
            //使用频率寄存器1输出波形
            AD9833_Write(frequence_LSB); //L14,选择频率寄存器1的低14位输入
            AD9833_Write(frequence_MSB); //H14 频率寄存器1为
            AD9833_Write(Phs_data);    //设置相位
            //AD9833_Write(0x2800); /**设置FSELECT位为0,设置FSELECT位为1,即使用频率寄存器1的值,芯片进入工作状态,频率寄存器1输出波形**/
        }

        if(WaveMode==TRI_WAVE) //输出三角波波形
             AD9833_Write(0x2002); 

方波波形
            AD9833_Write(0x2028); 
        if(WaveMode==SIN_WAVE)    //输出正弦波形
            AD9833_Write(0x2000); 

}


 

 如果链接都失效,闲鱼搜索名称:骏业日新科技。可获取。

同时里面有下面上百种电路模块pcb源文件和参考程序(知识产权是一次性的所以要收费,不强求,自愿购买,不愿意的直接跳过此文章,带来不便请谅解)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值