《AD9851模块使用说明.docx》由会员分享,可在线阅读,更多相关《AD9851模块使用说明.docx(5页珍藏版)》请在三一办公上搜索。
1、AD9851模块使用说明DDS模块使用说明书 目录 1、DDS模块实物图2 2、DDS模块管脚定义2 3、与单片机的硬件连接及程序3 4、与单片机的硬件连接及程序4 5、DDS模块方波的产生6 6、输出频率特性 7 1 1、DDS模块实物图 DDS模块实物图 该模块系统时钟频率为30MHZ,内部6倍频后时钟可达180MHZ。支持串行和并行送控制字方式。最大不失真输出频率可以达70MHZ 2、各管脚定义 CLK:系统时钟频率输出 RESET:控制DDS内部DAC的输出电流 Q0A:内部高速比较器的正相输出端 Q0B:内部高速比较器的反相输出端 VIP:内部高速比较器的同相输入端 VIN:内部高速
2、比较器的反相输入端 F0:频率输出端 GND:输入电源地 VDD:输入电源正极 RST:AD9851复位端 FQUP:数据更新位 WCLK:时钟输入端 D0:数据输入端 D1:数据输入端 D2:数据输入端 D3:数据输入端 D4:数据输入端 D5:数据输入端 D6:数据输入端 D7:数据输入端 2 3、与单片机的硬件连接及程序 串行读写程序:该程序实现的是固定频点的输出1KHZ #include #include sbit FQ_QD_AD9851 = P10; sbit CLK_AD9851 = P11; sbit DataIn_AD9851 = P12; sbit RST_AD9851 =
3、 P13; unsigned long int freq = 0; /unsigned char Control_AD9851 = 0x09; / Phase0 ,power down mode and 6 REFCLK Multiplier enable /unsigned char Control_AD9851 = 0x00; / Phase0 ,power on mode and 6 REFCLK Multiplier disable unsigned char Control_AD9851 = 0x01; / Phase0 ,power on mode and 6 REFCLK Mul
4、tiplier enable void SentFreq unsigned char i; unsigned int temp; FQ_QD_AD9851=0; for(i=0;i i ) & 1 ); DataIn_AD9851 = temp; CLK_AD9851 = 1; for(i=0;i i ) & 1 ); DataIn_AD9851 = temp; CLK_AD9851 = 1; CLK_AD9851 = 0; FQ_QD_AD9851 = 1; FQ_QD_AD9851 = 0; void Set_Freq(unsigned long int Freqency) freq= (
5、unsigned long int)(23.861*Freqency); / SYSCLK = 180 232/180000000=23.861 SentFreq; void main RST_AD9851=1;/复位AD9851 RST_AD9851=1; RST_AD9851=0; Set_Freq(1000);(如果单独执行,最好送两次频率控制字较为稳定) Set_Freq(1000); while(1) Set_Freq(1000);/输出1KHZ 4、与单片机的硬件连接图 MHz 4 并行读写程序:该程序实现的是固定频点的输出1KHZ #include #include sbit F
6、Q_UD_AD9851=P10;/定义I0口 sbit CLK_AD9851=P11; sbit RST_AD9851= P12; unsigned long int freq = 0; /unsigned char Control_AD9851 = 0x09; / Phase0 ,power down mode and 6 REFCLK Multiplier enable /unsigned char Control_AD9851 = 0x00; / Phase0 ,power on REFCLK Multiplier disable unsigned char Control_AD9851
7、 = 0x01; / Phase0 ,power on REFCLK Multiplier enable unsigned char W1=0X0e; unsigned char W2=0X38; unsigned char W3=0Xe3; unsigned char W4=0X8e; void Parallel2Serial_AD9851(void)/并行写入控制字 FQ_UD_AD9851=0; CLK_AD9851=0; P0=Control_AD9851; CLK_AD9851=1; CLK_AD9851=0; P0=W1; CLK_AD9851=1; CLK_AD9851=0; P
8、0=W2; CLK_AD9851=1; CLK_AD9851=0; P0=W3; CLK_AD9851=1; CLK_AD9851=0; P0=W4; CLK_AD9851=1; CLK_AD9851=0; FQ_UD_AD9851=1; FQ_UD_AD9851=0; mode and 6 mode and 6 5 void Set_Freq(float Freqency)/计算输出频率 freq= (unsigned long int)(23.861*Freqency); / SYSCLK = 180 MHz W4=(unsigned char)freq&0xff; freq=freq8;
9、 W3=(unsigned char)freq&0xff; freq=freq8; W2=(unsigned char)freq&0xff; freq=freq8; W1=(unsigned char)freq&0xff; Parallel2Serial_AD9851; void main(void) RST_AD9851=1;/复位模块电路 RST_AD9851=1; RST_AD9851=0; while(1) Set_Freq(1000);/输出1KHZ频率 5、DDS模块方波的产生 利用AD9851内部高速比较器产生方波,实现电路如下: 6 6、输出频率特性 10MHZ输出 30MHZ输出 7 60MHZ输出 70MHZ输出 8 80MHZ输出 9