欢迎来到天天文库
浏览记录
ID:14424755
大小:324.00 KB
页数:7页
时间:2018-07-28
《基于ad9854的dds外围电路设计和程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、前段时间非常忙,AD9854这个芯片真是整的我头好疼,虽然在网上也查了大量的资料,不过关于AD9854使用的资料真是少之又少,无奈,只好自己去研究DATASHEET,好在终于实现了,并且通过调试,输出波形稳定!现在把我的设计法出来供大家使用参考。原理图和PCB图为AD9854外围电路!以下是AD9854的控制程序!//#include #include "sst89x5xxrd2.h"#include #define USE_KEY 0#define uchar unsignedchar#d
2、efine uint unsignedint#define schar signedchar#define sint signedint#define ulong unsignedlongint//须主程序定义的参数/sbit ADDR0 =P2^0; //sbit ADDR1 =P2^1; //sbit ADDR2 =P2^2; //sbit ADDR3 =P2^3; //sbit ADDR4 =P2^4; //sbit ADDR5
3、 =P2^5; ///sbit AD_FUD =P3^7; //UP_DATAsbit RUN =P3^2; sbit WR_LOW =P3^5; //WRsbit MASTER_RESET=P3^3; bitbdataF_Flag,OneSec_Flag,Re_Flag,P_Flag;//uchar SecOne; uchar Time_count; uchar AD_Addr; uchar dats;uchar TAB_Data[40];////初始化串口。配置定时器//
4、voidinitial_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;
5、//开启定时器0 ET0=1; //时钟0 ES =0; //开串口中断 EA=1; //使能所有中断}voidTimer0()interrupt1using3{ TH0=0xdc; //10毫秒 采用晶体11.0592 定时器0,方式1 TL0=0x00; SecOne++; if(SecOne>200) //计时1秒钟 { SecOne=0x00;
6、 OneSec_Flag=1; RUN=~RUN; }}//voidAD9854_delay(inttime) { inti; for(i=0;i7、>(Bits15,14don'tcare)Phase#1相位为0 TAB_Data[1]=0x00; //01HPhaseAdjustRegister#1<7:0>01H TAB_Data[2]=0x00; //02HPhaseAdjustRegister#2<13:8>(Bits15,14don'tcare)Phase#2相位为0 TAB_Data[3]=0x00; //03HPhaseAdjustRegister#1<7:0>03H //100M TAB_Data[4]=0X31; //FrequencyTuningWord1<47:408、>//623795E0184A TAB_Data[5]=0X1B; //FrequencyTuningWord1<39:32> TAB_Da
7、>(Bits15,14don'tcare)Phase#1相位为0 TAB_Data[1]=0x00; //01HPhaseAdjustRegister#1<7:0>01H TAB_Data[2]=0x00; //02HPhaseAdjustRegister#2<13:8>(Bits15,14don'tcare)Phase#2相位为0 TAB_Data[3]=0x00; //03HPhaseAdjustRegister#1<7:0>03H //100M TAB_Data[4]=0X31; //FrequencyTuningWord1<47:40
8、>//623795E0184A TAB_Data[5]=0X1B; //FrequencyTuningWord1<39:32> TAB_Da
此文档下载收益归作者所有