AD9851程序及说明

上传人:cl****1 文档编号:504647349 上传时间:2022-09-12 格式:DOC 页数:7 大小:40.51KB
返回 下载 相关 举报
AD9851程序及说明_第1页
第1页 / 共7页
AD9851程序及说明_第2页
第2页 / 共7页
AD9851程序及说明_第3页
第3页 / 共7页
AD9851程序及说明_第4页
第4页 / 共7页
AD9851程序及说明_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《AD9851程序及说明》由会员分享,可在线阅读,更多相关《AD9851程序及说明(7页珍藏版)》请在金锄头文库上搜索。

1、AD9851工作前必须对其进行初始化,AD9851上电后默认为并行通信方式,如需采用串行通信方式,上电后应将AD9851的D7D0置为二进制数XXXXX011,紧接着依次往W_CLK和FQ_UD端输入宽度约1S的高电平脉冲就可以使AD9851工作在串行模式下。 基于51和AVR的串并行驱动分别如下,程序中用到一个约1uS的延时delay_us();,请自行定义。/AVR并行驱动,数据输出口用PA口,控制线放在PC口/端口定义#defineclk0#definefq_ud1#definerst2unsigned char phase_word=0x00;/相位控制字,使用低5位unsigned

2、char power_down=0x00;/低功耗模式unsigned char mult=0x01;/6倍频是否打开unsigned char ww5=0x09,0x0E,0x38,0xE3,0x8E;unsigned long freq,set_value;/往AD9851写数据void write_dds(unsigned long dds)unsigned char i;ww0=0x01;/开启6倍频功能ww0= (phase_word3)| power_down24;/频率字最高字节ww2=(dds16)&0xFF;ww3=(dds8)&0xFF;ww4=dds&0xFF; /频率字

3、最低字节PORTC&=(1fq_ud);/FQ_UD置低PORTC&=(1clk);/CLK置低for(i=0;i5;i+)/送入5个字节的控制字PORTA=wwi;delay_us(2);PORTC|=(1clk);delay_us(2);PORTC&=(1clk);delay_us(2);PORTC|=(1fq_ud);/使能信号delay_us(3);PORTC&=(1fq_ud); /写入频率void write_freq(unsigned long freq)unsigned long dds;dds=23.860929422*freq;/频率字计算,可进行微调write_dds(d

4、ds);void init_dds(void)PORTC|=(1rst); /高电平复位delay_us(10000);/延时10mSPORTC&=(1rst);delay_us(10000);/延时10mS/51并行驱动,数据输出口用PA口,控制线放在PC口/端口定义sbit clk=P20;sbit fq_ud=P21;sbit rst=P22;unsigned char phase_word=0x00;/相位控制字,使用低5位unsigned char power_down=0x00;/低功耗模式unsigned char mult=0x01;/6倍频是否打开unsigned char

5、ww5=0x09,0x0E,0x38,0xE3,0x8E;unsigned long freq,set_value;/往AD9851写数据void write_dds(unsigned long dds)unsigned char i;/控制字ww0= (phase_word3)| power_down24;/频率字最高字节ww2=(dds16)&0xFF;ww3=(dds8)&0xFF;ww4=dds&0xFF; /频率字最低字节fq_ud=0;/FQ_UD置低clk=0;/CLK置低for(i=0;i5;i+)/送入5个字节的控制字P0=wwi;delay_us(2);clk=1;dela

6、y_us(2);clk=0;delay_us(2);fq_ud=1;/使能信号delay_us(3);fq_ud=0; /写入频率void write_freq(unsigned long freq)unsigned long dds;dds=23.860929422*freq;/频率字计算,可进行微调write_dds(dds);void init_dds(void)rst=1;/高电平复位delay_us(10000);/延时10mSrst=0;delay_us(10000);/延时10mS/AVR串行驱动,数据输出口用PA口,控制线放在PC口/端口定义#defineclk0#define

7、fq_ud1#definerst2#define dat3unsigned char phase_word=0x00;/相位控制字,使用低5位unsigned char power_down=0x00;/低功耗模式unsigned char mult=0x01;/6倍频是否打开unsigned char ww5=0x09,0x0E,0x38,0xE3,0x8E;unsigned long freq,set_value;/AD9851初始化,在此之前请确认D0,D1和D2的电平状态void init_dds(void) PORTC|=(1rst); /高电平复位delay_us(10000);/

8、延时10mSPORTC&=(1rst);delay_us(10000);/延时10mSPORTC&=(1clk);PORTC&=(1fq_ud);delay_us(2);PORTC|=(1clk); /送入W0delay_us(2);PORTC&=(1clk);delay_us(2);PORTC|=(1fq_ud);/使能delay_us(2);PORTC&=(18)&0xFF;ww2=(dds16)&0xFF;ww3=dds24;/频率字最高字节ww4= (phase_word3)| power_down2 | mult; /控制字PORTC&=(1fq_ud);/FQ_UD置低PORTC&

9、=(1clk);/CLK置低for(i=0;i5;i+)/送入5个字节的控制字temp=wwi;for(j=0;j8;j+)PORTC&=(1clk);if(temp&0x01)PORTC|=(1dat);else PORTC&=(1dat);delay_us(2);PORTC|=(1=1;PORTC&=(1clk);PORTC|=(1fq_ud);/使能信号delay_us(3);PORTC&=(18)&0xFF;ww2=(dds16)&0xFF;ww3=dds24;/频率字最高字节ww4= (phase_word3)| power_down2 | mult; /控制字fq_ud=0;/FQ_UD置低clk=0;/CLK置低for(i=0;i5;i+)/送入5个字节的控制字temp=wwi;for(j=0;j=1;clk=0;fq_ud=1;/使能信号delay_us(3);fq_ud=0;/写入频率void write_freq(unsigned long freq)unsigned long dds;dds=23.860929422*freq;/频

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号