教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

基于AD9854的DDS外围电路设计和程序 - 图文

来源:网络收集 时间:2026-08-30
导读: 前段时间非常忙,AD9854这个芯片真是整的我头好疼,虽然在网上也查了大量的资料,不过关于AD9854使用的资料真是少之又少,无奈,只好自己去研究DATASHEET,好在终于实现了,并且通过调试,输出波形稳定!现在把我的设计法出来供大家使用参考。原理图和PCB图

前段时间非常忙,AD9854这个芯片真是整的我头好疼,虽然在网上也查了大量的资料,不过关于AD9854使用的资料真是少之又少,无奈,只好自己去研究DATASHEET,好在终于实现了,并且通过调试,输出波形稳定!现在把我的设计法出来供大家使用参考。原理图和PCB图为AD9854外围电路!

以下是AD9854的控制程序!

//#include #include \#include #define USE_KEY 0

#define uchar unsigned char

#define uint unsigned int #define schar signed char #define sint signed int

#define ulong unsigned long int //须主程序定义的参数 /

sbit ADDR0 =P2^0; // sbit ADDR1 =P2^1; // sbit ADDR2 =P2^2; // sbit ADDR3 =P2^3; // sbit ADDR4 =P2^4; // sbit ADDR5 =P2^5; // /

sbit AD_FUD =P3^7; //UP_DATA sbit RUN =P3^2;

sbit WR_LOW =P3^5; // WR sbit MASTER_RESET=P3^3;

bit bdata F_Flag,OneSec_Flag,Re_Flag,P_Flag; //

uchar SecOne; uchar Time_count; uchar AD_Addr; uchar dats;

uchar TAB_Data[40]; //

//初始化串口。配置定时器 // void

initial_system() {

EA = 0;

TMOD=0x21; //初始化定时器0 PCON=0x00; SCON=0x50;

TH0 = 0xdc; //10毫秒定时, 采用晶体11.0592 定时器0,方式1 TL0 = 0x00;

TH1 = 0xfd; //波特率9600 采用晶体11.0592 定时器1,方式1 TL1 = 0xfd;

TR0 =1; //开启定时器0 TR1 =1; //开启定时器0 ET0 =1; //时钟0

ES =0; //开串口中断 EA = 1 ; // 使能所有中断 }

void Timer0() interrupt 1 using 3 {

TH0 = 0xdc; //10毫秒 采用晶体11.0592 定时器0,方式1 TL0 = 0x00; SecOne++;

if(SecOne>200) //计时1秒钟 {

SecOne=0x00; OneSec_Flag=1; RUN=~RUN; } } //

void AD9854_delay(int time) {

int i;

for(i = 0; i < time; i++) {

_nop_(); _nop_(); _nop_(); _nop_(); } }

void TAB_DataWord() {

TAB_Data[0]=0x00; //00H Phase Adjust Register #1 <13:8> (Bits 15, 14 don't care) Phase #1 相位为0

TAB_Data[1]=0x00; //01H Phase Adjust Register #1 <7:0> 01H

TAB_Data[2]=0x00; //02H Phase Adjust Register #2 <13:8> (Bits 15, 14 don't care) Phase #2 相位为0

TAB_Data[3]=0x00; //03H Phase Adjust Register #1 <7:0> 03H //100M

TAB_Data[4]=0X31; //Frequency Tuning Word 1 <47:40>//623795E0184A TAB_Data[5]=0X1B; //Frequency Tuning Word 1 <39:32> TAB_Data[6]=0xE6; //Frequency Tuning Word 1 <31:24> TAB_Data[7]=0xE6; //Frequency Tuning Word 1 <23:16> TAB_Data[8]=0x53; //Frequency Tuning Word 1 <15:8> TAB_Data[9]=0x86; //Frequency Tuning Word 1 <7:0> //FTW2

TAB_Data[10]=0x31; //Frequency Tuning Word 2 <47:40

TAB_Data[11]=0x1B; //Frequency Tuning Word 2 <39:32> TAB_Data[12]=0xE6; //Frequency Tuning Word 2 <31:24> TAB_Data[13]=0xE6; //Frequency Tuning Word 2 <23:16> TAB_Data[14]=0x53; //Frequency Tuning Word 2 <15:8>

TAB_Data[15]=0x86; //Frequency Tuning Word 2 <7:0> //500KHZ //FTW

TAB_Data[16]=0x01; //Delta Frequency Word <47:40> TAB_Data[17]=0x47; //Delta Frequency Word <39:32> TAB_Data[18]=0xAE; //Delta Frequency Word <31:24> TAB_Data[19]=0x14; //Delta Frequency Word <23:16> TAB_Data[20]=0x7A; //Delta Frequency Word <15:8>

TAB_Data[21]=0xE1; //Delta Frequency Word <7:0> 三角波 //频率为0 //Upclok

TAB_Data[22]=0x00; //Update Clock <31:24> TAB_Data[23]=0x00; //Update Clock <23:16> TAB_Data[24]=0x00; //Update Clock <15:8>

TAB_Data[25]=0xF0; //Update Clock <7:0> //系统出现寄存器更新信号reg. Int Update Clk.=0;外部更新

TAB_Data[26]=0x00; //Ramp Rate Clock <19:16> (Bits 23, 22, 21, 20 don't care) TAB_Data[27]=0x00; //Ramp Rate Clock <15:8> TAB_Data[28]=0x00; //Ramp Rate Clock <7:0>

TAB_Data[29]=0x10; //Don't Care(0),Don't Care(0),Don't Care(0),Comp PD (1),Reserved_Always Low(0),QDAC PD(0),DAC PD(0),DIG PD(0).

TAB_Data[30]=0x20; //Don't Care(0),PLL Range(1),Bypass PLL(1),Ref Mult 4(0),Ref Mult 3(0),Ref Mult 2(0),Ref Mult 1(0),Ref Mult 0(0).

TAB_Data[31]=0x10; //CLR ACC1(0),CLR ACC2(0),Triangle(0)(三角波),SRC QDAC(0),Mode

2(0),Mode 1(0),Mode 0(0),Int Update Clk(0). 注意

TAB_Data[32]=0x50; //Don't Care(0),Bypass_Inv_Sinc(0),OSK EN(0),OSK INT(0),Don't Care(0),Don't Care(0),LSB First(0),SDO_Active(0).

TAB_Data[33]=0x00; //Output Shape Key I Mult <11:8> (Bits 15, 14, 13, 12 don't care)

TAB_Data[34]=0x0F; //Output Shape Key I Mult <7:0>

TAB_Data[35]=0x00; //Output Shape Key Q Mult <11:8> (Bits 15, 14, 13, 12 don't care)

TAB_Data[36]=0x0F; //Output Shape Key Q Mult <7:0> TAB_Data[37]=0xFF; //Output Shape Key Ramp Rate <7:0>

TAB_Data[38]=0x00; //QDAC <11:8> (Bits 15, 14, 13, 12 don't care)

TAB_Data[39]=0x0F; //QDAC <7:0> (Data is required to be in twos complement format) }

void AD9854_ParallelSendByte(uchar addr,uchar data1)

{

// WR_LOW=0; //lhyaddr WR_LOW=WRB _nop_();

P2=addr&0x3F; _nop_(); P1=data1;

WR_LOW=0; //lhyaddr WR_LOW=WRB _nop_();

WR_LOW=1; _nop_(); _nop_();

WR_LOW=0; //lhyaddr WR_LOW=WRB }

data0=*(SWord+i);

AD9854_ParallelSendByte(Special_addr,data0); AD9854_delay(5); } }

void Init9854(void) {

WR_LOW=0; AD_FUD=0;

MASTER_RESET=0; } //

void main(void) { uchar i;

MASTER_RESET=0;

initial_system(); //系统初始化 Init9854();

TAB_DataWord(); …… 此处隐藏:2344字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于AD9854的DDS外围电路设计和程序 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/596280.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)